about summary refs log tree commit diff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-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)