/[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.8 - (show annotations)
Fri Feb 28 12:43:14 2003 UTC (11 years, 1 month ago) by emarsden
Branch: MAIN
Changes since 1.7: +5 -3 lines
File MIME type: text/plain
Add note regarding the Hemlock dabbrev and isearch C-w 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 - Karatsuba multiplier added to give faster multiplication for
23 big bignums.
24 - Better support for linking foreign libraries. You can now dump
25 cores with foreign libraries and reload the core without having
26 to reload the libraries. Available if the feature
27 :linkage-table is present.
28 - A cross-referencing facility has been added to the compiler,
29 providing WHO-CALLS, WHO-BINDS, WHO-REFERENCES, WHO-SETS
30 information. See the corresponding chapter of the User's Manual
31 for more information.
32 - Bindings to the POSIX user and group database access functions
33 (getpwuid et al) have been added to the UNIX package.
34 - Support for Unix sockets and for binding to specific IP
35 addresses has been added to the networking code.
36 - Support for generalized function names of the form
37 (<SYMBOL> ...) has been added. See EXT:DEFINE-FUNCTION-NAME-SYNTAX
38 and EXT:VALID-FUNCTION-NAME-P.
39 - Access to the hardware cycle counters on Pentium and UltraSPARC
40 processors has been added, and is reported by the TIME macro.
41
42 * Numerous ANSI compliance fixes:
43 - SYMBOL-MACROLET signals an error when an attempt is made to
44 bind a special variable or a constant
45 - the function COMPILE no longer coalesces constants (however,
46 COMPILE-FILE continues to do so)
47 - WITH-OUTPUT-TO-STRING accepts the :external-format keyword
48 argument
49 - the function WRITE-STRING accepts a NIL value for the :end
50 argument
51 - the function CHANGE-CLASS now accepts initargs
52 - loops of the form (LOOP FOR I BY (INCF X) FROM ...) now work
53 - in loop forms, the INITIALLY, FINALLY and DO keywords must be
54 followed by a compound form
55 - in the loop macro, PRESENT-SYMBOL now means both internal and
56 external symbols of a package
57 - the class precedence list of NULL has symbol before list
58 - the function FLOAT-RADIX signals an error if its argument is
59 not a float
60 - an error is signaled if the lambda keyword &rest is not
61 followed by a variable
62 - the GENTEMP function no longer accepts arguments of type symbol
63 - the function SHIFTF supports multiple values
64 - compiler macros recognize calls of the form (funcall foo args)
65 - (coerce <rational> '(complex float)) now returns a (complex
66 float) rather than a rational
67 - the ECASE and CCASE macros are allowed to use T and OTHERWISE
68 as regular keys, instead of as the otherwise clause. CMUCL
69 prints a warning about this being poor style.
70 - the type (complex (eql 0)) is accepted now instead of
71 generating an error.
72 - the sequence functions check to make sure sequences are
73 specified and that, if lengths are given, the result matches
74 the given length.
75 - when the argument to TRANSLATE-LOGICAL-PATHNAME is a physical
76 pathname, return it instead of signalling an error.
77 - the function DEFAULT-DIRECTORY returns a pathname with an
78 explicit Unix host, instead of leaving it unspecified.
79 - logical pathnames are now externalizable
80 - bad directives in FORMAT-LOGICAL-BLOCK: an error is now signalled
81 if ~W, ~_, ~<...~:>, ~I, or ~:T is used inside "~<..~>"
82 (without the colon modifier on the closing syntax).
83 - the SUBTYPEP function is more intelligent when dealing with
84 certain hairy types (such as those based on SATISFIES).
85
86 * Numerous bugfixes:
87 - READ-BYTE on certain types of multi-byte elements was incorrect
88 - fix the treatment of colon package delimiters for the ~/
89 formatting directive
90 - correction to CLX's handling of FamilyLocal authorization
91 cookies (as created by versions of ssh after 3.4)
92 - fix to CLX handling of :any event-spec
93 - fix to boa-constructors ??
94 - EXPT was not correctly handling a zero exponent
95 - index calculations for operations bitvectors of sizes near the
96 ARRAY-DIMENSION-LIMIT could overflow
97 - redefining a class with a changed class precedence list didn't
98 update the CMUCL type system
99 - generated CLOS getter/setter/boundp generic functions are now
100 declared correctly, to eliminate bogus undefined function
101 warnings from the compiler
102 - method combination options for the long form of the
103 DEFINE-METHOD-COMBINATION special form work correctly
104 - executing a defclass form with a metaclass of STRUCTURE-CLASS
105 would result in the generation of recursive print-object
106 methods, so that printing such instances would loop
107 - dividing a ration by zero returned 1/0 instead of signaling an
108 error
109 - PPRINT-LOGICAL-BLOCK with a numeric prefix no longer causes the
110 system to crash
111 - byte-compiled calls to two-argument STRING< and STRING>
112 returned incorrect results
113 - the function READ-SEQUENCE returned incorrect results for
114 specialized arrays when the internal READ-N-BYTES function read
115 short
116 - when a sequence type specifies a length, CMUCL checks that the
117 length of sequence arguments match the length of the sequence type
118 - the function REMOVE was not correctly handling all possible
119 combinations of the :start, :end and :from options.
120 - the function COMPILE-FILE-PATHNAME computes the output file
121 name by merging the input file name and the supplied output file name
122 - the functions MAKE-BROADCAST-STREAM, MAKE-TWO-WAY-STREAM,
123 MAKE-CONCATENATED-STREAM and MAKE-ECHO-STREAM check that their
124 argument is an input or output stream, as appropriate
125 - STREAM-READ-SEQUENCE and STREAM-WRITE-SEQUENCE were getting
126 called with arguments in the wrong order.
127 - numerous error conditions are signalled using a more specific
128 condition type than a generic error
129 - many (all?) cases where the unused labels functions were
130 causing a compiler assertion error.
131 - some cases where the compiler was incorrectly deriving the
132 types of functions have been fixed.
133 - error reporting in many areas have been improved to be more
134 specific and/or ANSI compliant.
135 - error detection of defclass options in line with ANSI
136 requirements.
137 - the compiler now checks type declarations on array elements
138 before believing them.
139 - Special declarations of the DOLIST iteration variable are
140 now honoured when evaluating the DOLIST result form.
141 - The argument evaluation order of MAKE-STRING in compiled
142 code has been fixed.
143
144 * Other changes:
145 - The sparc port has experimental support for native 64-bit
146 integers (unsigned-byte 64) and (signed-byte 64) on sparc v9
147 (64-bit) architectures. Enabled if the feature :sparc-v8plus
148 is present (you will need to rebuild CMUCL).
149 - The CMUCL release tarballs are now relocatable. The lisp image
150 (in the lisp.core file) is now searched for relative to the
151 lisp runtime. The previous search mechanisms still take
152 precedence: the -core commandline option, the CMUCLLIB
153 environment variable, the default /usr/local/lib/cmucl search
154 path.
155 - Messages from the compiler are now preceded by a semicolon, for
156 better interaction with environments with syntax highlighting.
157 - An improved initializer for random state is available (function
158 KERNEL:INIT-RANDOM-STATE accepts an argument of type vector).
159 - the function PROFILE:REPORT-TIME no longer prints out a long
160 list of functions that were not profiled. The cutoff is
161 user-configurable by setting the new variable
162 PROFILE::*NO-CALLS-LIMIT*.
163 - reinstated the ability to build small runtime images (excluding
164 the compiler)
165 - DESCRIBE will print a note if a symbol names a type-specifier
166 - numeric types with empty ranges are accepted silently (instead
167 of signalling an error), and treated as the empty type.
168 - on Linux, the function SOFTWARE-VERSION returns more useful
169 information than in the past, including the kernel version
170 number.
171 - the function MAKE-DISPATCH-MACRO-CHARACTER will quietly
172 override existing definitions, instead of signalling an error
173 if a previous binding for a macro character existed.
174 - a number of stale symbols have been deleted from CMUCL images
175
176 * Numerous improvements to the PCL implementation of CLOS:
177 - some unused code has been deleted
178 - error checking of CLOS functions has been significantly improved
179 - the hash function for PCL instances has been improved
180 - superfluous SLOT-BOUNDP checking for structure-classes has been
181 removed
182 - the preallocation of caches for generic functions has been
183 removed, since benchmarking indicated that this doesn't provide a
184 noticeable performance increase
185
186 * Improvements to Hemlock, the Emacs-like editor:
187 - a dynamic-abbrev facility has been added (bound to M-/)
188 - support for C-w (copy work) during incremental search
189
190 * Changes to rebuilding procedure:
191 - the search-list "modules:" tracks the "library:" search-list,
192 instead of being set to whatever "library:subsystems/" is at
193 startup.
194
195 * Deprecated features:
196 - the HASH-NEW, NEW-COMPILER and RANDOM-MT19937 elements of the
197 *FEATURES* list are deprecated. Starting from the next release of
198 CMUCL, the corresponding code will be included in default CMUCL
199 builds.
200
201
202 This release is not binary compatible with code compiled using CMUCL
203 18d; you will need to recompile FASL files.
204
205 See <URL:http://www.cons.org/cmucl/> for download information,
206 guidelines on reporting bugs, and mailing list details.
207
208
209 We hope you enjoy using this release of CMUCL!
210

  ViewVC Help
Powered by ViewVC 1.1.5