X-Git-Url: http://git.kpe.io/?a=blobdiff_plain;f=mop.lisp;h=26fba01e04d3aaa61ab0ab4f5929bfc8d86bf1aa;hb=2d5846f3de4a102ebf123efe7cdb48a78fa94e93;hp=10f329ef02e6d6c040c36fdefd34eecfb9562da5;hpb=700877fb1a5501199b25eb65770f9db565377d91;p=hyperobject.git diff --git a/mop.lisp b/mop.lisp index 10f329e..26fba01 100644 --- a/mop.lisp +++ b/mop.lisp @@ -11,7 +11,7 @@ ;;;; in Text, HTML, and XML formats. This includes hyperlinking ;;;; capability and sub-objects. ;;;; -;;;; $Id: mop.lisp,v 1.54 2003/04/16 19:56:33 kevin Exp $ +;;;; $Id: mop.lisp,v 1.59 2003/04/16 20:50:00 kevin Exp $ ;;;; ;;;; This file is Copyright (c) 2000-2002 by Kevin M. Rosenberg ;;;; @@ -288,14 +288,17 @@ `(defmethod slot-unbound (,the-class (,the-instance ,class) (,the-slot-name (eql ',slot-name))) (declare (ignore ,the-class)) - (setf (slot-value ,the-instance ,the-slot-name) - (,reader ,@keys))))) + (let ((v (,reader ,@keys))) + v + #+ignore + (setf (slot-value ,the-instance ,the-slot-name) v))))) + #+lispworks (defun intern-eql-specializer (slot) `(eql ,slot)) -#+(or sbcl lispworks) +#+(or sbcl cmu lispworks) (defun ensure-lazy-reader (class-name slot-name reader &rest reader-keys) (let ((keys nil) (gf (ensure-generic-function 'slot-unbound)))