diff options
author | Ludovic Courtès | 2008-02-03 21:18:23 +0100 |
---|---|---|
committer | Ludovic Courtès | 2008-02-03 21:18:23 +0100 |
commit | 75065b6540212f9989ecc5e535e932938eeb7d68 (patch) | |
tree | 413a4a03a675d23270b286a503262bc459b52c48 /src | |
parent | 9370de4fcf573790e46e53b2b7aa4834f999ddb0 (diff) | |
download | skribilo-75065b6540212f9989ecc5e535e932938eeb7d68.tar.gz skribilo-75065b6540212f9989ecc5e535e932938eeb7d68.tar.lz skribilo-75065b6540212f9989ecc5e535e932938eeb7d68.zip |
Bind the nodes returned by <unresolved> nodes.
* src/guile/skribilo/resolve.scm (do-resolve!<unresolved>): Use
`ast-fold' to bind all nodes in RES and assign them the proper
location.
Diffstat (limited to 'src')
-rw-r--r-- | src/guile/skribilo/resolve.scm | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/src/guile/skribilo/resolve.scm b/src/guile/skribilo/resolve.scm index 6405ebd..f902f69 100644 --- a/src/guile/skribilo/resolve.scm +++ b/src/guile/skribilo/resolve.scm @@ -202,9 +202,15 @@ (let* ((proc (slot-ref node 'proc)) (res (proc node engine env)) - (loc (ast-loc node))) - (when (ast? res) - (ast-loc-set! res loc)) + (loc (ast-loc node)) + (doc (ast-document node))) + (ast-fold (lambda (node result) + (if (markup? node) + (document-bind-node! doc node)) + (if (ast? node) + (ast-loc-set! node loc))) + #t ;; unused + res) (debug-item "res=" res) (*unresolved* #t) res)))) |