+2006-08-04 Chong Yidong <cyd@stupidchicken.com>
+
+ * keyboard.c (read_char): Rebalance specpdl after receiving jump.
+
+ * process.c: Reapply 2006-08-01 change.
+
2006-08-04 Eli Zaretskii <eliz@gnu.org>
* w32fns.c (w32_query_font): Fix last change: use stricmp.
EMACS_TIME *end_time;
{
volatile Lisp_Object c;
- int count;
+ int count, jmpcount;
jmp_buf local_getcjmp;
jmp_buf save_jump;
volatile int key_already_recorded = 0;
around any call to sit_for or kbd_buffer_get_event;
it *must not* be in effect when we call redisplay. */
+ jmpcount = SPECPDL_INDEX ();
if (_setjmp (local_getcjmp))
{
/* We must have saved the outer value of getcjmp here,
so restore it now. */
restore_getcjmp (save_jump);
+ unbind_to (jmpcount, Qnil);
XSETINT (c, quit_char);
internal_last_event_frame = selected_frame;
Vlast_event_frame = internal_last_event_frame;