Scheme 48


Current release

Previous releases

R5RS

More code

Scheme links

Release notes for version 1.4

  • Additions:
    • Regexp? is now exported from the rexexps structure.
    • SRFIs 4, 39, 40, 43, 43, 60, 61, 63, 66, 67, 71, 78 (mostly thanks to David Van Horn)
    • In the command processor, switches were generalized to settings, specifically to customize various printing parameters. See the manual for details.
    • A generic byte-code parser was added to the system; the disassembler uses it.
    • A reinitializers for register actions to be performed after resuming an image was added.
    • A variable-arguments-lists structure implementing a macro for dealing with optional default parameters was added.
    • A get-interrupt-handler procedure was added.
    • An --enable-universal-binary option was added to configure to facilitate building universal binaries on Mac OS X. (thanks to Eric Knauel)
    • The C code now has access to enum sets.
  • Changes:
    • File-options (in the POSIX libary) are now enum sets; this allows using enum-set operations on them.
    • Various changes were made to the VM to enable native-code compilation.
    • Socket addresses are always reusable.
    • 1+ and 1- are no longer valid identifiers.
    • The ordering of in/out thunks of dynamic-wind was changed to be consistent with itself and with the upcoming R6RS.
    • The Windows build is now done using Visual Studio 2005.
  • Bug fixes:
    • Macro-defining macros now work in PreScheme.
    • Opening a file for both read and write via the POSIX libraries wouldn't work correctly. (Reported by Andreas Rottmann.)
    • PreScheme's copy-memory! now works for overlapping regions.
    • Various C compilation problems were fixed.
    • cmuscheme48.el should now work under GNU Emacs as well as XEmacs.
    • Numerous problems with floating-point arithmetic were fixed.
    • A race condition with queues was fixed. (thanks to David Frese)
    • Part of script messages were printed on stdout rather than stderr; fixed. (thanks to Andreas Rottmann)
    • A shadowing bug in the debugging package was fixed. (thanks to Taylor Campbell)
    • A bug in the CML sync-group primitive was fixed. (thanks to Heath Putnam)
    • Various errors in SRFI 13 were fixed.
    • A bug in the auto-integrator was fixed. (thanks to Taylor Campbell)
    • A bug in load-dynamic-externals was fixed. (thanks to Taylor Campbell)
    • Several bugs in vector-merge were fixed. (reported by Matthias Radestock)
    • The CML wrap was made correctly tail-recursive. (reported by Heath Putnam)
    • A bug in the PreScheme C backend, that would sometimes incorrectly delete tail calls without a return value, was fixed. (reported by Eric Merritt)
    • Several bugs in interface walking were fixed. (reported by Taylor Campbell)
    • A bug in the PreScheme compiler affecting the removal of unused procedures was fixed. (thanks to Eric Knauel)
    • Some precedence bugs in the C stubgs for the regexp code were fixed. (thanks to Matthew Dempsky)
    • A bug in the regexps package for regexps without submatches was fixed.
    • (set-current-proposal! (current-proposal)) no longer raises an exception. (thanks to Taylor Campbell)
    • A bug in package caching was fixed. (thanks to Taylor Campbell)
    • A bug in the generation of environment maps was fixed. (thanks to Taylor Campbell)
    • The Windows installer package should now work even on systems that have delayed variable expansion on by default. (thanks to Emilio Lopes)
    • Exception handlers that return from raise are now handled correctly. (reported by Norbert Freudemann)
Release notes for version 1.3.

Jump to top of page.