aboutsummaryrefslogtreecommitdiff
path: root/guile
diff options
context:
space:
mode:
Diffstat (limited to 'guile')
-rw-r--r--guile/starlet/base.scm11
1 files changed, 11 insertions, 0 deletions
diff --git a/guile/starlet/base.scm b/guile/starlet/base.scm
index cbe4d66..dc25491 100644
--- a/guile/starlet/base.scm
+++ b/guile/starlet/base.scm
@@ -38,6 +38,7 @@
add-state-to-state!
clear-state!
print-state
+ state-source
set-attr!
state-find
merge-states-htp
@@ -596,3 +597,13 @@
(define (print-state a)
(print-hash-table (get-state-hash-table a)))
+
+
+(define (state-source a)
+ (cons 'begin
+ (state-map (lambda (fix attr val)
+ (list 'at
+ (get-fixture-name fix)
+ (list 'quote (get-attr-name attr))
+ val))
+ a)))