ViewVC logotype

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

Parent Directory Parent Directory | Revision Log Revision Log

Revision 1.24 - (show annotations)
Thu Jan 3 15:53:11 2008 UTC (6 years, 3 months ago) by rtoy
Branch: MAIN
Changes since 1.23: +10 -0 lines
File MIME type: text/plain
Update from logs.
1 ========================== C M U C L 19 e =============================
5 The CMUCL project is pleased to announce the release of CMUCL 19e.
6 This is a major release which contains numerous enhancements and
7 bugfixes from the 19d 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 * Supported system:
22 - Support for Mac OS X/Intel has been added.
24 * Feature enhancements:
25 - Support for dynamic-extent added for ppc. However, it suffers
26 from the same problems with dynamic-extent as other platforms,
27 so it is disabled by default. Tests indicate that it does work
28 in simple situations.
29 - PARSE-TIME recognizes the format produced by C asctime/ctime.
30 (This change may break some other less commonly used patterns.)
31 - PARSE-TIME recognizes and discards any microseconds.
32 - PARSE-TIME checks that a specified day of the week matches the
33 actual day of the week given in the date. An error is signaled
34 if they are inconsistent.
35 - New option to SAVE-LISP allows creating executable Lisp images
36 that do not require a runtime loader.
37 Syntax: (save-lisp "filename" :executable t)
38 Currently supported on FreeBSD and Linux; work on a Solaris
39 version is underway.
40 Limitations: depends on files in "library:" to dump new
41 executable images.
42 - CMUCL's version of CLX has been replaced with telent CLX.
43 - Preliminary support for external formats. Currently only
44 iso8859-1 and utf-8 are supported. Utf-8 support is limited
45 since CMUCL only has 8-bit characters.
46 - UNIX-MPROTECT added to access mprotect.
48 * ANSI compliance fixes:
49 - BOA constructors with &AUX variables are handled better now.
50 - SHADOW accepts characters now.
51 - Default initargs are now passed correctly to initialize-instance
52 and shared-initialize.
54 * Bugfixes:
55 - Floating-point traps are now handled on ppc. Previously, no
56 traps were signalled and SET-FLOATING-POINT-MODES did nothing.
57 - FILE-POSITION no longer returns negative values for mapped
58 file-simple-stream's.
59 - Potential Version numbers that start with a leading 0 are no
60 longer treated as version numbers. Hence, "foo.~1~" has name
61 "foo", type nil, and version 1, but "foo.~01~" has type "~01~"
62 and version :NEWEST.
63 - A bug in type derivation for EXPT has been fixed. (expt x y)
64 for x of type (double-float (0d0) 1d0) and y of type
65 (double-float (0d0)) now returns (or (member 0d0) (double-float
66 (0d0) 1d0)) instead of (double-float 0d0 1d0), i.e., -0d0 is not
67 in the range.
68 - On sparc, the decoding of a trapping FP instruction is correct
69 now. Previously the wrong instruction was decoded, which
70 produced the wrong operation and operands in the arithmetic
71 error handler.
72 - Fix issue with UNIX:UNIX-MMAP handling of "large" addresses that
73 appeared to be negative numbers.
75 o Converting negative rationals to double-double-float's doesn't
76 produce wrong answers anymore.
77 o Conversion of bignums to double-double-floats preserves more
78 bits of the bignum now. This allows for read/print consistency
79 for this particular case. (The general case is still broken.)
80 o (float <negative bignum> 1w0) no longer returns a positive
81 result.
82 o Some issues with creation of DOUBLE-DOUBLE-FLOAT and (COMPLEX
83 DOUBLE-DOUBLE-FLOAT) have been fixed on sparc, ppc, and x86.
84 These seem to work, except there appears to be some bugs on x86
85 when compiling at speed 3 and safety 0.
86 o (INTEGER-DECODE-FLOAT <double-double-float>) was sometimes
87 returning the wrong integer value because the two components had
88 the wrong sign.
89 o Some issues with debugger printing out DOUBLE-DOUBLE-FLOATs and
90 (COMPLEX DOUBLE-DOUBLE-FLOAT)'s have been fixed.
91 o CLOS now recognizes that (COMPLEX DOUBLE-DOUBLE-FLOAT) is a
92 valid built-in class instead of a random object.
93 o Branch cuts for ASIN and ATANH for double-double-float's
94 should match the branches for double-float's.
95 o ATAN2 should correctly handle signed double-double-float
96 zeroes.
97 o FASL files containing -0w0 are now converted to -0w0 instead
98 of 0w0.
99 o SIN and TAN return -0w0 when the argument is -0w0.
100 Previously, they returned 0w0.
101 o Signed zeroes are handled better for addition, subtraction,
102 and multiplication. That is, the correct signed zero is
103 returned now.
104 o Overflow in addition, multiplication, and division returns
105 infinity if traps are disabled.
106 o EQL supports DOUBLE-DOUBLE-FLOAT's now.
107 o The printer and reader should now be consistent for
108 double-double-floats.
109 o Conversion of bignums and ratios to double-double-floats
110 should be more accurate.
111 o Double-double-float's should have print/read consistency now.
112 - The assembler for ppc had some arguments for some instructions
113 in the wrong order, producing the wrong effect.
114 - When making displaced arrays, the element types are checked to
115 see if they are type equivalent. If not, an error is signaled.
116 - The reader for #= and ## has been enhanced to be much faster for
117 cases with a large number of shared objects. However, it is also
118 somewhat slower for simple cases.
119 - #p"..." now has a namestring and is treated as a pathname with
120 name ".." and type "".
121 - #p"..a" erroneously had directory (:relative). This has been
122 fixed so that directory = nil, name = ".", and type = "a".
123 - Compiling code using SIGNUM no longer causes a compiler error.
124 The defoptimizer for SIGNUM was missing a case for
125 double-double-float.
126 - MAPHASH no longer causes a type-error when the mapping function
127 calls (setf gethash) on the same table.
128 - NOTINLINE declarations are honored for local functions even if
129 they only have only one use. Previously, these would be inlined
130 anyway. This allows tracing of such functions.
131 - TRACE and UNTRACE should now work as expected for local
132 labels/flet functions. Untracing should work. Redefining a
133 function should automatically retrace the local functions if
134 they were traced previously.
135 - Callbacks should now work on systems where malloc'ed space does
136 not normally allow execution of code.
137 - The FLOAT-ACCURACY declaration has been removed. This should
138 have no affect on most user's code, unless they were using
139 this. The default is 53-bit (double-float) precision for
140 everything and the compiler takes care of the precision for the
141 appropriate ABI. It is the compiler's responsibility to make
142 sure single-precision floats are done correctly with
143 single-precision results.
144 - A compiler bug with type inferencing and deleting unsued
145 functions has been fixed.
146 - A compiler bug has been fixed where a source transformation was
147 applied because the local variable happens to have a function
148 type.
149 - On Darwin/x86, tracing with :encapsulate nil works better, and
150 tracing of labels/flets works better. However, there are still
151 issues with tracing. Returning to the repl after tracing
152 sometimes fails, and you must exit lisp completely.
154 * Trac Tickets:
155 - #8 fixed so logs of bignums and ratios that won't fit into a
156 float can be computed, instead of signalling an error.
157 - #9 fixed. An error is generated if the number of days doesn't
158 match the number of days in the given month.
159 - #10 fixed. ROUND should now return correct answers for floats
160 bigger than most-positive-fixnum.
161 - #11 fixed. EQL handles double-double-float's correctly now.
162 - #1 fixed. prin1 and ~E should produce the same results.
163 - #12 fixed. (format t "~10,1,2,0,'*,,'DE" 1d-6) prints "0.1D-05"
164 now.
166 * Other changes:
167 - UNIX:UNIX-ERRNO accesses the thread errno value instead of the
168 global errno value.
170 * Improvements to the PCL implementation of CLOS:
171 - Forward-referenced classes are allowed.
173 * Changes to rebuilding procedure:
174 - load-world.sh now supports a -p option to load the world without
175 PCL. This is mostly for cross-compiling which doesn't want PCL
176 loaded because it's not build during a cross-compile.
177 - make-dist.sh now defaults to bzip compression instead of gzip.
180 This release is not binary compatible with code compiled using CMUCL
181 19d; you will need to recompile FASL files.
183 See <URL:http://www.cons.org/cmucl/> for download information,
184 guidelines on reporting bugs, and mailing list details.
187 We hope you enjoy using this release of CMUCL!

  ViewVC Help
Powered by ViewVC 1.1.5