From 524675c3f165d7cfc5f191e056f3c755d9ed4d2e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Hugo=20H=C3=B6rnquist?= Date: Wed, 11 May 2022 21:21:29 +0200 Subject: Add procedure remove-child! --- module/vcomponent/base.scm | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'module/vcomponent/base.scm') diff --git a/module/vcomponent/base.scm b/module/vcomponent/base.scm index 18f31aaf..3d40ef9c 100644 --- a/module/vcomponent/base.scm +++ b/module/vcomponent/base.scm @@ -77,6 +77,14 @@ (set-component-children! parent (cons child (children parent))) (set-component-parent! child parent)) +(define-public (remove-child! parent-component child) + (unless (eq? parent-component (parent child)) + (scm-error + 'wrong-type-arg "remove-child!" "Child doesn't belong to parent" + (list parent-component child) #f)) + (set-component-children! parent-component (delq1! child (children parent-component))) + (set-component-parent! child #f)) + ;;; TODO key=DTSTART, (date? value) => #t ;;; KRĂ„VER att (props vline 'VALUE) <- "DATE" (define (set-property! component key value) -- cgit v1.2.3