;;;; in Text, HTML, and XML formats. This includes hyperlinking
;;;; capability and sub-objects.
;;;;
-;;;; $Id: mop.lisp,v 1.27 2003/03/29 20:11:09 kevin Exp $
+;;;; $Id: mop.lisp,v 1.29 2003/03/29 20:29:10 kevin Exp $
;;;;
;;;; This file is Copyright (c) 2000-2002 by Kevin M. Rosenberg
;;;;
(,reader ,@keys)))))
#+(or sbcl scl cmu)
-(defun ensure-lazy-reader (class slot-name reader &rest reader-keys)
+(defun ensure-lazy-reader (class-name slot-name reader &rest reader-keys)
(let ((keys nil)
(gf (ensure-generic-function 'slot-unbound)))
(dolist (key reader-keys)
(class-prototype (generic-function-method-class gf))
`(lambda (the-class the-instance the-slot-name)
(declare (ignore the-class))
- (setf (slot-value the-instance the-slot-name) (,reader ,@keys))))
- (print init-args-values)
+ (setf (slot-value the-instance the-slot-name) (,reader ,@keys)))
+ nil)
(add-method gf
- (make-instance (generic-function-method-class gf)
- ':specializers (list t class (intern-eql-specializer slot-name))
- ':lambda-list '(the-class the-instance the-slot-name)
- ':function `(function ,method-lambda)
- ;;init-args-values
- )))))
+ (apply
+ #'make-instance (generic-function-method-class gf)
+ ':specializers (list (intern-eql-specializer class-name)
+ (find-class class-name)
+ (intern-eql-specializer slot-name))
+ ':lambda-list '(the-class the-instance the-slot-name)
+ ':function `(function ,method-lambda)
+ init-args-values)))))
(defun finalize-subobjects (cl)
"Process class subobjects slot"