aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEli Zaretskii2012-01-14 22:15:01 +0200
committerEli Zaretskii2012-01-14 22:15:01 +0200
commitc85efaf73fd8447ea9da54da42a615fd59679f2d (patch)
treedbf7adc7350ad033c91cbca6f9dcac2b83d67561
parent688070a52955c1046a3b2a373956725926703c9d (diff)
downloademacs-c85efaf73fd8447ea9da54da42a615fd59679f2d.tar.gz
emacs-c85efaf73fd8447ea9da54da42a615fd59679f2d.zip
Fix bug #9087 with crashes on MS-Windows under throw-on-input.
src/w32fns.c (signal_user_input): Don't do a QUIT, to avoid thrashing the stack of the thread.
-rw-r--r--src/ChangeLog5
-rw-r--r--src/w32fns.c5
2 files changed, 10 insertions, 0 deletions
diff --git a/src/ChangeLog b/src/ChangeLog
index 28910c5a556..eb03ef1357f 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,3 +1,8 @@
12012-01-14 Eli Zaretskii <eliz@gnu.org>
2
3 * w32fns.c (signal_user_input): Don't do a QUIT, to avoid
4 thrashing the stack of the thread. (Bug#9087)
5
12012-01-12 Paul Eggert <eggert@cs.ucla.edu> 62012-01-12 Paul Eggert <eggert@cs.ucla.edu>
2 7
3 * xdisp.c (rows_from_pos_range): Add parens as per gcc -Wparentheses. 8 * xdisp.c (rows_from_pos_range): Add parens as per gcc -Wparentheses.
diff --git a/src/w32fns.c b/src/w32fns.c
index 1fcf29fbcfd..510d1e94f16 100644
--- a/src/w32fns.c
+++ b/src/w32fns.c
@@ -2479,6 +2479,10 @@ signal_user_input (void)
2479 if (!NILP (Vthrow_on_input)) 2479 if (!NILP (Vthrow_on_input))
2480 { 2480 {
2481 Vquit_flag = Vthrow_on_input; 2481 Vquit_flag = Vthrow_on_input;
2482 /* Doing a QUIT from this thread is a bad idea, since this
2483 unwinds the stack of the Lisp thread, and the Windows runtime
2484 rightfully barfs. Disabled. */
2485#if 0
2482 /* If we're inside a function that wants immediate quits, 2486 /* If we're inside a function that wants immediate quits,
2483 do it now. */ 2487 do it now. */
2484 if (immediate_quit && NILP (Vinhibit_quit)) 2488 if (immediate_quit && NILP (Vinhibit_quit))
@@ -2486,6 +2490,7 @@ signal_user_input (void)
2486 immediate_quit = 0; 2490 immediate_quit = 0;
2487 QUIT; 2491 QUIT;
2488 } 2492 }
2493#endif
2489 } 2494 }
2490} 2495}
2491 2496