summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/bigloo/resolve.scm6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/bigloo/resolve.scm b/src/bigloo/resolve.scm
index 7507560..8248a4f 100644
--- a/src/bigloo/resolve.scm
+++ b/src/bigloo/resolve.scm
@@ -99,7 +99,9 @@
(debug-item "env0=" env0)
(debug-item "env=" env)
(if (not (eq? parent #unspecified))
- node
+ (let ((e `((parent ,node) ,@env ,@env0)))
+ (set! body (do-resolve! body engine e))
+ node)
(let ((p (assq 'parent env0)))
(set! parent (and (pair? p) (pair? (cdr p)) (cadr p)))
(if (pair? options)
@@ -142,7 +144,7 @@
(with-access::%unresolved node (proc parent loc)
(let ((p (assq 'parent env)))
(set! parent (and (pair? p) (pair? (cdr p)) (cadr p))))
- (let ((res (resolve! (proc node engine env) engine env)))
+ (let ((res (proc node engine env)))
(if (ast? res) (%ast-loc-set! res loc))
(debug-item "res=" res)
(set! *unresolved* #t)