aboutsummaryrefslogtreecommitdiff
path: root/guile/starlet/base.scm
diff options
context:
space:
mode:
Diffstat (limited to 'guile/starlet/base.scm')
-rw-r--r--guile/starlet/base.scm8
1 files changed, 6 insertions, 2 deletions
diff --git a/guile/starlet/base.scm b/guile/starlet/base.scm
index 4cb9716..ed8472d 100644
--- a/guile/starlet/base.scm
+++ b/guile/starlet/base.scm
@@ -171,8 +171,12 @@
;; Set an attribute by name
(define (set-attr! state fix attr-name value)
- (let ((attr (find-attr fix attr-name)))
- (when attr (set-in-state! state fix attr value))))
+ (cond
+ ((symbol? attr-name)
+ (let ((attr (find-attr fix attr-name)))
+ (when attr (set-in-state! state fix attr value))))
+ ((fixture-attribute? attr-name)
+ (set-in-state! state fix attr-name value))))
;; Patch a new fixture