/[cmucl]/src/general-info/release-20c.txt
ViewVC logotype

Contents of /src/general-info/release-20c.txt

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.23 - (show annotations)
Fri Jun 10 17:38:27 2011 UTC (2 years, 10 months ago) by rtoy
Branch: MAIN
Changes since 1.22: +3 -0 lines
File MIME type: text/plain
Add function to load all unicode data into memory.

This makes it easy to make an executable image that doesn't need
unidata.bin around.  (Should we do this for normal cores?  It seems to
add about 1 MB to the core size.)

code/unidata.lisp:
o Add LOAD-ALL-UNICODE-DATA to load all unicode data.
o Add UNICODE-DATA-LOADED-P to check that unicode data has been
  loaded.

code/print.lisp:
o If unicode data is loaded, don't check for existence of
  *unidata-path*, because we don't need it.

code/exports.lisp:
o Export LOAD-ALL-UNICODE-DATA.

general-info/release-20c.txt:
o Update info
1 ========================== C M U C L 20 c =============================
2
3 [--- WORK IN PROGRESS ---]
4
5 The CMUCL project is pleased to announce the release of CMUCL 20c.
6 This is a major release which contains numerous enhancements and
7 bug fixes from the 20b 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 multi-methods and a meta-object 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 * Known issues:
22
23 * Feature enhancements
24 - Update to Unicode 5.2.0.
25 - Add support for character name completion. This can be used by
26 Slime to do character name completion.
27 - Initial support for Solaris/x86. CMUCL will run on Solaris/x86
28 with all features available, except only Unicode is supported.
29
30 * Changes
31 - ASDF2 updated to version 2.014.1.
32 - COMPILE-FILE now accepts a :DECODING-ERROR argument that
33 indicates how to handle decoding errors when reading the file.
34 It has the same meaning and effect as the :DECODING-ERROR
35 argument to OPEN. This defaults to T here so that decoding
36 errors are signaled on invalid sequences instead of silently
37 replacing the bad sequence with some kind of replacement
38 character.
39 - In 19f through 20b, READ-SEQUENCE could read mostly arbitrary
40 data from a stream in to the given sequence. In this release,
41 READ-SEQUENCE cannot do that unless the stream is a
42 binary-text-stream. This is an incompatible change from
43 previous releases.
44 - RUN-PROGRAM accepts :EXTERNAL-FORMAT parameter to specify the
45 external format to be used for any streams that RUN-PROGRAM
46 needs to create.
47 - Add src/tools/build-all.sh to automate building all of the
48 variants (x87/sse2, unicode/8-bit).
49 - LISP::ENUMERATE-MATCHES had a keyword arg named
50 :VERIFY-EXISTANCE. This has been changed to :VERIFY-EXISTENCE.
51 - Added -unidata command line option to allow user to specify the
52 unidata.bin file to be used instead of the default one.
53 - :CMUCL is now in *FEATURES*.
54 - Add LISP:LOAD-ALL-UNICODE-DATA to load all the Unicode
55 information into core. This is useful for creating an
56 executable image that does not need unidata.bin.
57
58 * ANSI compliance fixes:
59 - Fixes for signaling errors with READ-CHAR and READ-BYTE
60 o READ-CHAR signals errors if the stream is not a character
61 stream. This is a change from 20a and 20b, but matches
62 releases before 19f. (Almost. 19f allowed reading characters
63 from (unsigned-byte 8) streams. 19e did not.)
64 o READ-BYTE signals errors if the stream is not a binary
65 stream. This is also a change from 20a and 20b, but matches
66 releases before 19f. (Almost. 19f allowed reading bytes from
67 character streams. 19e did not.)
68 o But READ-CHAR and READ-BYTE will work if the stream class is
69 'binary-text-stream, an extension for bivalent streams in
70 CMUCL. READ-CHAR will use the specified external format for
71 such streams. READ-BYTE reads (unsigned-byte 8) elements from
72 such streams.
73 - UNINTERN no longer removes the wrong symbol. UNINTERN would
74 remove the symbol when inherited from another package although
75 it should not.
76 - DEFSTRUCT allows multiple keyword constructors as required by
77 the spec..
78 - In COMPILE-FILE, the :OUTPUT-FILE can also be a stream.
79 - (OPEN f :DIRECTION :IO :IF-DOES-NOT-EXIST NIL) no longer signals
80 an error if f does not exist. It returns NIL now.
81 - The second value returned by COMPLE-FILE is now T when there are
82 style warnings.
83
84 * Bugfixes:
85 - The pairwise composition table is now correctly built.
86 Previously, it skipped over non-BMP codepoints. This also
87 requires a fix in %COMPOSE to handle non-BMP codepoints
88 correctly. The normalization test now passes.
89 - On x86, REALPART and IMAGPART no longer incorrectly returns 0
90 instead of the correct part of a complex number in some
91 situations.
92 - The command line parser now correctly handles the case where
93 "--" is the first command option.
94 - build.sh was accidenally loading the site-init file, but it
95 shouldn't.
96 - On sparc, the vops to add a float to a complex were broken,
97 resulting in a complex number with the float as realpart and
98 garbage for the imaginary part. This is now fixed.
99 - XLIB::GET-BEST-AUTHORIZATION will now return authorization data
100 if the protocol is :local, if the xauth file contains just
101 "localhost/unix:0". Previously, no authorization data was
102 returned because GET-BEST-AUTHORIZATION was looking for the
103 hostname.
104 - FORMAT signals an warning if ~:; is used inside ~:[.
105 - SET-SYSTEM-EXTERNAL-FORMAT was not actually setting the filename
106 encoding if given.
107 - SUBSEQ with an end index less than the start index sometimes
108 crashes CMUCL. Now, signal an error if the bounds are not
109 valid.
110 - Localization support was causing many calls to stat trying to
111 find non-existent translation files. This has been fixed so
112 that the results are cached. (If new translations are added,
113 the cache will need to be cleared or cmucl restarted.) This
114 change cuts building time by half on Solaris/sparc.
115 - On NetBSD, function-end breakpoints, especially for
116 tail-recursive functions, are working now.
117 - On NetBSD, display of FP numbers (sse2 and x87) during tracing
118 has been corrected. Previously, random values were displayed.
119 - Executables images can now be created on NetBSD again.
120 - EXT::DESCRIBE-EXTERNAL-FORMAT was not exported.
121 - TRACE was erroneously allowing encapsulation when tracing local
122 flet/labels functions. This doesn't actually trace anything.
123 An error is now signaled in this case. This usually happens
124 because the function is in one of CMUCL's internal
125 implementation packages. If you know what you're doing, you can
126 use the trace option :encapsulate nil to trace them. Tracing
127 functions used by TRACE can cause bad things to happen.
128 - In some situations the compiler could not constant fold SQRT
129 calls because KERNEL:%SQRT was not defined on x86 with SSE2.
130 Fix this by making sure KERNEL:%SQRT is defined.
131 - Opening a file whose name contains "[" with :IF-EXISTS
132 :NEW-VERSION no longer causes an error.
133
134
135 * Trac Tickets:
136 - #43: unread-char doesn't change file-position
137 Fixed.
138
139 * Other changes:
140
141 * Improvements to the PCL implementation of CLOS:
142
143 * Changes to building procedure:
144
145 This release is not binary compatible with code compiled using CMUCL
146 20b; you will need to recompile FASL files.
147
148 See <URL:http://www.cons.org/cmucl/> for download information,
149 guidelines on reporting bugs, and mailing list details.
150
151
152 We hope you enjoy using this release of CMUCL!

  ViewVC Help
Powered by ViewVC 1.1.5