diff options
author | Thomas White <taw@physics.org> | 2022-08-13 18:43:11 +0200 |
---|---|---|
committer | Thomas White <taw@physics.org> | 2022-08-13 18:43:11 +0200 |
commit | 24b47921450eb2abca8a4e67e731b530fcdeca38 (patch) | |
tree | 8d39ccf595f9c94c2bb675528e7fb4da7824d644 /guile | |
parent | 2a209994505a2737f414a6e7d37cf4cb8bb254d7 (diff) |
cue-list: Ignore unspecified values
This allows the following kind of thing:
(cue-list
(cue 1 ...)
(when something
(cue 2 ...))
(cue 3 ...))
Diffstat (limited to 'guile')
-rw-r--r-- | guile/starlet/cue-list.scm | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/guile/starlet/cue-list.scm b/guile/starlet/cue-list.scm index a2361b0..4bb072b 100644 --- a/guile/starlet/cue-list.scm +++ b/guile/starlet/cue-list.scm @@ -237,10 +237,14 @@ (define-syntax cue-list (syntax-rules () ((_ body ...) - (let ((the-cue-list (vector (cue 0 - (make-empty-state) - (snap)) - body ...))) + (let ((the-cue-list + (list->vector + (remove unspecified? + (list + (cue 0 + (make-empty-state) + (snap)) + body ...))))) (track-all-cues! the-cue-list) (preset-all-cues! the-cue-list) the-cue-list)))) |