/[cmucl]/src/general-info/release-18e.txt
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
CVS Tags: LINKAGE_TABLE, PRE_LINKAGE_TABLE
Changes since 1.1: +12 -1 lines
File MIME type: text/plain
Update with recent changes.
1 ========================== C M U C L 18 e =============================
2
3 [--- WORK IN PROGRESS --- DO NOT DISTRIBUTE ---]
4
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.
8
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.
18
19 New in this release:
20
21 * Feature enhancements:
22
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.
51
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
86 - the functions MAKE-BROADCAST-STREAM, MAKE-TWO-WAY-STREAM,
87 MAKE-CONCATENATED-STREAM and MAKE-ECHO-STREAM check that their
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.
99
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
104 PROFILE::*NO-CALLS-LIMIT*.
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
108
109 * Code cleanups:
110
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.
115
116
117 This release is not binary compatible with code compiled using CMUCL
118 18d; you will need to recompile FASL files.
119
120 See <URL:http://www.cons.org/cmucl/> for download information,
121 guidelines on reporting bugs, and mailing list details.
122
123
124 We hope you enjoy using this release of CMUCL!
125

  ViewVC Help
Powered by ViewVC 1.1.5