/[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.10 - (show annotations)
Fri Apr 11 15:17:45 2003 UTC (11 years ago) by pmai
Branch: MAIN
CVS Tags: sparc-tramp-assem-base, double-double-array-base, post-merge-intl-branch, release-19b-pre1, release-19b-pre2, merged-unicode-utf16-extfmt-2009-06-11, double-double-init-sparc-2, unicode-utf16-extfmt-2009-03-27, double-double-base, snapshot-2007-09, snapshot-2007-08, snapshot-2008-08, snapshot-2008-09, ppc_gencgc_snap_2006-01-06, sse2-packed-2008-11-12, snapshot-2008-05, snapshot-2008-06, snapshot-2008-07, snapshot-2007-05, snapshot-2008-01, snapshot-2008-02, snapshot-2008-03, intl-branch-working-2010-02-19-1000, snapshot-2006-11, snapshot-2006-10, double-double-init-sparc, snapshot-2006-12, unicode-string-buffer-impl-base, sse2-base, release-20b-pre1, release-20b-pre2, unicode-string-buffer-base, sse2-packed-base, sparc-tramp-assem-2010-07-19, amd64-dd-start, snapshot-2003-10, snapshot-2004-10, release-19f-pre1, snapshot-2008-12, snapshot-2008-11, intl-2-branch-base, snapshot-2004-08, snapshot-2004-09, remove_negative_zero_not_zero, snapshot-2007-01, snapshot-2007-02, snapshot-2004-05, snapshot-2004-06, snapshot-2004-07, release-19e, release-19d, GIT-CONVERSION, double-double-init-ppc, release-19c, dynamic-extent-base, unicode-utf16-sync-2008-12, release-19c-base, cross-sol-x86-merged, label-2009-03-16, release-19f-base, merge-sse2-packed, mod-arith-base, sparc_gencgc_merge, merge-with-19f, snapshot-2004-12, snapshot-2004-11, intl-branch-working-2010-02-11-1000, unicode-snapshot-2009-05, unicode-snapshot-2009-06, amd64-merge-start, ppc_gencgc_snap_2005-12-17, double-double-init-%make-sparc, unicode-utf16-sync-2008-07, unicode-utf16-sync-2008-09, unicode-utf16-extfmts-sync-2008-12, prm-before-macosx-merge-tag, RELEASE_20b, snapshot-2008-04, snapshot-2003-11, snapshot-2005-07, unicode-utf16-sync-label-2009-03-16, RELEASE_19f, snapshot-2007-03, release-20a-base, cross-sol-x86-base, unicode-utf16-char-support-2009-03-26, unicode-utf16-char-support-2009-03-25, release-19a-base, unicode-utf16-extfmts-pre-sync-2008-11, snapshot-2008-10, sparc_gencgc, snapshot-2007-04, snapshot-2010-12, snapshot-2010-11, unicode-utf16-sync-2008-11, snapshot-2007-07, snapshot-2011-09, snapshot-2011-06, snapshot-2011-07, snapshot-2011-04, snapshot-2007-06, snapshot-2011-02, snapshot-2011-03, snapshot-2011-01, snapshot-2003-12, release-19a-pre1, release-19a-pre3, release-19a-pre2, pre-merge-intl-branch, release-19a, double-double-array-checkpoint, double-double-reader-checkpoint-1, release-19d-base, release-19e-pre1, double-double-irrat-end, release-19e-pre2, snapshot-2010-05, snapshot-2010-04, snapshot-2010-07, snapshot-2010-06, snapshot-2010-01, snapshot-2010-03, snapshot-2010-02, release-19d-pre2, release-19d-pre1, snapshot-2010-08, double-double-init-checkpoint-1, double-double-reader-base, label-2009-03-25, snapshot-2005-03, release-19b-base, cross-sol-x86-2010-12-20, double-double-init-x86, sse2-checkpoint-2008-10-01, intl-branch-2010-03-18-1300, snapshot-2005-11, double-double-sparc-checkpoint-1, snapshot-2004-04, sse2-merge-with-2008-11, sse2-merge-with-2008-10, snapshot-2005-10, RELEASE_20a, snapshot-2005-12, release-20a-pre1, snapshot-2005-01, snapshot-2009-11, snapshot-2009-12, unicode-utf16-extfmt-2009-06-11, portable-clx-import-2009-06-16, unicode-utf16-string-support, release-19c-pre1, cross-sparc-branch-base, release-19e-base, intl-branch-base, double-double-irrat-start, snapshot-2005-06, snapshot-2005-05, snapshot-2005-04, ppc_gencgc_snap_2005-05-14, snapshot-2005-02, unicode-utf16-base, portable-clx-base, snapshot-2005-09, snapshot-2005-08, lisp-executable-base, snapshot-2009-08, snapshot-2007-12, snapshot-2007-10, snapshot-2007-11, snapshot-2009-02, snapshot-2009-01, snapshot-2009-07, snapshot-2009-05, snapshot-2009-04, snapshot-2006-02, snapshot-2006-03, snapshot-2006-01, snapshot-2006-06, snapshot-2006-07, snapshot-2006-04, snapshot-2006-05, pre-telent-clx, snapshot-2006-08, snapshot-2006-09, HEAD
Branch point for: release-19b-branch, double-double-reader-branch, double-double-array-branch, mod-arith-branch, RELEASE-19F-BRANCH, portable-clx-branch, sparc_gencgc_branch, cross-sparc-branch, RELEASE-20B-BRANCH, unicode-string-buffer-branch, sparc-tramp-assem-branch, dynamic-extent, release-19d-branch, ppc_gencgc_branch, sse2-packed-branch, lisp-executable, RELEASE-20A-BRANCH, amd64-dd-branch, double-double-branch, unicode-string-buffer-impl-branch, intl-branch, unicode-utf16-branch, cross-sol-x86-branch, release-19e-branch, sse2-branch, release-19a-branch, release-19c-branch, intl-2-branch, unicode-utf16-extfmt-branch
Changes since 1.9: +14 -7 lines
File MIME type: text/plain
Merged changes made during the 18e freeze period back into the main branch.
1 ========================== C M U C L 18 e =============================
2
3 The CMUCL project is pleased to announce the release of CMUCL 18e.
4 This is a major release which contains numerous enhancements and
5 bugfixes from the 18d release.
6
7 CMUCL is a free, high performance implementation of the Common Lisp
8 programming language which runs on most major Unix platforms. It
9 mainly conforms to the ANSI Common Lisp standard. CMUCL provides a
10 sophisticated native code compiler; a powerful foreign function
11 interface; an implementation of CLOS, the Common Lisp Object System,
12 which includes multimethods and a metaobject protocol; a source-level
13 debugger and code profiler; and an Emacs-like editor implemented in
14 Common Lisp. CMUCL is maintained by a team of volunteers collaborating
15 over the Internet, and is mostly in the public domain.
16
17 New in this release:
18
19 * Feature enhancements:
20 - Karatsuba multiplier added to give faster multiplication for
21 big bignums.
22 - Better support for linking foreign libraries. You can now dump
23 cores with foreign libraries and reload this core and the
24 libraries, without having to reload code that uses those
25 libraries. Available if the feature :linkage-table is present.
26 - A cross-referencing facility has been added to the compiler,
27 providing WHO-CALLS, WHO-BINDS, WHO-REFERENCES, WHO-SETS
28 information. See the corresponding chapter of the User's Manual
29 for more information.
30 - Bindings to the POSIX user and group database access functions
31 (getpwuid et al) have been added to the UNIX package.
32 - Support for Unix sockets and for binding to specific IP
33 addresses has been added to the networking code.
34 - Support for generalized function names of the form
35 (<SYMBOL> ...) has been added. See EXT:DEFINE-FUNCTION-NAME-SYNTAX
36 and EXT:VALID-FUNCTION-NAME-P.
37 - Access to the hardware cycle counters on Pentium and UltraSPARC
38 processors has been added, and is reported by the TIME macro.
39 - On Linux, it is possible to read and write files larger than 2GiB
40 (Large File Support implementation) using the low-level functions
41 in the UNIX package. Use of ANSI CL functions to process such files
42 may work, but the code base hasn't been audited for this.
43 Full support for this requires a 2.4 or a 2.2 kernel with LFS
44 patches.
45
46 * Numerous ANSI compliance fixes:
47 - SYMBOL-MACROLET signals an error when an attempt is made to
48 bind a special variable or a constant
49 - the function COMPILE no longer coalesces constants, as required
50 by the specification (however, COMPILE-FILE continues to do so)
51 - WITH-OUTPUT-TO-STRING accepts the :external-format keyword
52 argument
53 - the function WRITE-STRING accepts a NIL value for the :end
54 argument
55 - the function CHANGE-CLASS now accepts initargs
56 - loops of the form (LOOP FOR I BY (INCF X) FROM ...) now work
57 - in loop forms, the INITIALLY, FINALLY and DO keywords must be
58 followed by a compound form
59 - in the loop macro, PRESENT-SYMBOL now means both internal and
60 external symbols of a package
61 - the class precedence list of NULL has symbol before list
62 - the function FLOAT-RADIX signals an error if its argument is
63 not a float
64 - an error is signaled if the lambda keyword &rest is not
65 followed by a variable
66 - the GENTEMP function no longer accepts arguments of type symbol
67 - the function SHIFTF supports multiple values
68 - compiler macros recognize calls of the form (funcall foo args)
69 - (coerce <rational> '(complex float)) now returns a (complex
70 float) rather than a rational
71 - the ECASE and CCASE macros are allowed to use T and OTHERWISE
72 as regular keys, instead of as the otherwise clause. CMUCL
73 prints a warning about this being poor style.
74 - the type (complex (eql 0)) is accepted now instead of
75 generating an error.
76 - the sequence functions check to make sure sequences are
77 specified and that, if lengths are given, the result matches
78 the given length.
79 - when the argument to TRANSLATE-LOGICAL-PATHNAME is a physical
80 pathname, return it instead of signalling an error.
81 - the function DEFAULT-DIRECTORY returns a pathname with an
82 explicit Unix host, instead of leaving it unspecified.
83 - logical pathnames are now externalizable
84 - bad directives in FORMAT-LOGICAL-BLOCK: an error is now signalled
85 if ~W, ~_, ~<...~:>, ~I, or ~:T is used inside "~<..~>"
86 (without the colon modifier on the closing syntax).
87 - the SUBTYPEP function is more intelligent when dealing with
88 certain hairy types (such as those based on SATISFIES).
89 - the optional environment argument to the functions TYPEP,
90 SUBTYPEP and friends are now accepted (but ignored).
91 - system classes FILE-STREAM and STRING-STREAM have been added.
92
93 * Numerous bugfixes:
94 - READ-BYTE on certain types of multi-byte elements was incorrect
95 - fix the treatment of colon package delimiters for the ~/
96 formatting directive
97 - correction to CLX's handling of FamilyLocal authorization
98 cookies (as created by versions of ssh after 3.4)
99 - fix to CLX handling of :any event-spec
100 - fix to boa-constructors ??
101 - EXPT was not correctly handling a zero exponent
102 - PROGV was not handling special variables correctly.
103 - MULTIPLE-VALUE-SETQ and PSETQ were not handling symbol macros correctly.
104 - index calculations for operations bitvectors of sizes near the
105 ARRAY-DIMENSION-LIMIT could overflow
106 - redefining a class with a changed class precedence list didn't
107 update the CMUCL type system
108 - generated CLOS getter/setter/boundp generic functions are now
109 declared correctly, to eliminate bogus undefined function
110 warnings from the compiler
111 - method combination options for the long form of the
112 DEFINE-METHOD-COMBINATION special form work correctly
113 - executing a defclass form with a metaclass of STRUCTURE-CLASS
114 would result in the generation of recursive print-object
115 methods, so that printing such instances would loop
116 - dividing a ration by zero returned 1/0 instead of signaling an
117 error
118 - PPRINT-LOGICAL-BLOCK with a numeric prefix no longer causes the
119 system to crash
120 - byte-compiled calls to two-argument STRING< and STRING>
121 returned incorrect results
122 - the function READ-SEQUENCE returned incorrect results for
123 specialized arrays when the internal READ-N-BYTES function read
124 short
125 - when a sequence type specifies a length, CMUCL checks that the
126 length of sequence arguments match the length of the sequence type
127 - the function REMOVE was not correctly handling all possible
128 combinations of the :start, :end and :from options.
129 - the function COMPILE-FILE-PATHNAME computes the output file
130 name by merging the input file name and the supplied output file name
131 - the functions MAKE-BROADCAST-STREAM, MAKE-TWO-WAY-STREAM,
132 MAKE-CONCATENATED-STREAM and MAKE-ECHO-STREAM check that their
133 argument is an input or output stream, as appropriate
134 - STREAM-READ-SEQUENCE and STREAM-WRITE-SEQUENCE were getting
135 called with arguments in the wrong order.
136 - numerous error conditions are signalled using a more specific
137 condition type than a generic error
138 - many (all?) cases where the unused labels functions were
139 causing a compiler assertion error.
140 - some cases where the compiler was incorrectly deriving the
141 types of functions have been fixed.
142 - error reporting in many areas have been improved to be more
143 specific and/or ANSI compliant.
144 - error detection of defclass options in line with ANSI
145 requirements.
146 - the compiler now checks type declarations on array elements
147 before believing them.
148 - Special declarations of the DOLIST iteration variable are
149 now honoured when evaluating the DOLIST result form.
150 - The argument evaluation order of MAKE-STRING in compiled
151 code has been fixed.
152
153 * Other changes:
154 - The default value for EXT:*BYTES-CONSED-BETWEEN-GCS* has been
155 increased from 2000000 to 12000000, which should improve GC
156 performance for many applications out of the box. Of course
157 people are encouraged to tune the GC parameters to match their
158 application requirements (e.g. interactive response times),
159 and their hardware environment.
160 - The sparc port has experimental support for native 64-bit
161 integers (unsigned-byte 64) and (signed-byte 64) on sparc v9
162 (64-bit) architectures. Enabled if the feature :sparc-v8plus
163 is present (you will need to rebuild CMUCL).
164 - The CMUCL release tarballs are now relocatable. The lisp image
165 (in the lisp.core file) is now searched for relative to the
166 lisp runtime. The previous search mechanisms still take
167 precedence: the -core commandline option, the CMUCLLIB
168 environment variable, the default /usr/local/lib/cmucl search
169 path.
170 - Messages from the compiler are now preceded by a semicolon, for
171 better interaction with environments with syntax highlighting.
172 - An improved initializer for random state is available (function
173 KERNEL:INIT-RANDOM-STATE accepts an argument of type vector).
174 - the function PROFILE:REPORT-TIME no longer prints out a long
175 list of functions that were not profiled. The cutoff is
176 user-configurable by setting the new variable
177 PROFILE::*NO-CALLS-LIMIT*.
178 - reinstated the ability to build small runtime images (excluding
179 the compiler)
180 - DESCRIBE will print a note if a symbol names a type-specifier
181 - numeric types with empty ranges are accepted silently (instead
182 of signalling an error), and treated as the empty type.
183 - on Linux, the function SOFTWARE-VERSION returns more useful
184 information than in the past, including the kernel version
185 number.
186 - the function MAKE-DISPATCH-MACRO-CHARACTER will quietly
187 override existing definitions, instead of signalling an error
188 if a previous binding for a macro character existed.
189 - a number of stale symbols have been deleted from CMUCL images
190
191 * Numerous improvements to the PCL implementation of CLOS:
192 - some unused code has been deleted
193 - error checking of CLOS functions has been significantly improved
194 - the hash function for PCL instances has been improved
195 - superfluous SLOT-BOUNDP checking for structure-classes has been
196 removed
197 - the preallocation of caches for generic functions has been
198 removed, since benchmarking indicated that this doesn't provide a
199 noticeable performance increase
200
201 * Improvements to Hemlock, the Emacs-like editor:
202 - a dynamic-abbrev facility has been added (bound to M-/)
203 - support for C-w (copy work) during incremental search
204
205 * Changes to rebuilding procedure:
206 - the search-list "modules:" tracks the "library:" search-list,
207 instead of being set to whatever "library:subsystems/" is at
208 startup.
209
210 * Deprecated features:
211 - the HASH-NEW, NEW-COMPILER and RANDOM-MT19937 elements of the
212 *FEATURES* list are deprecated. Starting from the next release of
213 CMUCL, the corresponding code will be included in default CMUCL
214 builds.
215
216
217 This release is not binary compatible with code compiled using CMUCL
218 18d; you will need to recompile FASL files.
219
220 See <URL:http://www.cons.org/cmucl/> for download information,
221 guidelines on reporting bugs, and mailing list details.
222
223
224 We hope you enjoy using this release of CMUCL!
225

  ViewVC Help
Powered by ViewVC 1.1.5