aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorStefan Monnier2013-02-25 11:05:49 -0500
committerStefan Monnier2013-02-25 11:05:49 -0500
commitb5071fc755c4f287c7befba1150d91a985762ebd (patch)
tree3fd1e218ab78050d4695036fb32e74d87b46dade /src
parent944c37effa068de90af84c37106461bca3076bea (diff)
downloademacs-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
Diffstat (limited to 'src')
-rw-r--r--src/ChangeLog6
-rw-r--r--src/callint.c4
-rw-r--r--src/eval.c2
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 @@
12013-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
12013-02-25 Paul Eggert <eggert@cs.ucla.edu> 72013-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