"Tests whether flag2 unsets flag1"\r
(let ((fl1 (symbol-name flag1))\r
(fl2 (symbol-name flag2)))\r
- (and (char= (aref fl2 0) #\~) (string= fl1 (subseq fl2 1)))))\r
+ (and (char= (aref fl2 0) #\~) (string= fl1 fl2 :start 1))))\r
\r
(defun combine-flags (flaglist)\r
"Combine a list of flags into a _set_ of flags"\r
(function #'read-property-execute)\r
(list #'read-property-list)\r
(t #'read-property-other))\r
- (slot-value obj property) args)))\r
+ (slot-value self property) args)))\r
\r
(defmacro declare-rule (&rest args)\r
"Declare new rules"\r
\r
(defun in (obj1 &rest what)\r
"Tests whether the first object is inside some of the others"\r
- (some (lambda (x) (eql (parent obj) x)) what))\r
+ (some (lambda (x) (eql (parent obj1) x)) what))\r
\r
(defun destroy (obj)\r
"Destroy the object, like, totally!"\r