diff options
author | Hugo Hörnquist <hugo@lysator.liu.se> | 2020-08-13 10:43:33 +0200 |
---|---|---|
committer | Hugo Hörnquist <hugo@lysator.liu.se> | 2020-08-13 10:43:33 +0200 |
commit | a902eb51621521d45c648d6a4d06d70d981dfaeb (patch) | |
tree | afc31d4d17fa3939585ad30878b5b690d3b80db3 /module/vcomponent/base.scm | |
parent | Add TODO's (diff) | |
parent | Comment about generalizing. (diff) | |
download | calp-a902eb51621521d45c648d6a4d06d70d981dfaeb.tar.gz calp-a902eb51621521d45c648d6a4d06d70d981dfaeb.tar.xz |
Merge branch 'calchooser' into master
Diffstat (limited to 'module/vcomponent/base.scm')
-rw-r--r-- | module/vcomponent/base.scm | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/module/vcomponent/base.scm b/module/vcomponent/base.scm index 3e75e566..7b81fb05 100644 --- a/module/vcomponent/base.scm +++ b/module/vcomponent/base.scm @@ -148,7 +148,7 @@ (hash-map->list cons (get-component-properties component))) (define-public (property-keys component) - (map car (get-component-properties component))) + (hash-map->list (lambda (a _) a) (get-component-properties component))) (define (copy-vline vline) (make-vline (vline-key vline) @@ -169,6 +169,14 @@ (copy-vline value)))) (get-component-properties component))))) +;; updates target with all fields from source. +;; fields in target but not in source left unchanged. +;; parent and children unchanged +(define-public (vcomponent-update! target source) + (for key in (property-keys source) + (set! (prop* target key) + (prop* source key)))) + (define-public (extract field) (lambda (e) (prop e field))) |