diff src/signal.c @ 2034:51e4a77ed447

[xemacs-hg @ 2004-04-19 14:39:45 by james] Move QUIT checking down one level to catch QUITP and avoid catching uses of QUIT that have already disabled checking.
author james
date Mon, 19 Apr 2004 14:39:49 +0000
parents b531bf8658e9
children 04bc9d2f42c7
line wrap: on
line diff
--- a/src/signal.c	Mon Apr 19 11:26:04 2004 +0000
+++ b/src/signal.c	Mon Apr 19 14:39:49 2004 +0000
@@ -436,10 +436,6 @@
      code. */
 
 #ifdef ERROR_CHECK_TRAPPING_PROBLEMS
-  assert_with_message
-    (proper_redisplay_wrapping_in_place (),
-     "QUIT called from within redisplay without being properly wrapped");
-
   /* When in a critical section, don't reset something_happened, so that
      every single QUIT will verify proper wrapping. (something_happened
      was set by enter_redisplay_critical_section() and will be reset
@@ -982,6 +978,14 @@
 
   if (quit_check_signal_happened)
     {
+#ifdef ERROR_CHECK_TRAPPING_PROBLEMS
+      /* Since the code below can call Lisp, make sure that proper wrapping is
+	 in place during redisplay. */
+      assert_with_message
+	(proper_redisplay_wrapping_in_place (),
+	 "QUIT called from within redisplay without being properly wrapped");
+#endif
+
       /* Since arbitrary Lisp code may be executed (e.g. through a menu
          filter, see backtrace directly above), GC might happen,
          which would majorly fuck a lot of things, e.g. re_match()