Navigation Menu

Skip to content

Commit

Permalink
Changed the conditional compilation so that the straight forward meth…
Browse files Browse the repository at this point in the history
…od is only

used by ECL.  Every other Lisp I test with behaves like SBCL (i.e. only
direct-slot-descriptors know their readers, not effective-slot-descriptors)
  • Loading branch information
smithzvk committed Jul 6, 2011
1 parent e8ca42f commit e327387
Showing 1 changed file with 4 additions and 2 deletions.
6 changes: 4 additions & 2 deletions modf.lisp
Expand Up @@ -229,7 +229,9 @@ functions ahead of time."
new-struct )))) new-struct ))))


(defun late-class-reader-inverter (func new-val obj) (defun late-class-reader-inverter (func new-val obj)
#-(or sbcl cmucl) #+ecl
;; ECL seems to work a bit more intuitively. Effective slots know their
;; readers.
(let* ((class (class-of obj)) (let* ((class (class-of obj))
(slots (closer-mop:class-slots class)) (slots (closer-mop:class-slots class))
(new-instance (make-instance class))) (new-instance (make-instance class)))
Expand All @@ -245,7 +247,7 @@ functions ahead of time."
(t (slot-makunbound new-instance (t (slot-makunbound new-instance
(closer-mop:slot-definition-name slot) )))) (closer-mop:slot-definition-name slot) ))))
new-instance ) new-instance )
#+(or sbcl cmucl) #-ecl
(let* ((class (class-of obj)) (let* ((class (class-of obj))
(slot-groups (mapcar #'closer-mop:class-direct-slots (slot-groups (mapcar #'closer-mop:class-direct-slots
(closer-mop:class-precedence-list class) )) (closer-mop:class-precedence-list class) ))
Expand Down

0 comments on commit e327387

Please sign in to comment.