From 344fa54bed6d8cfba943ada4d309e240e76a4d68 Mon Sep 17 00:00:00 2001 From: megane Date: Fri, 3 Aug 2018 13:54:05 +0300 Subject: [PATCH] * eval.scm (compile): Remove failing environment lookup in ##core#set! The x is the full expression (e.g. '(##core#set! foo bar)) which should never be in the syntax environment. Signed-off-by: Peter Bex --- eval.scm | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/eval.scm b/eval.scm index f1c5bb6c..e31fbfce 100644 --- a/eval.scm +++ b/eval.scm @@ -262,14 +262,10 @@ (and-let* ((a (assq var (##sys#current-environment))) ((symbol? (cdr a)))) (##sys#notice "assignment to imported value binding" var))) - (let ((var - (cond ((assq x (##sys#current-environment)) j) ;XXX this looks wrong - ((not static) - (##sys#alias-global-hook j #t cntr)) - (else #f)))) - (if (not var) ; static - (lambda (v) - (##sys#error 'eval "environment is not mutable" evalenv var)) ;XXX var? + (if static + (lambda (v) + (##sys#error 'eval "environment is not mutable" evalenv var)) ;XXX var? + (let ((var (##sys#alias-global-hook j #t cntr))) (lambda (v) (let ((result (##core#app val v))) (##core#inline "C_i_persist_symbol" var) -- 2.11.0