summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--catbird/node.scm4
1 files changed, 4 insertions, 0 deletions
diff --git a/catbird/node.scm b/catbird/node.scm
index 40b8673..277c611 100644
--- a/catbird/node.scm
+++ b/catbird/node.scm
@@ -40,6 +40,7 @@
child-ref &
attach-to
replace
+ clear
blink)
#:re-export (agenda
detach
@@ -183,6 +184,9 @@
(hashq-remove! (children-by-name p) (name node)))
(next-method)))
+(define-method (clear (node <node>))
+ (for-each detach (children node)))
+
(define-method (send (node <node>) message . args)
;; Move up the tree to look for a handler for the message if the
;; current node does not handle or consume the message.