1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2026-01-11 14:01:43 -08:00

Ignore pending_signals when checking for quits.

pending_signals is often set if no quit is pending.  This results in
bugs in module code if the module returns but no quit is actually
pending.

* src/emacs-module.c (module_should_quit): Use QUITP macro to check
whether the caller should quit.

* src/eval.c: Remove obsolete comment.
This commit is contained in:
Philipp Stephani 2019-01-02 22:22:18 +01:00 committed by Philipp Stephani
parent e7818cb73f
commit b83f83ccd4
2 changed files with 4 additions and 7 deletions

View file

@ -665,13 +665,13 @@ module_vec_size (emacs_env *env, emacs_value vec)
return ASIZE (lvec);
}
/* This function should return true if and only if maybe_quit would do
anything. */
/* This function should return true if and only if maybe_quit would
quit. */
static bool
module_should_quit (emacs_env *env)
{
MODULE_FUNCTION_BEGIN_NO_CATCH (false);
return (! NILP (Vquit_flag) && NILP (Vinhibit_quit)) || pending_signals;
return QUITP;
}

View file

@ -1484,10 +1484,7 @@ process_quit_flag (void)
If quit-flag is set to `kill-emacs' the SIGINT handler has received
a request to exit Emacs when it is safe to do.
When not quitting, process any pending signals.
If you change this function, also adapt module_should_quit in
emacs-module.c. */
When not quitting, process any pending signals. */
void
maybe_quit (void)