]> git.eshelyaron.com Git - emacs.git/commitdiff
(Fcalled_interactively_p): Don't check INTERACTIVE.
authorRichard M. Stallman <rms@gnu.org>
Thu, 2 Dec 2004 23:36:53 +0000 (23:36 +0000)
committerRichard M. Stallman <rms@gnu.org>
Thu, 2 Dec 2004 23:36:53 +0000 (23:36 +0000)
(interactive_p): Skip Scalled_interactively_p frames
like Sinteractive_p frames.

src/eval.c

index 15b292d7d7e950eafcfcfef6ba48c5ecbf876180..4a63b022fd6045b8dd5c019d324b3b64e8a8eb8e 100644 (file)
@@ -573,7 +573,7 @@ optional argument, and making the `interactive' spec specify non-nil
 unconditionally for that argument.  (`p' is a good way to do this.)  */)
      ()
 {
-  return (INTERACTIVE && interactive_p (1)) ? Qt : Qnil;
+  return interactive_p (1) ? Qt : Qnil;
 }
 
 
@@ -595,7 +595,8 @@ interactive_p (exclude_subrs_p)
   /* If this isn't a byte-compiled function, there may be a frame at
      the top for Finteractive_p.  If so, skip it.  */
   fun = Findirect_function (*btp->function);
-  if (SUBRP (fun) && XSUBR (fun) == &Sinteractive_p)
+  if (SUBRP (fun) && (XSUBR (fun) == &Sinteractive_p
+                     || XSUBR (fun) == &Scalled_interactively_p))
     btp = btp->next;
 
   /* If we're running an Emacs 18-style byte-compiled function, there
@@ -1173,9 +1174,10 @@ unwind_to_catch (catch, value)
   /* Save the value in the tag.  */
   catch->val = value;
 
-  /* Restore the polling-suppression count.  */
+  /* Restore certain special C variables.  */
   set_poll_suppress_count (catch->poll_suppress_count);
   interrupt_input_blocked = catch->interrupt_input_blocked;
+  handling_signal = 0;
 
   do
     {