r4581: Auto commit for Debian build
authorKevin M. Rosenberg <kevin@rosenberg.net>
Tue, 22 Apr 2003 15:24:39 +0000 (15:24 +0000)
committerKevin M. Rosenberg <kevin@rosenberg.net>
Tue, 22 Apr 2003 15:24:39 +0000 (15:24 +0000)
rules.lisp

index 8b1f59d31f81e94ea1f9fa8df9e9b51f49202e1a..f87893bc2c660833777b50c011fe2b8914f99bfb 100644 (file)
@@ -7,7 +7,7 @@
 ;;;; Programmer:    Kevin M. Rosenberg
 ;;;; Date Started:  Apr 2000
 ;;;;
-;;;; $Id: rules.lisp,v 1.5 2003/04/22 15:22:25 kevin Exp $
+;;;; $Id: rules.lisp,v 1.6 2003/04/22 15:24:39 kevin Exp $
 ;;;;
 ;;;; This file is Copyright (c) 2000-2002 by Kevin M. Rosenberg
 ;;;;
 ;    #+ignore
     (cmsg-c :verbose "Setf slot value: class: ~s, obj: ~s, slot: ~s, value: ~s" cl (class-of obj) slot new-value)
     
-    #+ignore
     (let ((func (esd-value-constraint slot)))
       (cond
+       #+ignore
        ((and func (not (funcall func new-value)))
         (warn "Rejected change to value of slot ~a of object ~a"
               (slot-definition-name slot) obj)
         (slot-value obj (slot-definition-name slot)))
        (t
-        (call-next-method)
-        (when (direct-rules cl)
-          (fire-class-rules cl obj slot))
-        new-value))))
+        (prog1
+            (call-next-method)
+          (when (direct-rules cl)
+            (fire-class-rules cl obj slot)))))))
 
 #+ignore
 (defmethod slot-value-using-class :around ((cl hyperobject-class) obj