diff options
| author | Paul Eggert | 2019-04-22 20:02:20 -0700 |
|---|---|---|
| committer | Paul Eggert | 2019-04-22 20:02:32 -0700 |
| commit | 7cc66173e4288237eb00b96f1d2162b80c0e0b1b (patch) | |
| tree | 17448ea373afdcb13ca1acb7afa6aa038d187eb4 /src | |
| parent | 27540be5c6265821d8197beeebb82113994c6b94 (diff) | |
| download | emacs-7cc66173e4288237eb00b96f1d2162b80c0e0b1b.tar.gz emacs-7cc66173e4288237eb00b96f1d2162b80c0e0b1b.zip | |
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.
Diffstat (limited to 'src')
| -rw-r--r-- | src/eval.c | 4 |
1 files 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]...) */) | |||
| 513 | Lisp_Object lex_binding | 513 | Lisp_Object lex_binding |
| 514 | = ((!NILP (Vinternal_interpreter_environment) /* Mere optimization! */ | 514 | = ((!NILP (Vinternal_interpreter_environment) /* Mere optimization! */ |
| 515 | && SYMBOLP (sym)) | 515 | && SYMBOLP (sym)) |
| 516 | ? assq_no_quit (sym, Vinternal_interpreter_environment) | 516 | ? Fassq (sym, Vinternal_interpreter_environment) |
| 517 | : Qnil); | 517 | : Qnil); |
| 518 | if (!NILP (lex_binding)) | 518 | if (!NILP (lex_binding)) |
| 519 | XSETCDR (lex_binding, val); /* SYM is lexically bound. */ | 519 | XSETCDR (lex_binding, val); /* SYM is lexically bound. */ |
| @@ -2162,7 +2162,7 @@ eval_sub (Lisp_Object form) | |||
| 2162 | already did that when let-binding the variable. */ | 2162 | already did that when let-binding the variable. */ |
| 2163 | Lisp_Object lex_binding | 2163 | Lisp_Object lex_binding |
| 2164 | = (!NILP (Vinternal_interpreter_environment) /* Mere optimization! */ | 2164 | = (!NILP (Vinternal_interpreter_environment) /* Mere optimization! */ |
| 2165 | ? assq_no_quit (form, Vinternal_interpreter_environment) | 2165 | ? Fassq (form, Vinternal_interpreter_environment) |
| 2166 | : Qnil); | 2166 | : Qnil); |
| 2167 | return !NILP (lex_binding) ? XCDR (lex_binding) : Fsymbol_value (form); | 2167 | return !NILP (lex_binding) ? XCDR (lex_binding) : Fsymbol_value (form); |
| 2168 | } | 2168 | } |