Update of /project/mcclim/cvsroot/mcclim In directory clnet:/tmp/cvs-serv23297
Modified Files: recording.lisp Log Message: "This is your brain on PHP". Actually remove deleted cached output records from the cache hashtable, don't just set their value to NIL.
--- /project/mcclim/cvsroot/mcclim/recording.lisp 2006/03/03 21:10:21 1.122 +++ /project/mcclim/cvsroot/mcclim/recording.lisp 2006/03/09 10:44:28 1.123 @@ -1011,6 +1011,9 @@ (defun (setf %entry-in-children-cache) (new-val record entry) (setf (gethash entry (%tree-record-children-cache record)) new-val))
+(defun %remove-entry-from-children-cache (record entry) + (remhash entry (%tree-record-children-cache record))) + (defmethod output-record-children ((record standard-tree-output-record)) (map 'list #'tree-output-record-entry-record @@ -1030,14 +1033,14 @@ (cond ((not (null entry)) (spatial-trees:delete entry (%tree-record-children record)) - (setf (%entry-in-children-cache record child) nil) + (%remove-entry-from-children-cache record child) (setf (output-record-parent child) nil)) (errorp (error "~S is not a child of ~S" child record)))))
(defmethod clear-output-record ((record standard-tree-output-record)) (dolist (child (output-record-children record)) (setf (output-record-parent child) nil) - (setf (%entry-in-children-cache record child) nil)) + (%remove-entry-from-children-cache record child)) (setf (%tree-record-children record) (%make-tree-output-record-tree)))
(defun map-over-tree-output-records (function record rectangle sort-order function-args)