aboutsummaryrefslogtreecommitdiff
path: root/guile
diff options
context:
space:
mode:
authorThomas White <taw@physics.org>2021-03-29 17:33:02 +0200
committerThomas White <taw@physics.org>2021-03-31 21:56:36 +0200
commit7c11aaa5fdb5898daa7667e36c63869c5facefc4 (patch)
tree2255c31568c26cc07c6dae74f93a74aeffb717ff /guile
parent5a08e6dc4f38eb667d170c2dac3261298722f379 (diff)
at: Handle unspecified fixture when nothing is selected
Diffstat (limited to 'guile')
-rw-r--r--guile/starlet/base.scm14
1 files changed, 12 insertions, 2 deletions
diff --git a/guile/starlet/base.scm b/guile/starlet/base.scm
index a0958e3..3d052c1 100644
--- a/guile/starlet/base.scm
+++ b/guile/starlet/base.scm
@@ -551,18 +551,28 @@ pre-existing contents."
(receive (fixtures attr-name value)
(partition3 fixture? symbol? (flatten-sublists args))
(cond
+
((nil? value)
(error "at: Value not specified"))
+
((or (more-than-one value)
(more-than-one attr-name))
(error "at: Only one attribute or value name"))
+
((and (nil? fixtures)
(nil? attr-name))
- (set-fixtures selection '(intensity) value))
+ (if (nil? selection)
+ 'no-fixtures-selected
+ (set-fixtures selection '(intensity) value)))
+
((nil? attr-name)
(set-fixtures fixtures '(intensity) value))
+
((nil? fixtures)
- (set-fixtures selection attr-name value))
+ (if (nil? selection)
+ 'no-fixtures-selected
+ (set-fixtures selection attr-name value)))
+
(else
(set-fixtures fixtures attr-name value)))))