ViewVC logotype

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

Parent Directory Parent Directory | Revision Log Revision Log

Revision 1.24 - (hide annotations)
Mon Oct 2 13:40:55 2006 UTC (7 years, 6 months ago) by rtoy
Branch: MAIN
CVS Tags: sparc-tramp-assem-base, post-merge-intl-branch, merged-unicode-utf16-extfmt-2009-06-11, unicode-utf16-extfmt-2009-03-27, snapshot-2007-09, snapshot-2007-08, snapshot-2008-08, snapshot-2008-09, 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, 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, release-19f-pre1, snapshot-2008-12, snapshot-2008-11, intl-2-branch-base, snapshot-2007-01, snapshot-2007-02, release-19e, GIT-CONVERSION, unicode-utf16-sync-2008-12, cross-sol-x86-merged, label-2009-03-16, release-19f-base, merge-sse2-packed, merge-with-19f, intl-branch-working-2010-02-11-1000, unicode-snapshot-2009-05, unicode-snapshot-2009-06, unicode-utf16-sync-2008-07, unicode-utf16-sync-2008-09, unicode-utf16-extfmts-sync-2008-12, RELEASE_20b, snapshot-2008-04, 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, unicode-utf16-extfmts-pre-sync-2008-11, snapshot-2008-10, 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, pre-merge-intl-branch, release-19d-base, release-19e-pre1, release-19e-pre2, snapshot-2010-05, snapshot-2010-04, snapshot-2010-07, snapshot-2010-06, snapshot-2010-01, snapshot-2010-03, snapshot-2010-02, snapshot-2010-08, label-2009-03-25, cross-sol-x86-2010-12-20, sse2-checkpoint-2008-10-01, intl-branch-2010-03-18-1300, sse2-merge-with-2008-11, sse2-merge-with-2008-10, RELEASE_20a, release-20a-pre1, snapshot-2009-11, snapshot-2009-12, unicode-utf16-extfmt-2009-06-11, portable-clx-import-2009-06-16, unicode-utf16-string-support, cross-sparc-branch-base, release-19e-base, intl-branch-base, unicode-utf16-base, portable-clx-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, pre-telent-clx, HEAD
Branch point for: RELEASE-19F-BRANCH, portable-clx-branch, cross-sparc-branch, RELEASE-20B-BRANCH, unicode-string-buffer-branch, sparc-tramp-assem-branch, release-19d-branch, sse2-packed-branch, RELEASE-20A-BRANCH, amd64-dd-branch, unicode-string-buffer-impl-branch, intl-branch, unicode-utf16-branch, cross-sol-x86-branch, release-19e-branch, sse2-branch, intl-2-branch, unicode-utf16-extfmt-branch
Changes since 1.23: +4 -0 lines
File MIME type: text/plain
o Add a new :WHEREIN-ONLY option for trace, which is like :WHEREIN,
  but only if the immediate caller is one of the listed functions
  instead of anywhere in the backtrace.

