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

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.74 - (hide annotations)
Mon Jul 28 10:43:15 2003 UTC (10 years, 8 months ago) by gerd
Branch: MAIN
Changes since 1.73: +6 -3 lines
File MIME type: text/plain
	CLtS effectively forbids method load-time precomputation of
	effective methods (which I think is either yet another oversight,
	or bad language design).  Found by Paul Dietz.

	Set *max-emf-precomputation-methods* to > 0 to allow
	precomputation of effective methods at method load-time for
	generic functions having less than the specified number of
	methods.

	* src/pcl/dfun.lisp (*max-emf-precomputation-methods*): Set to 0.

	* src/pcl/pkg.lisp ("PCL"): Export *max-emf-precomputation-methods*.
1 emarsden 1.72 ========================== C M U C L 19 a =============================
2 gerd 1.1
3     [--- WORK IN PROGRESS --- DO NOT DISTRIBUTE ---]
4    
5     The CMUCL project is pleased to announce the release of CMUCL 19a.
6     This is a major release which contains numerous enhancements and
7     bugfixes from the 18e 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 toy 1.50 - Stack overflow checking added for FreeBSD/x86, Linux/x86 and
23     Solaris. Code that makes the control stack overflow (for
24     example due to unbounded recursion) will lead to a
25     STORAGE-ERROR being signaled, instead of making CMUCL crash.
26 gerd 1.1 - LISP:FIND-CLASS and LISP:CLASS-OF now return CLOS classes. The
27 emarsden 1.21 symbols LISP:STANDARD-CLASS, LISP:BUILT-IN-CLASS, and
28 gerd 1.3 LISP:STRUCTURE-CLASS name CLOS classes. It is no longer
29 gerd 1.1 necessary to SHADOWING-IMPORT these from PCL when doing MOP
30     programming, and it fixes some non-compliances as well.
31 emarsden 1.29 - Package locks: a package whose EXT:PACKAGE-LOCK is enabled
32     non-NIL is protected against changes in its structure (list of
33     exported symbols, use-list etc). Symbols in a package whose
34     EXT:PACKAGE-DEFINITION-LOCK is enabled are protected against
35     redefinition.
36 gerd 1.2 - Weak hash tables have been added for x86 systems.
37 gerd 1.4 - Local functions are now named (FLET <name> ...) or
38     (LABELS <name> ...).
39 gerd 1.17 - Compiler checking control string and number of args to FORMAT.
40 gerd 1.27 - TRACE automatically using encapsulation when function-end
41     breakpoints cannot be used.
42 gerd 1.28 - INSPECT working on CLOS instances.
43 toy 1.50 - Callbacks from foreign code to Lisp. Implemented for x86 and
44     sparc.
45 gerd 1.31 - Functions like GETHASH that are used in the implementation of
46     TRACE can now be traced. See also
47     DEBUG:*TRACE-ENCAPSULATE-PACKAGE-NAMES*.
48 gerd 1.39 - New facility for encapsulating functions, FWRAPPERS;
49     see also the CMUCL User Manual.
50     - TRACE and PROFILE have been reimplemented using fwrappers,
51     with the effect of tracing and profiling now working more
52     nicely together.
53     - When a profiled function is redefined, it is re-profiled.
54 toy 1.50 - A basic implementation of simple-streams added. Some
55     functionality may be missing.
56 gerd 1.51 - UNIX:UNIX-LSEEK working with files > 2G on BSDs.
57 gerd 1.52 - Type declarations on local bindings of special variables no
58     longer being ignored.
59 gerd 1.61 - DISASSEMBLE disassembling closure/funcallable instance
60     functions.
61     - (SETF EXT:WEAK-POINTER-VALUE) has been added.
62 gerd 1.63 - CMUCL no longer entering an infinite loop when dumping
63     circular constant lists to fasl files.
64 gerd 1.68 - COMPILE-FILE-PATHNAME's BYTE-COMPILE keyword arg defaulting
65     to *BYTE-COMPILE-DEFAULT* like COMPILE-FILE.
66 gerd 1.1
67     * Numerous ANSI compliance fixes:
68 gerd 1.5 - Many bugs in CMUCL's type system detected by Paul Dietz'
69     ANSI test suite have been fixed.
70     - Non-keyword keyword names in lambda lists are now accepted.
71 gerd 1.6 - Condition slot initialization fixed for the case that two
72     or more slots have the same :INITARG.
73 gerd 1.7 - Initforms are now evaluated once only during condition slot
74     initialization.
75     - USE-VALUE, STORE-VALUE, CONTINUE behavior corrected in presence
76     of multiple restarts having the same name.
77     - RESTART-CASE's interaction with local macros fixed.
78     - Interaction of COMPUTE-RESTARTS and RESTART-CASE fixed in
79     presence of multiple restarts having the same name.
80 gerd 1.8 - Condition slot readers/writers are generic functions.
81 gerd 1.9 - &WHOLE, &REST, &BODY in macro lambda lists can be followed
82     by destructuring patterns. The previous behavior of &BODY
83     when followed by (<body> <declarations> <doc>) is available
84     through the new lambda-list keyword EXT:&PARSE-BODY.
85 gerd 1.10 - ELT now signals an error in safe code when used on lists
86     with an out-of-bounds index.
87     - Accessing arrays in compiled code with out-of-bounds indices
88     now signals a TYPE-ERROR.
89 gerd 1.11 - DECLARE no longer being a special operator.
90 gerd 1.16 - DEFINE-CONDITION accepts slot option :DOCUMENTATION.
91 gerd 1.18 - Behavior of (... &KEY &ALLOW-OTHER-KEYS) fixed for
92     DESTRUCTURING-BIND and macros.
93 gerd 1.19 - Stricter checking of keyword argument list in CLOS methods.
94 gerd 1.20 - &ENVIRONMENT variable bound bound before other vars, regardless
95     of where it appears in a lambda-list.
96 gerd 1.22 - VALUES types no longer accepting &KEY or &ALLOW-OTHER-KEYS.
97     - THE conforming to ANSI.
98 gerd 1.24 - SLOT-EXISTS-P can be used with conditions.
99 gerd 1.32 - REMOVE-METHOD always returning the generic function passed to it.
100     - Standard methods for STANDARD-OBJECT and STRUCTURE-OBJECT
101     defined on MAKE-LOAD-FORM.
102     - Compliant MAKE-LOAD-FORM-SAVING-SLOTS.
103 gerd 1.37 - DEFSTRUCT recording slot-names as specified by users.
104 gerd 1.40 - Generic function call keyword argument checking according to
105     ANSI 7.6.5.
106 gerd 1.45 - CALL-NEXT-METHOD without arguments being called with original
107     arguments when method parameters are changed with SETQ.
108     - When CALL-NEXT-METHOD is called with arguments, an error is
109     signaled in safe code when the set of methods applicable to
110     CALL-NEXT-METHOD's arguments is different from the set of
111     methods applicable to the original method arguments.
112 gerd 1.46 - FIND-METHOD signaling an error when called with specializers
113     not corresponding to the number of required arguments of the
114     supplied generic function.
115 gerd 1.48 - TYPE-OF returning KEYWORD for keywords, STANDARD-CHAR for
116     standard characters, BOOLEAN for T, (INTEGER <N> <N>) for
117     integers N, non-list types for functions, and CLOS classes for
118     instances whose class doesn't have a proper name.
119 gerd 1.49 - Class precedence list of NULL not having SYMBOL before LIST,
120     precedence list of STANDARD-METHOD not having METHOD before
121     STANDARD-OBJECT.
122 gerd 1.55 - ADD-METHOD returning its first argument, the generic function.
123 gerd 1.54 - DEFCLASS redefining a class with the given name only if the
124     name is the proper name of an existing class.
125 gerd 1.57 - KEYWORD package no longer having nickname "".
126 gerd 1.60 - COMMON-LISP-USER package no longer having nickname USER.
127     - COMMON-LISP package no longer having nickname LISP; LISP
128     and COMMON-LISP are now separate packages.
129 gerd 1.58 - SLOT-VALUE, (SETF SLOT-VALUE), SLOT-BOUNDP, SLOT-MAKUNBOUND
130     returning values specified by the standard when SLOT-UNBOUND
131     or SLOT-MISSING are called and return.
132 gerd 1.65 - NTH and NTHCDR accepting bignums as first argument.
133 gerd 1.66 - First arg of CERROR may be a function.
134 gerd 1.67 - Lambda-lists of the form (X . Y) in DESTRUCTURING-BIND and macros
135     are now equivalent to (X &REST Y).
136 gerd 1.69 - LAST, BUTLAST, NBUTLAST accepting bignum counts.
137 gerd 1.71 - WITH-OUTPUT-TO-STRING accepting :ELEMENT-TYPE.
138 gerd 1.1
139     * Numerous bugfixes:
140 gerd 1.12 - NSET-EXCLUSIVE-OR returns the same results as SET-EXCLUSIVE-OR
141     wrt to duplicate elements.
142 gerd 1.11 - Forms like (MULTIPLE-VALUE-BIND 'LIST) no longer trapping
143     an internal compiler error when compiled.
144 gerd 1.16 - PARSE-INTEGER signaling PARSE-ERROR.
145     - Compiler eliminating some type checks in safe code.
146 gerd 1.41 - Byte-compiler and -interpreter not handling C:&MORE.
147     - Some TYPE-ERRORs being signaled with unbound slots, which
148     made them undisplayable.
149 gerd 1.62 - Structure predicates no longer signaling an error when applied
150     to obsolete instances.
151 gerd 1.64 - A DEFTRANSFORM for array bounds checking had an off-by-1 error.
152 gerd 1.1
153     * Other changes:
154 emarsden 1.72 - CREATE-REQUEST-SERVER has an additional :reuse-address keyword
155     argument.
156 emarsden 1.21 - Removed obsolete alias from MAKE-VECTOR to MAKE-ARRAY
157 emarsden 1.44 - the signature of *COMPILER-NOTIFICATION-FUNCTION* has changed;
158     it now has an extra argument that describes the nature of the
159     error or warning.
160 toy 1.56 - File versioning occurs when the version component is :newest,
161     and Emacs style file versions are created: foo.bar.~N~, where
162     the larger N is newer. foo.bar is the newest version.
163     - Converting namestrings to pathnames now get a version component
164     of NIL instead of :NEWEST.
165     - *default-pathname-defaults* has a version component of
166     :unspecific instead of :newest so versioning is disabled by
167     default to preserve current behavior. Set the version to
168     :newest to create versions.
169 gerd 1.73 - LDB backtrace on x86.
170 gerd 1.1
171     * Numerous improvements to the PCL implementation of CLOS:
172     - Gerd's PCL has been added, which fixes numerous bugs and ANSI/
173     AMOP non-compliances, and adds various new optimizations (also
174     see the CMU User Manual).
175 gerd 1.2 - PCL's class hierarchy has been changed to conform to AMOP, for
176     instance, GENERIC-FUNCTION is now a subclass of
177     STANDARD-OBJECT.
178 gerd 1.4 - ENSURE-CLASS-USING-CLASS's argument list has been changed
179     to conform to AMOP.
180 gerd 1.5 - COMPUTE-EFFECTIVE-SLOT-DEFINITION now takes a slot name as
181     argument, for AMOP compliance.
182 gerd 1.9 - SUBTYPEP works in presence of forward-referenced classes.
183 gerd 1.13 - Accessing slots of specialized parameters in (SETF
184     SLOT-VALUE-USING-CLASS) methods works.
185 gerd 1.14 - DIRECT-SLOT-DEFINITION-CLASS and EFFECTIVE-SLOT-DEFINITION-CLASS
186     AMOP compliant.
187 gerd 1.15 - ALLOCATE-INSTANCE working with structures defined with DEFSTRUCT.
188 gerd 1.23 - With (DEFGENERIC FOO (&REST X &KEY)) (DEFMETHOD FOO (&REST X) X),
189     (FOO 1) now signals an error.
190 gerd 1.33 - Methods with &OPTIONAL arguments detecting too many args.
191 gerd 1.35 - DEFMETHOD and DEFGENERIC detecting doubled lambda variables.
192 gerd 1.34 - DEFGENERIC :ARGUMENT-PRECEDENCE-ORDER option checking.
193     - SLOT-VALUE, (SETF SLOT-VALUE), SLOT-BOUNDP working with conditions.
194 gerd 1.36 - (SETF SLOT-VALUE) working on read-only structure slots like
195     in other implementations.
196 gerd 1.38 - The declaration identifiers SLOTS, AUTO-COMPILE,
197     NOT-AUTO-COMPILE have been moved from PCL to EXT.
198 gerd 1.42 - Support for inlineing methods in effective methods; see the
199     CMU User Manual.
200 gerd 1.47 - Wrong results could be returned from generic functions when
201     all methods returned constant values, and some methods were
202     qualified, or the generic function didn't use the standard
203     method combination.
204 gerd 1.59 - For standard method combination and method combinations defined
205     with the short form of DEFINE-METHOD-COMBINATION: If there are
206     no applicable primary methods when a generic function is
207     called, the generic function PCL:NO-PRIMARY-METHOD is called.
208     The default method of this generic function signals a
209     continuable error of type PCL:NO-PRIMARY-METHOD-ERROR.
210 gerd 1.74 - Effective methods are no longer precomputed at method load
211     time, for conformance with CLtS.
212     PCL:*MAX-EMF-PRECOMPUTATION-METHODS* can be set to a number >
213     0 to allow effective method precomputation when the generic
214     function in question has less than the specified number of
215     methods.
216 gerd 1.1
217     * Improvements to Hemlock, the Emacs-like editor:
218    
219     * Changes to rebuilding procedure:
220    
221     * Deprecated features:
222 gerd 1.39 - EXT:ENCAPSULATE and associated functions; use fwrappers instead.
223 gerd 1.1
224     This release is not binary compatible with code compiled using CMUCL
225     18e; you will need to recompile FASL files.
226    
227     See <URL:http://www.cons.org/cmucl/> for download information,
228     guidelines on reporting bugs, and mailing list details.
229    
230    
231     We hope you enjoy using this release of CMUCL!
232    

  ViewVC Help
Powered by ViewVC 1.1.5