|
[Sbcl-commits] CVS: sbcl/src/pcl braid.lisp,1.46,1.47
From: Nikodemus Siivola <demoss@us...> - 2004-11-29 11:08
|
Update of /cvsroot/sbcl/sbcl/src/pcl
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv11108/src/pcl
Modified Files:
braid.lisp
Log Message:
0.8.17.2: eager creation of CLOS classes for user defined structures
* aka bug #331
Index: braid.lisp
===================================================================
RCS file: /cvsroot/sbcl/sbcl/src/pcl/braid.lisp,v
retrieving revision 1.46
retrieving revision 1.47
diff -u -d -r1.46 -r1.47
--- braid.lisp 19 Sep 2004 09:32:27 -0000 1.46
+++ braid.lisp 29 Nov 2004 11:07:55 -0000 1.47
@@ -592,12 +592,14 @@
(t
(error "~@<~S is not the name of a class.~@:>" name)))))
-(defun maybe-reinitialize-structure-class (classoid)
+(defun ensure-defstruct-class (classoid)
(let ((class (classoid-pcl-class classoid)))
- (when class
- (ensure-non-standard-class (class-name class) class))))
+ (cond (class
+ (ensure-non-standard-class (class-name class) class))
+ ((eq 'complete *boot-state*)
+ (ensure-non-standard-class (classoid-name classoid))))))
-(pushnew 'maybe-reinitialize-structure-class sb-kernel::*defstruct-hooks*)
+(pushnew 'ensure-defstruct-class sb-kernel::*defstruct-hooks*)
(defun make-class-predicate (class name)
(let* ((gf (ensure-generic-function name :lambda-list '(object)))
|
| Thread | Author | Date |
|---|---|---|
| [Sbcl-commits] CVS: sbcl/src/pcl braid.lisp,1.46,1.47 | Nikodemus Siivola <demoss@us...> |