[Openmcl-cvs-notifications] r14021 - /trunk/source/lib/defstruct-lds.lisp
rme at clozure.com
rme at clozure.com
Fri Jul 23 00:14:03 CDT 2010
Author: rme
Date: Fri Jul 23 00:14:03 2010
New Revision: 14021
Log:
Per test CCL.57879-6, in DEFSTRUCT constructors, try not to complain
about unknown types that may be mentioned in defstruct :type slot
options.
See also r13696.
Modified:
trunk/source/lib/defstruct-lds.lisp
Modified: trunk/source/lib/defstruct-lds.lisp
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D
--- trunk/source/lib/defstruct-lds.lisp (original)
+++ trunk/source/lib/defstruct-lds.lisp Fri Jul 23 00:14:03 2010
@@ -285,10 +285,14 @@
(defun concat-pnames (name1 name2)
(intern (%str-cat (string name1) (string name2))))
=
+;; By special dispensation, don't complain about unknown types
+;; mentioned in defstruct :type slot options.
(defun wrap-with-type-declaration (value slot &aux (slot-type (ssd-type sl=
ot)))
(if (eq t slot-type)
value
- `(the ,slot-type ,value)))
+ (if (specifier-type-if-known slot-type)
+ `(the ,slot-type ,value)
+ value)))
=
(defun make-class-cells-list (class-names)
(if (and (consp class-names)
More information about the Openmcl-cvs-notifications
mailing list