Mercurial > emacs
changeset 58734:5bc7de720277
(Fcalled_interactively_p): Don't check INTERACTIVE.
(interactive_p): Skip Scalled_interactively_p frames
like Sinteractive_p frames.
author | Richard M. Stallman <rms@gnu.org> |
---|---|
date | Thu, 02 Dec 2004 23:36:53 +0000 |
parents | 947c0bab2dd9 |
children | dc21606c560a |
files | src/eval.c |
diffstat | 1 files changed, 5 insertions(+), 3 deletions(-) [+] |
line wrap: on
line diff
--- a/src/eval.c Thu Dec 02 23:35:42 2004 +0000 +++ b/src/eval.c Thu Dec 02 23:36:53 2004 +0000 @@ -573,7 +573,7 @@ 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 @@ /* 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 @@ /* 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 {