From 7cc66173e4288237eb00b96f1d2162b80c0e0b1b Mon Sep 17 00:00:00 2001 From: Paul Eggert Date: Mon, 22 Apr 2019 20:02:20 -0700 Subject: [PATCH] Revert Vinternal_interpreter_environment tweak Stefan Monnier pointed out examples like (funcall `(closure ,(let ((cycle (list nil))) (setcdr cycle cycle)) () a)), where the user can set Vinternal_interpreter_environment indirectly. * src/eval.c (Fsetq): Revert recent change, going back to Fassq. --- src/eval.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/eval.c b/src/eval.c index fde63f1a21c..3fd9a40a3a2 100644 --- a/src/eval.c +++ b/src/eval.c @@ -513,7 +513,7 @@ usage: (setq [SYM VAL]...) */) Lisp_Object lex_binding = ((!NILP (Vinternal_interpreter_environment) /* Mere optimization! */ && SYMBOLP (sym)) - ? assq_no_quit (sym, Vinternal_interpreter_environment) + ? Fassq (sym, Vinternal_interpreter_environment) : Qnil); if (!NILP (lex_binding)) XSETCDR (lex_binding, val); /* SYM is lexically bound. */ @@ -2162,7 +2162,7 @@ eval_sub (Lisp_Object form) already did that when let-binding the variable. */ Lisp_Object lex_binding = (!NILP (Vinternal_interpreter_environment) /* Mere optimization! */ - ? assq_no_quit (form, Vinternal_interpreter_environment) + ? Fassq (form, Vinternal_interpreter_environment) : Qnil); return !NILP (lex_binding) ? XCDR (lex_binding) : Fsymbol_value (form); } -- 2.39.2