aboutsummaryrefslogtreecommitdiff
path: root/guile/starlet/engine.scm
diff options
context:
space:
mode:
authorThomas White <taw@physics.org>2023-04-01 22:59:24 +0200
committerThomas White <taw@physics.org>2023-04-01 22:59:24 +0200
commit69337c0e3eed3cb1f93ff18d07058ef82a5bd159 (patch)
tree0fef3b8dde7a8b13624573db4b217a7fcc16e812 /guile/starlet/engine.scm
parent5bed6ccfaa22fb5f1217c66b270ce53bc21dbbf8 (diff)
Scanout: Retrieve the combined state only once
Diffstat (limited to 'guile/starlet/engine.scm')
-rw-r--r--guile/starlet/engine.scm7
1 files changed, 6 insertions, 1 deletions
diff --git a/guile/starlet/engine.scm b/guile/starlet/engine.scm
index 37656cb..6c43cf1 100644
--- a/guile/starlet/engine.scm
+++ b/guile/starlet/engine.scm
@@ -35,6 +35,7 @@
total-num-attrs
register-state!
current-value
+ current-value-state
patched-fixture-names
patched-fixtures))
@@ -56,6 +57,10 @@
(map get-fixture-name (atomic-box-ref fixtures)))
+(define (current-value-state)
+ (atomic-box-ref current-values))
+
+
(define (patched-fixtures)
(atomic-box-ref fixtures))
@@ -122,7 +127,7 @@
(define-method (current-value (fix <fixture>) (attr-name <starlet-attribute>))
- (let ((v (state-find fix attr-name (atomic-box-ref current-values))))
+ (let ((v (state-find fix attr-name (current-value-state))))
(if (eq? v 'no-value)
(get-attr-home-val fix attr-name)
v)))