Skip to content

Clasp v2.5.0

Compare
Choose a tag to compare
@yitzchak yitzchak released this 01 Jan 13:15
· 254 commits to main since this release
087eb99

Version 2.5.0 (LLVM15-17) 2024-01-01

Added

  • New module named "gray-streams" which makes it possible to
    initialize the Gray stream protocol without calls to internal
    functions.
  • New build mode :bytecode-faso which builds the kernel as native
    code (FASO) while the bytecode compiler is active.
  • Generic gray:stream-file-length which implements cl:file-length
    for Gray streams.
  • Generic versions of cl:pathname and cl:truename, both of which
    are available after the Gray stream modules is required.
  • Generic (setf gray:stream-element-type),
    gray:stream-external-format, and
    (setf gray:stream-external-format) for basic support of bivalent
    streams.
  • Generic gray:stream-file-string-length which implements
    cl:file-string-length for Gray streams.
  • The bytecode compiler warns about unused variables.

Changed

  • cl:format and pprint now respect the value returned by
    gray:stream-line-length.
  • cl:close now uses the :abort argument to decide what to do with
    the resulting file. If :abort is non-NIL and the file was created
    as a result of :if-does-not-exist :create then the file is
    deleted. If :abort is non-NIL, there was an existing file and
    :if-exists is either :supersede or :rename-and-delete then the
    original file is restored.

Removed

  • Obsolete :object, :ll, :bc, and :fasl build modes.

Fixed

  • cl:read-line so it correctly returns lines that end with EOF.
  • cl:read-byte so it respects the eof-error-p and eof-value
    arguments for Gray streams.