From c85efaf73fd8447ea9da54da42a615fd59679f2d Mon Sep 17 00:00:00 2001 From: Eli Zaretskii Date: Sat, 14 Jan 2012 22:15:01 +0200 Subject: [PATCH] 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. --- src/ChangeLog | 5 +++++ src/w32fns.c | 5 +++++ 2 files changed, 10 insertions(+) diff --git a/src/ChangeLog b/src/ChangeLog index 28910c5a556..eb03ef1357f 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,3 +1,8 @@ +2012-01-14 Eli Zaretskii + + * w32fns.c (signal_user_input): Don't do a QUIT, to avoid + thrashing the stack of the thread. (Bug#9087) + 2012-01-12 Paul Eggert * 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) if (!NILP (Vthrow_on_input)) { Vquit_flag = Vthrow_on_input; + /* Doing a QUIT from this thread is a bad idea, since this + unwinds the stack of the Lisp thread, and the Windows runtime + rightfully barfs. Disabled. */ +#if 0 /* If we're inside a function that wants immediate quits, do it now. */ if (immediate_quit && NILP (Vinhibit_quit)) @@ -2486,6 +2490,7 @@ signal_user_input (void) immediate_quit = 0; QUIT; } +#endif } } -- 2.11.4.GIT