~ chicken-core (chicken-5) 388d3432ad56ad8513a3ab86da836b2d94e747d0
commit 388d3432ad56ad8513a3ab86da836b2d94e747d0 Author: megane <meganeka@gmail.com> AuthorDate: Fri Aug 3 13:54:05 2018 +0300 Commit: felix <felix@call-with-current-continuation.org> CommitDate: Sat Aug 4 11:41:07 2018 +0200 * 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 <peter@more-magic.net> Signed-off-by: felix <felix@call-with-current-continuation.org> 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)Trap