\r
(defun read-property- (method self property &rest args)\r
"read-property using specific method. method is one of keywords:\r
- :string :number :object :integer :"\r
+ :string :number :object :integer :execute :list"\r
(case method\r
(:string (apply #'read-property-string (slot-value self property) args))\r
- (:number (apply #'read-property-string (slot-value self property) args))\r
- (:integer (apply #'read-property-string (slot-value self property) args))\r
- (:object (apply #'read-property-string (slot-value self property) args))\r
- (:execute (apply #'read-property-string (slot-value self property) args))\r
- (:list (apply #'read-property-string (slot-value self property) args))\r
+ (:number (apply #'read-property-number (slot-value self property) args))\r
+ (:integer (apply #'read-property-integer (slot-value self property) args))\r
+ (:object (apply #'read-property-object (slot-value self property) args))\r
+ (:execute (apply #'read-property-execute (slot-value self property) args))\r
+ (:list (apply #'read-property-list (slot-value self property) args))\r
(t (slot-value self property))))\r
\r
;;SECTION 7: IfClass macro and its hairy surroundings\r
;;React after?\r
t)\r
\r
-(defun run-action (action args &key (time 0))\r
+(defun run-action (action args &key (time 0) no-output)\r
"Run an action with a given args"\r
(unless (listp args) (setf args (list args)))\r
(setf *after* nil)\r
(let ((*action* action)\r
(*args* args)\r
(*noun* (first args))\r
- (*second* (second args)))\r
+ (*second* (second args))\r
+ (*no-output* no-output))\r
(when *debug* \r
(format t "[running action: ~a ~a]~%" *action* *args*))\r
(when *meta* ;;Just do the darn thing!\r