emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Emacs-diffs] /srv/bzr/emacs/trunk r111874: * src/callint.c (Fcall_inter


From: Stefan Monnier
Subject: [Emacs-diffs] /srv/bzr/emacs/trunk r111874: * src/callint.c (Fcall_interactively): Use the right lexical environment
Date: Mon, 25 Feb 2013 11:05:49 -0500
User-agent: Bazaar (2.5.0)

------------------------------------------------------------
revno: 111874
fixes bug: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=13811
committer: Stefan Monnier <address@hidden>
branch nick: trunk
timestamp: Mon 2013-02-25 11:05:49 -0500
message:
  * src/callint.c (Fcall_interactively): Use the right lexical environment
  for `interactive' specs.
  * src/eval.c (Feval): Accept a lexical environment.
modified:
  src/ChangeLog
  src/callint.c
  src/eval.c
=== modified file 'src/ChangeLog'
--- a/src/ChangeLog     2013-02-25 05:55:37 +0000
+++ b/src/ChangeLog     2013-02-25 16:05:49 +0000
@@ -1,3 +1,9 @@
+2013-02-25  Stefan Monnier  <address@hidden>
+
+       * callint.c (Fcall_interactively): Use the right lexical environment
+       for `interactive' specs (bug#13811).
+       * eval.c (Feval): Accept a lexical environment.
+
 2013-02-25  Paul Eggert  <address@hidden>
 
        Simplify data_start configuration (Bug#13783).

=== modified file 'src/callint.c'
--- a/src/callint.c     2013-02-17 16:49:27 +0000
+++ b/src/callint.c     2013-02-25 16:05:49 +0000
@@ -342,8 +342,8 @@
       /* Compute the arg values using the user's expression.  */
       GCPRO2 (input, filter_specs);
       specs = Feval (specs,
-                    CONSP (funval) && EQ (Qclosure, XCAR (funval))
-                    ? Qt : Qnil);
+                    CONSP (funval) && EQ (Qclosure, XCAR (funval))
+                    ? CAR_SAFE (XCDR (funval)) : Qnil);
       UNGCPRO;
       if (events != num_input_events || !NILP (record_flag))
        {

=== modified file 'src/eval.c'
--- a/src/eval.c        2013-02-15 06:35:54 +0000
+++ b/src/eval.c        2013-02-25 16:05:49 +0000
@@ -1898,7 +1898,7 @@
 {
   ptrdiff_t count = SPECPDL_INDEX ();
   specbind (Qinternal_interpreter_environment,
-           NILP (lexical) ? Qnil : Fcons (Qt, Qnil));
+           CONSP (lexical) || NILP (lexical) ? lexical : Fcons (Qt, Qnil));
   return unbind_to (count, eval_sub (form));
 }
 


reply via email to

[Prev in Thread] Current Thread [Next in Thread]