/[cmucl]/src/general-info/release-19e.txt
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 =============================
2
3 [--- WORK IN PROGRESS --- DO NOT DISTRIBUTE ---]
4
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.
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 * Supported system:
22 - Support for Mac OS X/Intel has been added.
23
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.
47
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.
53
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.
74 - DOUBLE-DOUBLE-FLOAT fixes:
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.
153
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.
165
166 * Other changes:
167 - UNIX:UNIX-ERRNO accesses the thread errno value instead of the
168 global errno value.
169
170 * Improvements to the PCL implementation of CLOS:
171 - Forward-referenced classes are allowed.
172
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.
178
179
180 This release is not binary compatible with code compiled using CMUCL
181 19d; you will need to recompile FASL files.
182
183 See <URL:http://www.cons.org/cmucl/> for download information,
184 guidelines on reporting bugs, and mailing list details.
185
186
187 We hope you enjoy using this release of CMUCL!
188

  ViewVC Help
Powered by ViewVC 1.1.5