~ chicken-core (chicken-5) 42853564b1fa4941731c570ad9f091882ab68e70


commit 42853564b1fa4941731c570ad9f091882ab68e70
Author:     felix <felix@call-with-current-continuation.org>
AuthorDate: Mon Sep 19 13:07:53 2011 +0200
Commit:     felix <felix@call-with-current-continuation.org>
CommitDate: Mon Sep 19 13:07:53 2011 +0200

    Revert "added evaluation hooks for variable references"
    
    This reverts commit ae95cdfe32131fecb7b16bc148be8dbfaca98ba8.
    
    The general usefulness isn't clear yet - some more elaborate
    mechanism may be needed.

diff --git a/eval.scm b/eval.scm
index 0e198a63..445df6e7 100644
--- a/eval.scm
+++ b/eval.scm
@@ -31,8 +31,7 @@
   (hide pds pdss pxss d) 
   (not inline ##sys#repl-read-hook ##sys#repl-print-hook 
        ##sys#read-prompt-hook ##sys#alias-global-hook ##sys#user-read-hook
-       ##sys#syntax-error-hook 
-       ##sys#eval-global-ref-hook ##sys#eval-global-assign-hook))
+       ##sys#syntax-error-hook))
 
 #>
 #ifndef C_INSTALL_EGG_HOME
@@ -180,8 +179,6 @@
 
 (define ##sys#unbound-in-eval #f)
 (define ##sys#eval-debug-level (make-parameter 1))
-(define (##sys#eval-global-ref-hook var rvar c) c)
-(define (##sys#eval-global-assign-hook var rvar val c) c)
 
 (define ##sys#compile-to-closure
   (let ([write write]
@@ -247,15 +244,12 @@
 				     (or (not var)
 					 (not (##sys#symbol-has-toplevel-binding? var))))
 			    (set! ##sys#unbound-in-eval
-			      (cons (cons (or var x) cntr) ##sys#unbound-in-eval)) )
-			  (##sys#eval-global-ref-hook
-			   x var
-			   (cond ((not var)
-				  (lambda (v)
-				    ;; evaluation in static env and variable not found in se
-				    (##sys#error 'eval "unbound variable" x)))
-				 (else
-				  (lambda v (##core#inline "C_retrieve" var)))))))
+			      (cons (cons var cntr) ##sys#unbound-in-eval)) )
+			  (cond ((not var)
+				 (lambda (v)
+				   (##sys#error "unbound variable" x)))
+				(else
+				 (lambda v (##core#inline "C_retrieve" var))))))
                       (else
                        (case i
                          ((0) (lambda (v) 
@@ -354,7 +348,7 @@
 			  (let ((var (cadr x)))
 			    (receive (i j) (lookup var e se)
 			      (let ((val (compile (caddr x) e var tf cntr se)))
-				(cond ((not i)
+				(cond [(not i)
 				       (when ##sys#notices-enabled
 					 (and-let* ((a (assq var (##sys#current-environment)))
 						    ((symbol? (cdr a))))
@@ -364,20 +358,12 @@
 						  (and (not static)
 						       (##sys#alias-global-hook j #t cntr))
 						  (or (##sys#get j '##core#primitive) j))))
-					 (##sys#eval-global-assign-hook
-					  (cadr x) var val
-					  (if (not var) ; static
-					      (lambda (v)
-						;; evaluation in static env and variable
-						;; not found in se
-						(##sys#error 
-						 'eval "environment is not mutable"
-						 evalenv (or var x)))
-					      (lambda (v)
-						(##sys#setslot var 0 (##core#app val v)))))))
-				      [(zero? i)
-				       (lambda (v)
-					 (##sys#setslot (##sys#slot v 0) j (##core#app val v)))]
+					 (if (not var) ; static
+					     (lambda (v)
+					       (##sys#error 'eval "environment is not mutable" evalenv var))
+					     (lambda (v)
+					       (##sys#setslot var 0 (##core#app val v))) ) ) ]
+				      [(zero? i) (lambda (v) (##sys#setslot (##sys#slot v 0) j (##core#app val v)))]
 				      [else
 				       (lambda (v)
 					 (##sys#setslot
Trap