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

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

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.28.2.2 by rtoy, Fri Jun 17 15:03:55 2005 UTC revision 1.28.2.3 by rtoy, Wed Jun 22 14:37:20 2005 UTC
# Line 15  Common Lisp. CMUCL is maintained by a te Line 15  Common Lisp. CMUCL is maintained by a te
15  over the Internet, and is mostly in the public domain.  over the Internet, and is mostly in the public domain.
16    
17  New in this release:  New in this release:
18    
19      * Newly supported platforms:
20    
21          - CMUCL has been ported to Mac OS X. The port includes support for
22            callbacks from foreign code, and linkage-table support (which
23            makes it possible to dump images that contain references to
24            foreign code).
25          - the NetBSD/x86 platform is supported, with generational
26            conservative garbage collection (the :gencgc *feature*),
27            linkage-table support, and the Motif interface.
28    
29    
30    * Feature enhancements:    * Feature enhancements:
31        - CMUCL ported to Mac OS X.  Supported for versions including  
         10.4.  
32        - Added a much faster and much less consy bignum printer and a        - Added a much faster and much less consy bignum printer and a
33          faster bignum reader.          faster bignum reader.
34        - Extended REQUIRE to support *MODULE-PROVIDER-FUNCTIONS* from        - Extended REQUIRE to support *MODULE-PROVIDER-FUNCTIONS* from
35          SBCL.          SBCL.
       - NetBSD supported.  
36        - SIMPLE-STREAM fixes:        - SIMPLE-STREAM fixes:
37             o READ-SEQUENCE and WRITE-SEQUENCE for             o READ-SEQUENCE and WRITE-SEQUENCE for
38               signed-byte/unsigned-byte 8 streams.               signed-byte/unsigned-byte 8 streams.
39             o Memory-mapped file streams.             o Memory-mapped file streams.
40        - Large file support for Solaris, so CMUCL can handle files        - Large file support for Solaris, so CMUCL can handle files
41          larger than 2GB.          larger than 2GB.
       - Support for Mac OS X.  
