Commit 7cc66173 authored by Paul Eggert's avatar Paul Eggert

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.
parent 27540be5
Pipeline #1416 passed with stage
in 53 minutes and 59 seconds
...@@ -513,7 +513,7 @@ usage: (setq [SYM VAL]...) */) ...@@ -513,7 +513,7 @@ usage: (setq [SYM VAL]...) */)
Lisp_Object lex_binding Lisp_Object lex_binding
= ((!NILP (Vinternal_interpreter_environment) /* Mere optimization! */ = ((!NILP (Vinternal_interpreter_environment) /* Mere optimization! */
&& SYMBOLP (sym)) && SYMBOLP (sym))
? assq_no_quit (sym, Vinternal_interpreter_environment) ? Fassq (sym, Vinternal_interpreter_environment)
: Qnil); : Qnil);
if (!NILP (lex_binding)) if (!NILP (lex_binding))
XSETCDR (lex_binding, val); /* SYM is lexically bound. */ XSETCDR (lex_binding, val); /* SYM is lexically bound. */
...@@ -2162,7 +2162,7 @@ eval_sub (Lisp_Object form) ...@@ -2162,7 +2162,7 @@ eval_sub (Lisp_Object form)
already did that when let-binding the variable. */ already did that when let-binding the variable. */
Lisp_Object lex_binding Lisp_Object lex_binding
= (!NILP (Vinternal_interpreter_environment) /* Mere optimization! */ = (!NILP (Vinternal_interpreter_environment) /* Mere optimization! */
? assq_no_quit (form, Vinternal_interpreter_environment) ? Fassq (form, Vinternal_interpreter_environment)
: Qnil); : Qnil);
return !NILP (lex_binding) ? XCDR (lex_binding) : Fsymbol_value (form); return !NILP (lex_binding) ? XCDR (lex_binding) : Fsymbol_value (form);
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment