ViewVC logotype

Contents of /src/general-info/release-18e.txt

Parent Directory Parent Directory | Revision Log Revision Log

Revision 1.2 - (show annotations)
Mon Aug 26 21:15:03 2002 UTC (11 years, 7 months ago) by toy
Branch: MAIN
Changes since 1.1: +12 -1 lines
File MIME type: text/plain
Update with recent changes.
1 ========================== C M U C L 18 e =============================
5 The CMUCL project is pleased to announce the release of CMUCL 18e.
6 This is a major release which contains numerous enhancements and
7 bugfixes from the 18d release.
9 CMUCL is a free, high performance implementation of the Common Lisp
10 programming language which runs on most major Unix platforms. It
11 mainly conforms to the ANSI Common Lisp standard. CMUCL provides a
12 sophisticated native code compiler; a powerful foreign function
13 interface; an implementation of CLOS, the Common Lisp Object System,
14 which includes multimethods and a metaobject protocol; a source-level
15 debugger and code profiler; and an Emacs-like editor implemented in
16 Common Lisp. CMUCL is maintained by a team of volunteers collaborating
17 over the Internet, and is mostly in the public domain.
19 New in this release:
21 * Feature enhancements:
23 * Numerous ANSI compliance fixes:
24 - SYMBOL-MACROLET signals an error when an attempt is made to
25 bind a special variable or a constant
26 - WITH-OUTPUT-TO-STRING accepts the :external-format keyword
27 argument
28 - the function WRITE-STRING accepts a NIL value for the :end
29 argument
30 - the function CHANGE-CLASS now accepts initargs
31 - loops of the form (LOOP FOR I BY (INCF X) FROM ...) now work
32 - in loop forms, the INITIALLY, FINALLY and DO keywords must be
33 followed by a compound form
34 - in the loop macro, PRESENT-SYMBOL now means both internal and
35 external symbols of a package
36 - the class precedence list of NULL has symbol before list
37 - the function FLOAT-RADIX signals an error if its argument is
38 not a float
39 - an error is signaled if the lambda keyword &rest is not
40 followed by a variable
41 - the GENTEMP function no longer accepts arguments of type symbol
42 - the function SHIFTF supports multiple values
43 - compiler macros recognize calls of the form (funcall foo args)
44 - (coerce <rational> '(complex float)) now returns a (complex
45 float) rather than a rational
46 - the ECASE and CCASE macros are allowed to use T and OTHERWISE
47 as regular keys, instead of as the otherwise clause. CMUCL
48 prints a warning about this being poor style.
49 - the type (complex (eql 0)) is accepted now instead of
50 generating an error.
52 * Numerous bugfixes:
53 - READ-BYTE on certain types of multi-byte elements was incorrect
54 - fix the treatment of colon package delimiters for the ~/
55 formatting directive
56 - correction to CLX's handling of FamilyLocal authorization
57 cookies (as created by versions of ssh after 3.4)
58 - fix to CLX handling of :any event-spec ??
59 - fix to boa-constructors ??
60 - EXPT was not correctly handling a zero exponent
61 - index calculations for operations bitvectors of sizes near the
62 ARRAY-DIMENSION-LIMIT could overflow
63 - redefining a class with a changed class precedence list didn't
64 update the CMUCL type system
65 - generated CLOS getter/setter/boundp generic functions are now
66 declared correctly, to eliminate bogus undefined function
67 warnings from the compiler
68 - method combination options for the long form of the
69 DEFINE-METHOD-COMBINATION special form work correctly
70 - executing a defclass form with a metaclass of STRUCTURE-CLASS
71 would result in the generation of recursive print-object
72 methods, so that printing such instances would loop
73 - dividing a ration by zero returned 1/0 instead of signaling an
74 error
75 - PPRINT-LOGICAL-BLOCK with a numeric prefix no longer causes the
76 system to crash
77 - in the byte-compiler, string comparisons STRING< and STRING>
78 returned incorrect results
79 - the function READ-SEQUENCE returned incorrect results for
80 specialized arrays when the internal READ-N-BYTES function read
81 short
82 - when a sequence type specifies a length, CMUCL checks that the
83 length of sequence arguments match the length of the sequence type
84 - the function COMPILE-FILE-PATHNAME computes the output file
85 name by merging the input file name and the supplied output file name
88 argument is an input or output stream, as appropriate
89 - numerous error conditions are signalled using a more specific
90 condition type than a generic error
91 - many (all?) cases where the unused labels functions were
92 causing a compiler assertion error.
93 - some cases where the compiler was incorrectly deriving the
94 types of functions have been fixed.
95 - error reporting in many areas have been improved to be more
96 specific and/or ANSI compliant.
97 - error detection of defclass options in line with ANSI
98 requirements.
100 * Other changes:
101 - the function PROFILE:REPORT-TIME no longer prints out a long
102 list of functions that were not profiled. The cutoff is
103 user-configurable by setting the new variable
105 - reinstated the ability to build small runtime images (excluding
106 the compiler)
107 - DESCRIBE will print a note if a symbol names a type-specifier
109 * Code cleanups:
111 * Changes to rebuilding procedure:
112 - the search-list "modules:" tracks the "library:" search-list,
113 instead of being set to whatever "library:subsystems/" is at
114 startup.
117 This release is not binary compatible with code compiled using CMUCL
118 18d; you will need to recompile FASL files.
120 See <URL:http://www.cons.org/cmucl/> for download information,
121 guidelines on reporting bugs, and mailing list details.
124 We hope you enjoy using this release of CMUCL!

  ViewVC Help
Powered by ViewVC 1.1.5