diff options
| author | Stefan Monnier | 2013-02-25 11:05:49 -0500 |
|---|---|---|
| committer | Stefan Monnier | 2013-02-25 11:05:49 -0500 |
| commit | b5071fc755c4f287c7befba1150d91a985762ebd (patch) | |
| tree | 3fd1e218ab78050d4695036fb32e74d87b46dade | |
| parent | 944c37effa068de90af84c37106461bca3076bea (diff) | |
| download | emacs-b5071fc755c4f287c7befba1150d91a985762ebd.tar.gz emacs-b5071fc755c4f287c7befba1150d91a985762ebd.zip | |
* src/callint.c (Fcall_interactively): Use the right lexical environment
for `interactive' specs.
* src/eval.c (Feval): Accept a lexical environment.
Fixes: debbugs:13811
| -rw-r--r-- | src/ChangeLog | 6 | ||||
| -rw-r--r-- | src/callint.c | 4 | ||||
| -rw-r--r-- | src/eval.c | 2 |
3 files changed, 9 insertions, 3 deletions
diff --git a/src/ChangeLog b/src/ChangeLog index 00d1f30dd46..4f2fb4c1d53 100644 --- a/src/ChangeLog +++ b/src/ChangeLog | |||
| @@ -1,3 +1,9 @@ | |||
| 1 | 2013-02-25 Stefan Monnier <monnier@iro.umontreal.ca> | ||
| 2 | |||
| 3 | * callint.c (Fcall_interactively): Use the right lexical environment | ||
| 4 | for `interactive' specs (bug#13811). | ||
| 5 | * eval.c (Feval): Accept a lexical environment. | ||
| 6 | |||
| 1 | 2013-02-25 Paul Eggert <eggert@cs.ucla.edu> | 7 | 2013-02-25 Paul Eggert <eggert@cs.ucla.edu> |
| 2 | 8 | ||
| 3 | Simplify data_start configuration (Bug#13783). | 9 | Simplify data_start configuration (Bug#13783). |
diff --git a/src/callint.c b/src/callint.c index 3e295a3b26b..b0d4bcdd011 100644 --- a/src/callint.c +++ b/src/callint.c | |||
| @@ -342,8 +342,8 @@ invoke it. If KEYS is omitted or nil, the return value of | |||
| 342 | /* Compute the arg values using the user's expression. */ | 342 | /* Compute the arg values using the user's expression. */ |
| 343 | GCPRO2 (input, filter_specs); | 343 | GCPRO2 (input, filter_specs); |
| 344 | specs = Feval (specs, | 344 | specs = Feval (specs, |
| 345 | CONSP (funval) && EQ (Qclosure, XCAR (funval)) | 345 | CONSP (funval) && EQ (Qclosure, XCAR (funval)) |
| 346 | ? Qt : Qnil); | 346 | ? CAR_SAFE (XCDR (funval)) : Qnil); |
| 347 | UNGCPRO; | 347 | UNGCPRO; |
| 348 | if (events != num_input_events || !NILP (record_flag)) | 348 | if (events != num_input_events || !NILP (record_flag)) |
| 349 | { | 349 | { |
diff --git a/src/eval.c b/src/eval.c index 030bf14bcea..5db6f9d0bf3 100644 --- a/src/eval.c +++ b/src/eval.c | |||
| @@ -1898,7 +1898,7 @@ If LEXICAL is t, evaluate using lexical scoping. */) | |||
| 1898 | { | 1898 | { |
| 1899 | ptrdiff_t count = SPECPDL_INDEX (); | 1899 | ptrdiff_t count = SPECPDL_INDEX (); |
| 1900 | specbind (Qinternal_interpreter_environment, | 1900 | specbind (Qinternal_interpreter_environment, |
| 1901 | NILP (lexical) ? Qnil : Fcons (Qt, Qnil)); | 1901 | CONSP (lexical) || NILP (lexical) ? lexical : Fcons (Qt, Qnil)); |
| 1902 | return unbind_to (count, eval_sub (form)); | 1902 | return unbind_to (count, eval_sub (form)); |
| 1903 | } | 1903 | } |
| 1904 | 1904 | ||