o Update for :WHEREIN-ONLY
1 rtoy 1.1 ========================== C M U C L 19 d =============================
5     The CMUCL project is pleased to announce the release of CMUCL 19d.
6     This is a major release which contains numerous enhancements and
7 emarsden 1.4 bugfixes from the 19c release.
8 rtoy 1.1
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:
22     * Feature enhancements:
24     - Destructive functions like nreverse that modify constant args
25     will produce a warning.
26     - Destructive functions like nreverse whose results are not used
27     will produce a warning.
28     - Pathnames that cannot be printed readably using #p"..." will
29     now be printed using the CMUCL extension #P(...). However,
30     there are still cases where CMUCL cannot print pathnames
31     readably, but these involve search-lists and patterns.
32 rtoy 1.3 - LONG-LONG and UNSIGNED-LONG-LONG are recognized types in the
33     C-CALL package for signed and unsigned 64-bit integers.
34 rtoy 1.5 - A port of gencgc to Darwin/ppc has been made. This still
35 rtoy 1.10 needs work, and is known to have some issues, but it compiles
36     CMUCL without problems and runs maxima just fine.
37 rtoy 1.8 - TRACE supports tracing of FLET/LABELS functions. Use (trace
38     (labels foo bar)) to trace the labels function FOO in the
39     function BAR. This is currently experimental.
40 rtoy 1.11 - DISASSEMBLE will disassemble flets/labels functions when
41     disassembling a function. Set disassem::*disassemble-flets*
42     to NIL to turn this off.
43 rtoy 1.12 - Simple errors in socket handling code have been converted to
44     socket-error's to allow easier distinction of the errors.
45 rtoy 1.15 - EXT:LOAD-FOREIGN will use dlopen to try to open a shared
46     library, so if dlopen searches in certain places, LOAD-FOREIGN
47     will find the shared object.
48     - A new search-list "ld-library-path:" has been created and
49     contains the value of the environment variable
50     LD_LIBRARY_PATH. This is analogous to the "path:"
51     search-list.
52     - When a core file is started, any shared libraries that were
53     loaded when the core was made will be reloaded on startup. If
54     the library cannot be found, several restarts are available.
55 rtoy 1.18 - Support for the new float type EXT:DOUBLE-DOUBLE-FLOAT. This
56     includes support for complex numbers with this component type
57     and simple arrays for this type and complex numbers of this
58     type.
60     A DOUBLE-DOUBLE-FLOAT uses two DOUBLE-FLOAT's to represent a
61     number with >= 106 bits of precision (about 33 digits). Known
62     issues:
64     * If you are expecting IEEE-style behavior, you don't get it:
65     - signed zeroes aren't really available.
66     - overflows don't return infinity but return NaN instead.
67     - rounding might not be quite the same as IEEE
68     - SQRT is not accurate to the last bit, as required by IEEE.
69     * Multiplying by a number very close to
70     most-positive-double-float will produce an error even if the
71     result does not overflow. (This is an artifact of how
72     multiplication is done. I don't have a solution to this.)
73     * Read/write consistency is not working. (Because conversion
74     from a bignum to a double-double-float doesn't really
75     understand the internal double-double-float format.)
76     * INTEGER-DECODE-FLOAT and SCALE-FLOAT aren't "inverses".
77     That is, you can't take the result of integer-decode-float
78     and use scale-float to produce exactly the same number.
79     This is because of how bignums are converted to
80     double-doubles.
81     * FLOAT-DIGITS always returns 106 even though there could be
82     more bits. (Consider the double-double (1d0,1d-200)). This
83     will show up in PRINT where the printed result will have way
84     more than the normal 33 digits or so. But reading such a
85     number back won't give the same value.
86     * There is probably more consing than is necessary in many of
87     the standard Common Lisp functions like floor, ffloor, etc.
88     * The special functions are not fully tested. I did a few
89     random spot checks for each function and compared the
90     results with maxima to verify them.
91     * The branch cuts for the special functions very likely will
92     not match the double-float versions, mostly because we don't
93     have working signed zeroes.
94     * Type derivation for double-double-floats might not be
95     working quite right.
96     * PI is still a double-float. If you want a double-double
97     version of pi, it's KERNEL:DD-PI. (Soon to be EXT:DD-PI.)
98     * There are probably still many bugs where double-double-float
99     support was overlooked.
100 rtoy 1.19 * The double-double arithmetic operations can be inlined by
101     specifying (SPACE 0). Otherwise, they are not inlined.
102     (Each double-double operation is about 20 FP instructions.)
103 rtoy 1.23 - Hash tables now support weak value, weak key-and-value, and
104     weak key-or-value tables. The :WEAK-P keyword argument can
105     take the following values with the given meanings:
107     T
108     For backward compatibility. It is the same as :KEY.
109     :KEY
110     The entry exists as long as the key is not
111     garbage-collected.
112     :VALUE
113     The entry exists as long as the value is not
114     garbage-collected.
115     :KEY-AND-VALUE
116     The entry exists as long as the key and the value are
117     alive.
118     :KEY-OR-VALUE
119     The entry exists as long as the key or the value are alive.
121     These tables are currently experimental, but appear to work.
122 rtoy 1.24 - TRACE supports an extra option, :WHEREIN-ONLY. This is
123     similar to the :WHEREIN option, except :WHEREIN-ONLY only
124     traces the function if the immediate caller is the specified
125     function(s).
126 rtoy 1.1
127     * Numerous ANSI compliance fixes:
129     - A reader-error is signaled if the number that is being read is
130     too small to be presented. We used to silently return 0.
131     - WITH-INPUT-FROM-STRING no longer modifies the index if
132     WITH-INPUT-FROM-STRING is not exited normally.
133     - An error is signaled if a declaration is used as the name of a
134     deftype, condition, or defstruct, and vice versa.
135     - An error is signaled when trying to generate a namestring from
136     a pathname with just a version component (other than nil,
137     :newest, or :unspecific). CMUCL cannot print that readably.
138     - FLET and LABELS functions will catch errors in keyword
139     parameters. Previously, a keyword of NIL was silently
140     accepted.
141     - Printing a zero using ~E will now include a trailing zero
142     after the decimal point, as required by CLHS,
143 rtoy 1.2 - DOCUMENTATION and (SETF DOCUMENTATION) now works for
144     structures of type list or vector.
145 rtoy 1.3 - DOTIMES will execute the loop the specified number of times,
146     independent of what the loop might do to the loop counter.
147 rtoy 1.12 - Printing of circular objects using logical-blocks is handled
148     better.
149 rtoy 1.13 - SET-SYNTAX-FROM-CHAR copies the entire dispatch table of
150     reader macro functions if necessary.
151     - SET-SYNTAX-FROM-CHAR handles single-escape, multiple-escape
152     and # characters correctly now.
153     - When CLOSE'ing a file with :ABORT, don't delete the file,
154     unless we renamed it. This preserves any and all changes to
155     the file, instead of deleting it.
156 rtoy 1.17 - As specified by CLHS, PRIN1 and friends now produce
157     a trailing zero if necessary.
158     - As specified by CLHS, ~E will produce a single zero
159     for the fractional part, if necessary.
160     - (FORMAT NIL "~,2F" 0.001) produces "0.00" instead of "0.001".
161     Thus, we actually honor the d field now.
162 rtoy 1.1
163     * Numerous bugfixes:
165     - LISTEN on DUAL-CHANNEL-SIMPLE-STREAM should work now.
166     - Some numerical issues with the two-arg log function have been
167     fixed. (log 17 10f0), (log 17f0 10) and (log 17 10) all
168     return the same result now.
169     - DESTRUCTURING-BIND no longer causes an error when the list to
170     be destructured is circular.
171 rtoy 1.2 - PEEK-CHAR for Gray streams handles end of file correctly now.
172     - For the ppc port, the alignment of objects in alien structures
173     now matches the PowerOpen ABI for Mac OS X.
174 rtoy 1.3 - For Darwin/ppc, CMUCL was not following the ABI when calling
175     out to C varargs functions. Now we always copy any float args
176     to the corresponding int regs (or stack) as required by the
177     ABI. This isn't necessary for non-varargs functions, but
178     CMUCL doesn't know functions which are varargs functions.
179     - Callbacks with long-long args or results should work correctly
180     now for Darwin/ppc.
181 rtoy 1.5 - DESCRIBE no longer depends on having PCL loaded.
182     - Tracing with no encapsulation appears to be working now for
183     ppc.
184     - A simple interface to sysinfo(2) has been added for sparc.
185     This is used to provide better values for MACHINE-TYPE and
187 rtoy 1.6 - PARSE-TIME can parse times like "Tue Sep 7 18:56:57 UTC 2004"
188     again.
189     - The pretty-printer for MULTIPLE-VALUE-BIND can handle
190 rtoy 1.9 malformed MULTIPLE-VALUE-BIND forms now, instead of producing
191 rtoy 1.6 an error.
192 rtoy 1.7 - Callbacks on Darwin/ppc with a large number of args (more than
193     8 integer args) should work correctly now. (Previous versions
194     would signal an error.)
195 rtoy 1.9 - DESCRIBE no longer says arrays are adjustable when they are
196     not, and vice versa.
197     - Disassembly of some floating-point instructions on ppc has
198     been corrected to display floating-point registers instead of
199     integer registers.
200 rtoy 1.11 - (read (make-array 5)) doesn't cause a segfault anymore on
201     x86/linux. An error is now signaled saying the object isn't
202     one of the possible stream types.
203     - The PPC port no longer runs very slowly on some tests on a G5.
204     This was caused by using an instruction (mcrxr) that is
205     emulated on a G5 but not earlier.
206 rtoy 1.12 - The pretty printer no longer causes an error on badly formed
207     slots in defclass forms.
208 rtoy 1.14 - Document LISP::*IGNORE-WILDCARDS*. When set, namestrings will
209     not have pathnames with wildcards escaped when parsing
210     namestrings or when creating namestrings.
211 rtoy 1.17 - Fix PPC bug in fixnum arithmetic that caused overflow. A trap
212     would be triggered, but there's no C support for the trap.
213     - Some flet/labels functions were not disassembled at all.
214     - (expt 1 <big number>) doesn't trigger a continuable error
215     anymore and returns 1 immediately.
216     - Disassembling methods doesn't produce a type error anymore.
217 rtoy 1.19 - The unknown condition type 'LISP:SOCKET-ERROR has been fixed.
218     It properly signals the EXT:SOCKET-ERROR condition now.
219 rtoy 1.20 - The accuracy of the trig functions (sin, cos, tan) for large
220     arguments has been improved for x86 and ppc. Sparc already
221     had accurate versions. Thus, (cos 1d120) is
222     -0.8278608682708728d0.
223 rtoy 1.21 - ROOM works a bit better with GENCGC's allocation because
224     unallocated pages ended up looking like pages of conses.
225     - DESCRIBE will indicate if a hash-table is a weak (key)
226     hash-table or not.
227     - Some issues with GC of weak pointers and weak hash-tables have
228     been fixed. (CMUCL would sometimes crash to ldb about weird,
229     invalid objects.) There are, however, still issues with weak
230     pointers.
231 rtoy 1.22 - Hash table entries with a key and value of :EMTPY now work as
232     expected.
233 rtoy 1.23 - EXT:READ-VECTOR can read binary data from streams with element
234     type BASE-CHAR or CHARACTER.
236     * Trac Tickets
237     3. without-package-locks doesn't work with defmacro
238     - DEFMACRO within a WITHOUT-PACKAGE-LOCKS now actually
239     disables the package lock.
240     4. symbol-macrolet + ignorable causes internal compiler error
241     - IGNOREing a symbol in a SYMBOL-MACROLET doesn't cause a
242     type error anymore.
243     5. Hash table entry with key and value of :EMPTY is treated as
244     an empty entry.
245     - :EMPTY is allowed now and works as expected.
246     6. GCed items in weak hash tables are still accessible (with
247     random junk)
248     - When an entry is freed in a weak hash-table, the entry is
249     actually marked as free now. Previously, MAPHASH and
250     WITH-HASH-TABLE-ITERATOR would still display (potentially
251     incorrect) entry for it.
252     7. Bug in ext:read-vector
253     - Fixed so that EXT:READ-VECTOR can read binary data from
254     streams with element type BASE-CHAR and CHARACTER. This
255     matches the behavior of STREAMS:READ-VECTOR.
256 rtoy 1.22
257 rtoy 1.1 * Other changes:
259     - CMUCL catches more cases where it cannot print a pathname
260     readably. In particular when the pathname name contains "/"
261     or ".", or when the pathname type contains a ".".
262 rtoy 1.6 - WITH-SLOTS and WITH-ACCESSORS are now pprinted like
263     MULTIPLE-VALUE-BIND instead of like WITH-OPEN-FILE.
264 rtoy 1.12 - LOOKUP-HOST-ENTRY now returns a second value. If
265     LOOKUP-HOST-ENTRY succeeds, the second value is T; otherwise,
266     the value of h_errno is returned.
267 rtoy 1.22 - A warning is printed when creating a weak key hash table with
268     a test different from EQ.
269 rtoy 1.1
270     * Improvements to the PCL implementation of CLOS:
272     * Changes to rebuilding procedure:
273     - Build scripts should recognize FreeBSD automatically.
274     - Should be able to build on either Mac OS X 10.2 or 10.4 using
275     the default version of gcc.
277     This release is not binary compatible with code compiled using CMUCL
278 emarsden 1.4 19c; you will need to recompile FASL files.
279 rtoy 1.1
280     See <URL:http://www.cons.org/cmucl/> for download information,
281     guidelines on reporting bugs, and mailing list details.
284     We hope you enjoy using this release of CMUCL!

  ViewVC Help
Powered by ViewVC 1.1.5