projects
/
hyperobject.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
r4275: Auto commit for Debian build
[hyperobject.git]
/
mop.lisp
diff --git
a/mop.lisp
b/mop.lisp
index 54f685979f77a2681d69c6766caf1ee29daa3bb1..49dd87d50beadc3994b27f9921d4c97b64f0aa3e 100644
(file)
--- a/
mop.lisp
+++ b/
mop.lisp
@@
-11,7
+11,7
@@
;;;; in Text, HTML, and XML formats. This includes hyperlinking
;;;; capability and sub-objects.
;;;;
;;;; in Text, HTML, and XML formats. This includes hyperlinking
;;;; capability and sub-objects.
;;;;
-;;;; $Id: mop.lisp,v 1.
17 2002/12/26 23:18:16
kevin Exp $
+;;;; $Id: mop.lisp,v 1.
20 2003/03/29 04:20:19
kevin Exp $
;;;;
;;;; This file is Copyright (c) 2000-2002 by Kevin M. Rosenberg
;;;;
;;;;
;;;; This file is Copyright (c) 2000-2002 by Kevin M. Rosenberg
;;;;
@@
-281,6
+281,16
@@
(setf (slot-value ,the-instance ,the-slot-name)
(,reader ,@keys)))))
(setf (slot-value ,the-instance ,the-slot-name)
(,reader ,@keys)))))
+#+(or sbcl scl cmu)
+(defparameter *queued-definitions* nil)
+
+(defun process-queued-definitions ()
+ #+(or sbcl scl cmu)
+ (progn
+ (dolist (def *queued-definitions*)
+ (eval def))
+ (setq *queued-definitions* nil)))
+
(defun finalize-subobjects (cl)
"Process class subobjects slot"
(setf (subobjects cl)
(defun finalize-subobjects (cl)
"Process class subobjects slot"
(setf (subobjects cl)
@@
-297,6
+307,12
@@
nil
(cdr subobj-def)))))
(unless (eq (lookup subobject) t)
nil
(cdr subobj-def)))))
(unless (eq (lookup subobject) t)
+ #+(or sbcl scl cmu)
+ (push `(def-lazy-reader ,(name-class subobject)
+ ,(name-slot subobject) ,(lookup subobject)
+ ,@(lookup-keys subobject))
+ *queued-definitions*)
+ #-(or sbcl scl cmu)
(eval `(def-lazy-reader ,(name-class subobject)
,(name-slot subobject) ,(lookup subobject)
,@(lookup-keys subobject))))
(eval `(def-lazy-reader ,(name-class subobject)
,(name-slot subobject) ,(lookup subobject)
,@(lookup-keys subobject))))