Mercurial > hg > xemacs-beta
changeset 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 | a7b2d995287f |
children | aaa6e4c4e653 |
files | src/ChangeLog src/signal.c |
diffstat | 2 files changed, 14 insertions(+), 4 deletions(-) [+] |
line wrap: on
line diff
--- a/src/ChangeLog Mon Apr 19 11:26:04 2004 +0000 +++ b/src/ChangeLog Mon Apr 19 14:39:49 2004 +0000 @@ -1,3 +1,9 @@ +2004-04-15 Jerry James <james@xemacs.org> + + * signal.c (check_what_happened): Remove check for proper + redisplay wrapping. + * signal.c (check_quit): Put the check here instead. + 2004-04-18 Stephen J. Turnbull <stephen@xemacs.org> * emacs.c (main_1): dumped_data_max_size and dumped_data_align_offset
--- 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()