/[cmucl]/src/general-info/release-19b.txt
ViewVC logotype

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.27 - (show annotations)
Wed May 11 16:31:09 2005 UTC (8 years, 11 months ago) by rtoy
Branch: MAIN
Changes since 1.26: +14 -1 lines
File MIME type: text/plain
Update from commit logs.
1 ========================== C M U C L 19 b =============================
2
3 [--- WORK IN PROGRESS --- DO NOT DISTRIBUTE ---]
4
5 The CMUCL project is pleased to announce the release of CMUCL 19b.
6 This is a major release which contains numerous enhancements and
7 bugfixes from the 19a 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 - CMUCL ported to Mac OS X.
23 - Added a much faster and much less consy bignum printer and a
24 faster bignum reader.
25 - Extended REQUIRE to support *MODULE-PROVIDER-FUNCTIONS* from
26 SBCL.
27 - NetBSD supported.
28 - SIMPLE-STREAM fixes:
29 o READ-SEQUENCE and WRITE-SEQUENCE for
30 signed-byte/unsigned-byte 8 streams.
31 o Memory-mapped file streams.
32 - Large file support for Solaris, so CMUCL can handle files
33 larger than 2GB.
34 - Support for Mac OS X.
35 - A much faster GCD implementation.
36 - A faster Karatsuba multiplier when the number of words of the
37 bignums is not a power of 2. (Break-even is still around 1500
38 bits, though.)
39 - New command-line switch -debug-lisp-search to show how lisp is
40 searching for its core file.
41 - DEBUG-RETURN implemented which allows you to return a value
42 from function. Only enabled with DEBUG 3.
43 - Lazy sxhash on symbols implemented for ppc.
44 - Pretty-printer for LOOP.
45 - Added some more pprinters for various forms.
46 - Callbacks supported on Mac OS X.
47 - Loop analysis code added to the compiler. It's incorporated
48 into the build and can be enabled by setting *loop-analyze* to
49 T, but the compiler doesn't use the loop information for
50 anything yet.
51 - Errors from socket functions signal a SOCKET-ERROR instead of
52 ERROR.
53 - Efficiency notes are no longer printed if inhibit-warnings >=
54 2.5.
55 - Simple support for datagram networking added: INET-RECVFROM,
56 INET-SENDTO, INET-SHUTDOWN.
57 - Linkage table support for PPC and Darwin.
58 - A socket reset signals a SOCKET-ERROR condition instead of a
59 general ERROR condition.
60 - :LINKAGE-TABLE feature is now supported on PPC.
61 - MAKE-INDENTING-STREAM and INDENTING-STREAM-P are exported from
62 the EXTENSIONS package instead of being internal.
63 - TRACE will work now for the known-return convention, which
64 used to require encapsulation so that only the first call was
65 traced. Useful for tracing recursive functions.
66 - Bivalent streams are supported. Thus, streams with
67 element-type (unsigned-byte 8) can be used for character
68 input/output as well as binary input/output. Supply the
69 option :CLASS 'EXT:BINARY-TEXT-STREAM for OPEN to get bivalen
70 streams. EXT:READ-VECTOR and EXT:WRITE-VECTOR also
71 implemented. This is somewhat experimental right now, and may
72 change slightly in a future version.
73 - Loading fasls compiled for a different version of CMUCL will
74 now signal an EXT:INVALID-FASL error instead a generic error.
75
76 * Numerous ANSI compliance fixes:
77 - FILE-AUTHOR should signal errors appropriately.
78 - CMUCL was computing the wrong value for some special functions
79 when the argument was on the branch cut for the function.
80 - MULTIPLE-VALUE-BIND accepts &REST and friends in the var list.
81 - When constructing logical pathnames, all components will be
82 automatically upcased. Needed for print/read consistency, and
83 fixes an issue with ASDF and logical pathnames.
84 - Numerous fixes to the float printer, including a new float
85 printer.
86 - Justification (~< ~>) works better.
87 - ~V with the value of NIL in format strings is treated to mean
88 as if it weren't given at all, as specified by ANSI CL.
89 - Characters print consistently with ~:C and ~S.
90 - Numerous bug fixes for pretty-printing and format strings.
91 - Pathnames are now printed with #P instead of #p.
92 - The types COMPLEX and (COMPLEX REAL) are the same now.
93 - UPGRADED-COMPLEX-PART-TYPE returns RATIONAL for integer types
94 now. (CMUCL doesn't really have a (COMPLEX INTEGER) type).
95 - When a pathname can't be printed readably, signal a
96 PRINT-NOT-READABLE condition
97 - Printing arrays readably was sometimes wrong.
98 - FOR-AS-ON-LIST works with dotted lists.
99 - DEFSTRUCT predicates for list structures don't produce errors
100 anymore on dotted or short lists.
101 - UNBOUND-SLOT condition no longer takes the :slot keyword. It
102 uses the ANSI-specified :name keyword. This is not backward
103 compatible!
104 - MAKE-SYMBOL takes STRING's, not just SIMPLE-STRING's.
105 - PPRINT-POP did not return NIL when the list arg to
106 PPRINT-LOGICAL-BLOCK was NIL.
107 - Signal appropriate error conditions instead of a plain error
108 condition in many situations.
109 - TYPECASE was treating the type T as an otherwise clause even
110 though it was not the last clause. It should be just a
111 regular clause.
112 - ASIN, ACOS, ACOSH, and ATANH were returning the wrong values
113 when the arg was a real number on the branch cut.
114 - Missed some places where loop variables were duplicated, which
115 should signal a program-error.
116 - LOOP INITIALLY clauses occur after variable initialization for
117 FOR, WITH, and AS clauses, as required by ANSI CL.
118 - Format bugs in ~{ and ~@[X~], as noted by ansi-tests, have
119 been fixed.
120 - Evaluation order of REMF, INCF, and DECF.
121 - When *read-suppress* is T, READ, READ-PRESERVING-WHITESPACE,
122 READ-DELIMITED-LIST, and READ-FROM-STRING now return NIL, as
123 specified by ANSI CL. (Previously, CMUCL would return a list
124 of NILs.)
125 - Pathname components of type :UNSPECIFIC are not printed in
126 namestrings anymore.
127 - Dumping of symbols in fasls work according to ANSI now.
128 - READ-FROM-STRING was sometimes not returning the correct
129 second value when the string was a displaced string.
130 - The invalid trait for constituent characters is handled
131 better.
132 - (formatter "~V[...~]" now returns the correct result for
133 second value.
134 - MAKE-DISPATCH-MACRO-CHARACTER is supposed to return T.
135 - APROPOS and APROPOS-LIST don't take 3 args anymore. ANSI CL
136 says they only take 2.
137 - A reader error is signaled when bad ratios (like 1/0) are read
138 or when a float can't fit into the specified float type.
139 - A form like #(1 . 2) signals a reader error now.
140 - NIL as a keyword arg is no longer silently accepted, unless
141 NIL was actually a specified keyword arg.
142 - Some cases of reader errors being signaled when
143 *READ-SUPPRESS* was T no longer occur.
144 - The datum slot for check-type contains the place-value now
145 instead of the place.
146 - The expected-type and datum should be consistent in
147 type-errors now. (datum is not of the expected-type.)
148 Similar situations in other errors are also corrected.
149
150 * Numerous bugfixes:
151 - FFLOOR and friends preserve the sign of the arg, so -0.0 is
152 returned for negative args.
153 - EXPT sometimes returne NaN instead of 1 when the power was 0.
154 - Weak pointers don't have O(n^2) GC behavior anymore.
155 - X11 authorization changes to solve problems seen with servers
156 that don't listen to TCP connection requests.
157 - unix-read fix
158 - The compiler would give an error on deriving the result type
159 of RANDOM when the arg to RANDOM was a union type.
160 - "~*~" was not being parsed to mean a wildcard version.
161 - UNIX-GETPWUID implemented for Darwin. Needed for FILE-AUTHOR.
162 - The compiler no longer gives errors when deriving the result type of
163 coerce when converting a integer to a float that would not fit
164 in a float.
165 - Fix bug in reading from streams with element-type SIGNED-BYTE
166 for sizes greater than 32: Positive numbers were incorrectly
167 being returned as negative.
168 - REMOVE-DUPLICATES was not honoring the :START option.
169 - PPRINT-LOGICAL-BLOCK sometimes didn't close the block properly
170 because PPRINT-EXIT-IF-LIST-EXHAUSTED caused an early exit.
171 - Macro expansion was not looking in the local environment
172 properly for local definitions.
173 - Circular Weak pointers can now be printed when *print-circle*
174 is T.
175 - "foo.lisp.*" is interpreted to have version :wild, just like
176 "foo.lisp.~*~".
177 - DIRECTORY will report all versions of a file if the pathname
178 has version :wild.
179 - Fixed bug with CLX on MacOS X where the WM-SIZE-HINTS were
180 larger than CLX expected. Replaced card16 with card32.
181 - Callbacks on sparc that returned double-floats were sometimes
182 causing a sigbus error.
183 - Type specifiers like (float low high) where low and high were
184 outside the range of single-float numbers no longer cause
185 compiler errors.
186 - Fix source-form reporting in the disassembler.
187 - Arrays in fasl files had non-NIL fill-pointer. Make them NIL.
188 - FILE-POSITION was incorrectly set for simple-streams after a
189 READ-VECTOR.
190 - Printing 1d23 no longer causes an error.
191 - Work around the problem of (concatenate 'fixnum '(1)) causing
192 deletion of all following code.
193 - A directory with a component of :WILD was not correctly
194 handled.
195 - CREATE-INET-LISTENER was missing a call to htonl.
196 - (coerce #c(1 2) '(complex float)) works now.
197 - Type derivation for logior and logxor was broken.
198 - Fixed bug where (setf (aref f 0) (aref d 0)) doesn't produce a
199 warning and causes code including the function return to be
200 deleted, where f is a single-float array and d is a
201 double-float array.
202 - COUNT for bit arrays was sometimes failing to include the
203 count from the last 32-bits of the array.
204 - The default heap size was causing CMUCL to fail on Solaris
205 10. Change the default so this doesn't happen. (The real
206 cause is unknown.)
207 - In some cases, the compiler was spending large amounts of time
208 deriving union of a bunch of disjoint integer intervals. If
209 the union is long enough, we give up and just return the
210 smallest new interval that contains all of the disjoint
211 intervals. (This needs a better fix.)
212 - The :WHEREIN option to TRACE handles methods now.
213 - The maximum dynamic space size was wrong on Linux.
214 - Type inferencing for OPEN was broken when :IF-DOES-NOT-EXIST
215 was given and was not a compile-time constant.
216 - ~G output always had a zero for the last digit when
217 exponential form was used. Fix this so the last digit has the
218 correct digit.
219 - Output to (make-two-way-stream (make-concatenated-stream)
220 (make-broadcast-stream)) silently discards output instead of
221 producing an error.
222 - STRING<, STRING<=, STRING>, STRING>= no longer produces
223 incorrect results.
224 - COPY-SEQ sometimes produced erroneous results because the
225 compiler was confused by the derived result type of COPY-SEQ.
226 - Many (all?) compiler failures about a STRANGE-TEMPLATE-FAILURE
227 should be fixed.
228 - Type derivation for LOGAND is fixed. (Affects LOGAND and
229 LOGBITP.)
230 - Type derivation for SCALE-FLOAT is fixed. Should also work
231 better on x86. (But there are still bugs in x86's handling of
232 single-floats.)
233 - generic-site.lisp won't give an error when updating
234 *HERALD-ITEMS* when the -quiet flag is used.
235 - The disassembler handles closures better.
236 - The result array for bit-* operations was sometimes too short
237 if the args had fill pointers.
238
239 * Other changes:
240 - Infinite loops in map and friends caused by specifying
241 sequence types that are too hairy for CMUCL should no longer
242 occur. But CMUCL will now signal an error, which may not be
243 compliant either.
244 - Compiler is a little smarter in deriving the result type of
245 MAP.
246 - MAKE-PATHNAME will accept a :HOST arg of NIL, and will use NIL
247 as the host slot instead of filling in the host slot from the
248 defaults.
249 - CMUCL/sparc should now run on Solaris 10. This port no longer
250 uses the reserved register %g7 anymore. The heap size is now
251 rounded to a multiple of 8 MB. Without this, CMUCL eventually
252 gets a GC error on Solaris 10 when using gencgc. There appear
253 to be no problems with Cheney GC on Solaris 10.
254 - The config script uses REQUIRE instead of LOAD to load up
255 CMUCL's system libraries so there are no package-lock errors.
256 - REQUIRE no longer disables package-locks when loading
257 requested file. But package-locks are disabled for CMUCL's
258 own system libraries like gray-streams, clx, etc.
259 - CMUCL should fail gracefully on x86 if something is already
260 mapped at addresses CMUCL wants for itself. Previously, CMUCL
261 would just use it.
262
263 * Improvements to the PCL implementation of CLOS:
264 - AMOP-style custom slot allocation supported.
265
266 * Improvements to Hemlock, the Emacs-like editor:
267
268 * Changes to rebuilding procedure:
269
270 * Deprecated features:
271
272 This release is not binary compatible with code compiled using CMUCL
273 19a; you will need to recompile FASL files.
274
275 See <URL:http://www.cons.org/cmucl/> for download information,
276 guidelines on reporting bugs, and mailing list details.
277
278
279 We hope you enjoy using this release of CMUCL!
280

  ViewVC Help
Powered by ViewVC 1.1.5