aboutsummaryrefslogtreecommitdiff
path: root/src/guile
diff options
context:
space:
mode:
authorLudovic Court`es2007-05-22 13:51:33 +0000
committerLudovic Court`es2007-05-22 13:51:33 +0000
commit538b1f2a101ae7bb7b6bf13c7957de065e552a0f (patch)
tree36d54269232f7583bb33a807a0336df07020513f /src/guile
parent7c7d05733a5ea6f2bb33a2065cc919449ee0c5ac (diff)
downloadskribilo-538b1f2a101ae7bb7b6bf13c7957de065e552a0f.tar.gz
skribilo-538b1f2a101ae7bb7b6bf13c7957de065e552a0f.tar.lz
skribilo-538b1f2a101ae7bb7b6bf13c7957de065e552a0f.zip
Resolve <command>s too.
* src/guile/skribilo/resolve.scm (do-resolve!<command>): New method. Allows arguments of a command (the command body) to be properly resolved. git-archimport-id: lcourtes@laas.fr--2006-libre/skribilo--devo--1.2--patch-53
Diffstat (limited to 'src/guile')
-rw-r--r--src/guile/skribilo/resolve.scm12
1 files changed, 12 insertions, 0 deletions
diff --git a/src/guile/skribilo/resolve.scm b/src/guile/skribilo/resolve.scm
index ba5af6a..94ab360 100644
--- a/src/guile/skribilo/resolve.scm
+++ b/src/guile/skribilo/resolve.scm
@@ -196,6 +196,18 @@
node)
+(define-method (do-resolve! (node <command>) engine env)
+ (with-debug 5 'do-resolve<command>
+ (debug-item "node=" node)
+ (let ((p (assq 'parent env)))
+ (slot-set! node 'parent (and (pair? p) (pair? (cdr p)) (cadr p))))
+ (for-each (lambda (n)
+ (do-resolve! n engine env))
+ (command-body node))
+ node))
+
+
+
;;;; ======================================================================
;;;;
;;;; RESOLVE-PARENT