Fix :CONC-NAME bug noted by Paul Dietz for cmucl
(cmucl-imp 2002-12-08 ":conc-name by itself")
** IT is only a special loop symbol within the first clause of a
conditional loop clause;
** FILE-STREAM now names the class previously known as FD-STREAM;
+ ** in DEFSTRUCT, a bare :CONC-NAME (or a :CONC-NAME with no
+ argument) no longer signals an error;
* incremented fasl file version number, because of the incompatible
change to the DEFSTRUCT-DESCRIPTION structure, and again because
of the new implementation of DEFINE-COMPILER-MACRO.
(name (dd-name dd)))
(case (first option)
(:conc-name
- (destructuring-bind (conc-name) args
+ (destructuring-bind (&optional conc-name) args
(setf (dd-conc-name dd)
(if (symbolp conc-name)
conc-name
;;; FIXME: should probably do the same tests on DEFSTRUCT :TYPE
\f
+;;; As noted by Paul Dietz for CMUCL, :CONC-NAME handling was a little
+;;; too fragile:
+(defstruct (conc-name-syntax :conc-name) a-conc-name-slot)
+(assert (eq (a-conc-name-slot (make-conc-name-syntax :a-conc-name-slot 'y))
+ 'y))
+
;;; success
(format t "~&/returning success~%")
(quit :unix-status 104)
;;; versions, especially for internal versions off the main CVS
;;; branch, it gets hairier, e.g. "0.pre7.14.flaky4.13".)
-"0.7.10.14"
+"0.7.10.15"