From 024eb258812aaef736bd03544364ce0a6c7bf824 Mon Sep 17 00:00:00 2001 From: toy <toy> Date: Wed, 21 Aug 2002 18:21:12 +0000 Subject: [PATCH] Release notes for 18e from Eric Marsden. --- general-info/release-18e.txt | 114 +++++++++++++++++++++++++++++++++++ 1 file changed, 114 insertions(+) create mode 100644 general-info/release-18e.txt diff --git a/general-info/release-18e.txt b/general-info/release-18e.txt new file mode 100644 index 000000000..2d7c0a08a --- /dev/null +++ b/general-info/release-18e.txt @@ -0,0 +1,114 @@ +========================== C M U C L 18 e ============================= + +[--- WORK IN PROGRESS --- DO NOT DISTRIBUTE ---] + +The CMUCL project is pleased to announce the release of CMUCL 18e. +This is a major release which contains numerous enhancements and +bugfixes from the 18e release. + +CMUCL is a free, high performance implementation of the Common Lisp +programming language which runs on most major Unix platforms. It +mainly conforms to the ANSI Common Lisp standard. CMUCL provides a +sophisticated native code compiler; a powerful foreign function +interface; an implementation of CLOS, the Common Lisp Object System, +which includes multimethods and a metaobject protocol; a source-level +debugger and code profiler; and an Emacs-like editor implemented in +Common Lisp. CMUCL is maintained by a team of volunteers collaborating +over the Internet, and is mostly in the public domain. + +New in this release: + + * Feature enhancements: + + * Numerous ANSI compliance fixes: + - SYMBOL-MACROLET signals an error when an attempt is made to + bind a special variable or a constant + - WITH-OUTPUT-TO-STRING accepts the :external-format keyword + argument + - the function WRITE-STRING accepts a NIL value for the :end + argument + - the function CHANGE-CLASS now accepts initargs + - loops of the form (LOOP FOR I BY (INCF X) FROM ...) now work + - in loop forms, the INITIALLY, FINALLY and DO keywords must be + followed by a compound form + - in the loop macro, PRESENT-SYMBOL now means both internal and + external symbols of a package + - the class precedence list of NULL has symbol before list + - the function FLOAT-RADIX signals an error if its argument is + not a float + - an error is signaled if the lambda keyword &rest is not + followed by a variable + - the GENTEMP function no longer accepts arguments of type symbol + - the function SHIFTF supports multiple values + - compiler macros recognize calls of the form (funcall foo args) + - (coerce <rational> '(complex float)) now returns a (complex + float) rather than a rational + - the ECASE and CCASE macros are allowed to use T and OTHERWISE + as regular keys, instead of as the otherwise clause. CMUCL + prints a warning about this being poor style. + + * Numerous bugfixes: + - READ-BYTE on certain types of multi-byte elements was incorrect + - fix the treatment of colon package delimiters for the ~/ + formatting directive + - correction to CLX's handling of FamilyLocal authorization + cookies (as created by versions of ssh after 3.4) + - fix to CLX handling of :any event-spec ?? + - fix to boa-constructors ?? + - EXPT was not correctly handling a zero exponent + - index calculations for operations bitvectors of sizes near the + ARRAY-DIMENSION-LIMIT could overflow + - redefining a class with a changed class precedence list didn't + update the CMUCL type system + - generated CLOS getter/setter/boundp generic functions are now + declared correctly, to eliminate bogus undefined function + warnings from the compiler + - method combination options for the long form of the + DEFINE-METHOD-COMBINATION special form work correctly + - executing a defclass form with a metaclass of STRUCTURE-CLASS + would result in the generation of recursive print-object + methods, so that printing such instances would loop + - dividing a ration by zero returned 1/0 instead of signaling an + error + - PPRINT-LOGICAL-BLOCK with a numeric prefix no longer causes the + system to crash + - in the byte-compiler, string comparisons STRING< and STRING> + returned incorrect results + - the function READ-SEQUENCE returned incorrect results for + specialized arrays when the internal READ-N-BYTES function read + short + - when a sequence type specifies a length, CMUCL checks that the + length of sequence arguments match the length of the sequence type + - the function COMPILE-FILE-PATHNAME computes the output file + name by merging the input file name and the supplied output file name + - the functions MAKE-BROADCAST-STREAM, MAKE-TWO-WAY-STREAM, + MAKE-CONCATENATED-STREAM and MAKE-ECHO-STREAM check that their + argument is an input or output stream, as appropriate + - numerous error conditions are signalled using a more specific + condition type than a generic error + + * Other changes: + - the function PROFILE:REPORT-TIME no longer prints out a long + list of functions that were not profiled. The cutoff is + user-configurable by setting the new variable + PROFILE::*NO-CALLS-LIMIT*. + - reinstated the ability to build small runtime images (excluding + the compiler) + + * Code cleanups: + + * Changes to rebuilding procedure: + - the search-list "modules:" tracks the "library:" search-list, + instead of being set to whatever "library:subsystems/" is at + startup. + + +This release is not binary compatible with code compiled using CMUCL +18d; you will need to recompile FASL files. + +See <URL:http://www.cons.org/cmucl/> for download information, +guidelines on reporting bugs, and mailing list details. + + +We hope you enjoy using this release of CMUCL! + -- GitLab