emacs-diffs
[Top][All Lists]
Advanced

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

[Emacs-diffs] emacs-26 b83f83c: Ignore pending_signals when checking for


From: Philipp Stephani
Subject: [Emacs-diffs] emacs-26 b83f83c: Ignore pending_signals when checking for quits.
Date: Wed, 7 Aug 2019 12:21:54 -0400 (EDT)

branch: emacs-26
commit b83f83ccd47997b7fd581026d4e1b124fa4fefc2
Author: Philipp Stephani <address@hidden>
Commit: Philipp Stephani <address@hidden>

    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.
---
 src/emacs-module.c | 6 +++---
 src/eval.c         | 5 +----
 2 files changed, 4 insertions(+), 7 deletions(-)

diff --git a/src/emacs-module.c b/src/emacs-module.c
index 0abfd3f..2820127 100644
--- a/src/emacs-module.c
+++ b/src/emacs-module.c
@@ -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;
 }
 
 
diff --git a/src/eval.c b/src/eval.c
index 0dc8639..2409d3d 100644
--- a/src/eval.c
+++ b/src/eval.c
@@ -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)



reply via email to

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