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.
This commit is contained in:
parent
27540be5c6
commit
7cc66173e4
1 changed files with 2 additions and 2 deletions
|
@ -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);
|
||||
}
|
||||
|
|
Loading…
Add table
Reference in a new issue