42        - A much faster GCD implementation.        - A much faster GCD implementation.
43        - A faster Karatsuba multiplier when the number of words of the        - A faster Karatsuba multiplier when the number of words of the
44          bignums is not a power of 2.  (Break-even is still around 1500          bignums is not a power of 2.  (Break-even is still around 1500
# Line 42  New in this release: Line 50  New in this release:
50        - Lazy sxhash on symbols implemented for ppc.        - Lazy sxhash on symbols implemented for ppc.
51        - Pretty-printer for LOOP.        - Pretty-printer for LOOP.
52        - Added some more pprinters for various forms.        - Added some more pprinters for various forms.
       - Callbacks supported on Mac OS X.  
53        - Loop analysis code added to the compiler.  It's incorporated        - Loop analysis code added to the compiler.  It's incorporated
54          into the build and can be enabled by setting *loop-analyze* to          into the build and can be enabled by setting *loop-analyze* to
55          T, but the compiler doesn't use the loop information for          T, but the compiler doesn't use the loop information for
56          anything yet.          anything yet.
57        - Errors from socket functions signal a SOCKET-ERROR instead of        - Errors from socket functions signal a SOCKET-ERROR instead of
58          ERROR.          a generic ERROR condition.
59        - Efficiency notes are no longer printed if inhibit-warnings >=        - Efficiency notes are no longer printed if inhibit-warnings >=
60           2.5.          2.5.
61        - Simple support for datagram networking added: INET-RECVFROM,        - Simple support for datagram networking added: INET-RECVFROM,
62          INET-SENDTO, INET-SHUTDOWN.          INET-SENDTO, INET-SHUTDOWN.
       - Linkage table support for PPC and Darwin.  
       - A socket reset signals a SOCKET-ERROR condition instead of a  
         general ERROR condition.  
63        - MAKE-INDENTING-STREAM and INDENTING-STREAM-P are exported from        - MAKE-INDENTING-STREAM and INDENTING-STREAM-P are exported from
64          the EXTENSIONS package instead of being internal.          the EXTENSIONS package instead of being internal.
65        - TRACE will work now for the known-return convention, which        - TRACE will work now for the known-return convention, which
# Line 64  New in this release: Line 68  New in this release:
68        - Bivalent streams are supported.  Thus, streams with        - Bivalent streams are supported.  Thus, streams with
69          element-type (unsigned-byte 8) can be used for character          element-type (unsigned-byte 8) can be used for character
70          input/output as well as binary input/output.  Supply the          input/output as well as binary input/output.  Supply the
71          option :CLASS 'EXT:BINARY-TEXT-STREAM for OPEN to get bivalen          option :CLASS 'EXT:BINARY-TEXT-STREAM for OPEN to get bivalent
72          streams.  EXT:READ-VECTOR and EXT:WRITE-VECTOR also          streams.  EXT:READ-VECTOR and EXT:WRITE-VECTOR also
73          implemented.  This is somewhat experimental right now, and may          implemented.  This is somewhat experimental right now, and may
74          change slightly in a future version.          change slightly in a future version.
# Line 81  New in this release: Line 85  New in this release:
85          fixes an issue with ASDF and logical pathnames.          fixes an issue with ASDF and logical pathnames.
86        - Numerous fixes to the float printer, including a new float        - Numerous fixes to the float printer, including a new float
87          printer.          printer.
88        - Justification (~< ~>) works better.        - Justification (~< ~> FORMAT directives) works better.
89        - ~V with the value of NIL in format strings is treated to mean        - ~V with the value of NIL in format strings is treated to mean
90          as if it weren't given at all, as specified by ANSI CL.          as if it weren't given at all, as specified by ANSI CL.
91        - Characters print consistently with ~:C and ~S.        - Characters print consistently with ~:C and ~S.
# Line 91  New in this release: Line 95  New in this release:
95        - UPGRADED-COMPLEX-PART-TYPE returns RATIONAL for integer types        - UPGRADED-COMPLEX-PART-TYPE returns RATIONAL for integer types
96          now.  (CMUCL doesn't really have a (COMPLEX INTEGER) type).          now.  (CMUCL doesn't really have a (COMPLEX INTEGER) type).
97        - When a pathname can't be printed readably, signal a        - When a pathname can't be printed readably, signal a
98          PRINT-NOT-READABLE condition          PRINT-NOT-READABLE condition.
99        - Printing arrays readably was sometimes wrong.        - Printing arrays readably was sometimes wrong.
100        - FOR-AS-ON-LIST works with dotted lists.        - FOR-AS-ON-LIST works with dotted lists.
101        - DEFSTRUCT predicates for list structures don't produce errors        - DEFSTRUCT predicates for list structures don't produce errors
# Line 99  New in this release: Line 103  New in this release:
103        - UNBOUND-SLOT condition no longer takes the :slot keyword.  It        - UNBOUND-SLOT condition no longer takes the :slot keyword.  It
104          uses the ANSI-specified :name keyword.  This is not backward          uses the ANSI-specified :name keyword.  This is not backward
105          compatible!          compatible!
106        - MAKE-SYMBOL takes STRING's, not just SIMPLE-STRING's.        - MAKE-SYMBOL takes STRINGs, not just SIMPLE-STRINGs.
107        - PPRINT-POP did not return NIL when the list arg to        - PPRINT-POP did not return NIL when the list arg to
108          PPRINT-LOGICAL-BLOCK was NIL.          PPRINT-LOGICAL-BLOCK was NIL.
109        - Signal appropriate error conditions instead of a plain error        - Signal appropriate error conditions instead of a plain error
# Line 116  New in this release: Line 120  New in this release:
120        - Format bugs in ~{ and ~@[X~], as noted by ansi-tests, have        - Format bugs in ~{ and ~@[X~], as noted by ansi-tests, have
121          been fixed.          been fixed.
122        - Evaluation order of REMF, INCF, and DECF.        - Evaluation order of REMF, INCF, and DECF.
123        - When *read-suppress* is T, READ, READ-PRESERVING-WHITESPACE,        - When *READ-SUPPRESS* is T, READ, READ-PRESERVING-WHITESPACE,
124          READ-DELIMITED-LIST, and READ-FROM-STRING now return NIL, as          READ-DELIMITED-LIST, and READ-FROM-STRING now return NIL, as
125          specified by ANSI CL.  (Previously, CMUCL would return a list          specified by ANSI CL.  (Previously, CMUCL would return a list
126          of NILs.)          of NILs.)
127        - Pathname components of type :UNSPECIFIC are not printed in        - Pathname components of type :UNSPECIFIC are no longer printed in
128          namestrings anymore.          namestrings.
129        - Dumping of symbols in fasls work according to ANSI now.        - Dumping of symbols in fasls now works according to ANSI.
130        - READ-FROM-STRING was sometimes not returning the correct        - READ-FROM-STRING was sometimes not returning the correct
131          second value when the string was a displaced string.          second value when the string was a displaced string.
132        - The invalid trait for constituent characters is handled        - The invalid trait for constituent characters is handled
133          better.          better.
134        - (formatter "~V[...~]" now returns the correct result for        - (formatter "~V[...~]") now returns a correct second value.
         second value.  
135        - MAKE-DISPATCH-MACRO-CHARACTER is supposed to return T.        - MAKE-DISPATCH-MACRO-CHARACTER is supposed to return T.
136        - APROPOS and APROPOS-LIST don't take 3 args anymore.  ANSI CL        - APROPOS and APROPOS-LIST no longer take 3 arguments.  ANSI CL
137          says they only take 2.          says they only take 2.
138        - A reader error is signaled when bad ratios (like 1/0) are read        - A reader error is signaled when bad ratios (like 1/0) are read
139          or when a float can't fit into the specified float type.          or when a float can't fit into the specified float type.
140        - A form like #(1 . 2) signals a reader error now.        - A form like #(1 . 2) now signals a reader error.
141        - NIL as a keyword arg is no longer silently accepted, unless        - NIL as a keyword arg is no longer silently accepted, unless
142          NIL was actually a specified keyword arg.          NIL was actually a specified keyword arg.
143        - Some cases of reader errors being signaled when        - Some cases of reader errors being signaled when
144          *READ-SUPPRESS* was T no longer occur.          *READ-SUPPRESS* was T no longer occur.
145        - The datum slot for check-type contains the place-value now        - The datum slot for check-type contains the place-value now
146          instead of the place.          instead of the place.
147        - The expected-type and datum should be consistent in        - The expected-type and datum should now be consistent in
148          type-errors now.  (datum is not of the expected-type.)          type-errors  (datum is not of the expected-type).
149          Similar situations in other errors are also corrected.          Similar situations in other errors are also corrected.
150    
151    * Numerous bugfixes:    * Numerous bugfixes:
152    
153        - FFLOOR and friends preserve the sign of the arg, so -0.0 is        - FFLOOR and friends preserve the sign of the arg, so -0.0 is
154          returned for negative args.          returned for negative args.
155        - EXPT sometimes returne NaN instead of 1 when the power was 0.        - EXPT sometimes returned NaN instead of 1 when the power was 0.
156        - Weak pointers don't have O(n^2) GC behavior anymore.        - Weak pointers no longer have O(n^2) GC behavior.
157        - X11 authorization changes to solve problems seen with servers        - X11 authorization changes to solve problems seen with servers
158          that don't listen to TCP connection requests.          that don't listen to TCP connection requests.
159        - unix-read fix        - UNIX-READ fix
160        - The compiler would give an error on deriving the result type        - The compiler would give an error on deriving the result type
161          of RANDOM when the arg to RANDOM was a union type.          of RANDOM when the arg to RANDOM was a union type.
162        - "~*~" was not being parsed to mean a wildcard version.        - "~*~" was not being parsed to mean a wildcard version.
163        - UNIX-GETPWUID implemented for Darwin.  Needed for FILE-AUTHOR.        - UNIX-GETPWUID implemented for Darwin.  Needed for FILE-AUTHOR.
164        - The compiler no longer gives errors when deriving the result type of        - The compiler no longer gives errors when deriving the result type of
165          coerce when converting a integer to a float that would not fit          COERCE when converting a integer to a float that would not fit
166          in a float.          in a float.
167        - Fix bug in reading from streams with element-type SIGNED-BYTE        - Fix bug in reading from streams with element-type SIGNED-BYTE
168          for sizes greater than 32:  Positive numbers were incorrectly          for sizes greater than 32:  Positive numbers were incorrectly
# Line 168  New in this release: Line 172  New in this release:
172          because PPRINT-EXIT-IF-LIST-EXHAUSTED caused an early exit.          because PPRINT-EXIT-IF-LIST-EXHAUSTED caused an early exit.
173        - Macro expansion was not looking in the local environment        - Macro expansion was not looking in the local environment
174          properly for local definitions.          properly for local definitions.
175        - Circular Weak pointers can now be printed when *print-circle*        - Circular weak pointers can now be printed when *PRINT-CIRCLE*
176          is T.          is T.
177        - "foo.lisp.*" is interpreted to have version :wild, just like        - "foo.lisp.*" is interpreted to have version :wild, just like
178          "foo.lisp.~*~".          "foo.lisp.~*~".
# Line 217  New in this release: Line 221  New in this release:
221        - Output to (make-two-way-stream (make-concatenated-stream)        - Output to (make-two-way-stream (make-concatenated-stream)
222          (make-broadcast-stream)) silently discards output instead of          (make-broadcast-stream)) silently discards output instead of
223          producing an error.          producing an error.
224        - STRING<, STRING<=, STRING>, STRING>= no longer produces        - STRING<, STRING<=, STRING>, STRING>= no longer produce
225          incorrect results.          incorrect results.
226        - COPY-SEQ sometimes produced erroneous results because the        - COPY-SEQ sometimes produced erroneous results because the
227          compiler was confused by the derived result type of COPY-SEQ.          compiler was confused by the derived result type of COPY-SEQ.
# Line 233  New in this release: Line 237  New in this release:
237        - The disassembler handles closures better.        - The disassembler handles closures better.
238        - The result array for bit-* operations was sometimes too short        - The result array for bit-* operations was sometimes too short
239          if the args had fill pointers.          if the args had fill pointers.
240        - Weak hash tables don't cause GC to go into infinite loops        - Weak hash tables no longer cause GC to go into an infinite loop.
241          anymore.        - (PEEK-CHAR nil s nil foo) doesn't remove the character
       - (PEEK-CHAR nil s nil foo)  doesn't remove the character  
242          that was read if FOO happens to match the character that          that was read if FOO happens to match the character that
243          PEEK-CHAR returns.          PEEK-CHAR returns.
244        - PROFILE sometimes crashes when an internal data structure was        - PROFILE sometimes crashes when an internal data structure was
245          set to a non-boolean value.          set to a non-boolean value.
       - Various regressions and bugs in the float printer (~E, ~F, ~G)  
         have been fixed.  
       - OPEN-X-STREAM accepts :INTERNET as a protocol again.  
246    
247    * Other changes:    * Other changes:
248    
249        - Infinite loops in map and friends caused by specifying        - Infinite loops in map and friends caused by specifying
250          sequence types that are too hairy for CMUCL should no longer          sequence types that are too hairy for CMUCL should no longer
251          occur.  But CMUCL will now signal an error, which may not be          occur.  But CMUCL will now signal an error, which may not be
# Line 269  New in this release: Line 270  New in this release:
270          would just use it.          would just use it.
271    
272    * Improvements to the PCL implementation of CLOS:    * Improvements to the PCL implementation of CLOS:
273    
274        - AMOP-style custom slot allocation supported.        - AMOP-style custom slot allocation supported.
275        - The value of a slot that is specified as shared in the old        - The value of a slot that is specified as shared in the old
276          class and as local in the new class is now retained.          class and as local in the new class is now retained.
277        - CMUCL supports using the class name for the :metaclass        - CMUCL supports using the class name for the :metaclass
278          argument.          argument.
279    
   * Improvements to Hemlock, the Emacs-like editor:  
   
280    * Changes to rebuilding procedure:    * Changes to rebuilding procedure:
281    
282        - Added a new script to run all of the subscripts needed to        - Added a new script to run all of the subscripts needed to
283          build CMUCL.  Won't handle all cases, but will handle the most          build CMUCL.  Won't handle all cases, but will handle the most
284          common builds.          common builds.
285    
286    * Deprecated features:  
287    
288  This release is not binary compatible with code compiled using CMUCL  This release is not binary compatible with code compiled using CMUCL
289  19a; you will need to recompile FASL files.  19a; you will need to recompile FASL files.

Legend:
Removed from v.1.28.2.2  
changed lines
  Added in v.1.28.2.3

  ViewVC Help
Powered by ViewVC 1.1.5