aboutsummaryrefslogtreecommitdiffstats
path: root/src/lread.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/lread.c')
-rw-r--r--src/lread.c11
1 files changed, 4 insertions, 7 deletions
diff --git a/src/lread.c b/src/lread.c
index 0eb54393482..345af109050 100644
--- a/src/lread.c
+++ b/src/lread.c
@@ -435,7 +435,7 @@ static void substitute_in_interval P_ ((INTERVAL, Lisp_Object));
435 435
436/* Get a character from the tty. */ 436/* Get a character from the tty. */
437 437
438extern Lisp_Object read_char P_ ((int, int, Lisp_Object *, Lisp_Object, int *, jmp_buf *)); 438extern Lisp_Object read_char P_ ((int, int, Lisp_Object *, Lisp_Object, int *));
439 439
440/* Read input events until we get one that's acceptable for our purposes. 440/* Read input events until we get one that's acceptable for our purposes.
441 441
@@ -461,7 +461,6 @@ read_filtered_event (no_switch_frame, ascii_required, error_nonascii,
461 int no_switch_frame, ascii_required, error_nonascii, input_method; 461 int no_switch_frame, ascii_required, error_nonascii, input_method;
462{ 462{
463 volatile register Lisp_Object val, delayed_switch_frame; 463 volatile register Lisp_Object val, delayed_switch_frame;
464 jmp_buf *volatile wrong_kboard_jmpbuf = alloca (sizeof (jmp_buf));
465 464
466#ifdef HAVE_WINDOW_SYSTEM 465#ifdef HAVE_WINDOW_SYSTEM
467 if (display_hourglass_p) 466 if (display_hourglass_p)
@@ -472,12 +471,10 @@ read_filtered_event (no_switch_frame, ascii_required, error_nonascii,
472 471
473 /* Read until we get an acceptable event. */ 472 /* Read until we get an acceptable event. */
474 retry: 473 retry:
475 setjmp (*wrong_kboard_jmpbuf); 474 do
475 val = read_char (0, 0, 0, (input_method ? Qnil : Qt), 0);
476 while (INTEGERP (val) && XINT (val) == -2); /* wrong_kboard_jmpbuf */
476 477
477 val = read_char (0, 0, 0,
478 (input_method ? Qnil : Qt),
479 0, wrong_kboard_jmpbuf);
480
481 if (BUFFERP (val)) 478 if (BUFFERP (val))
482 goto retry; 479 goto retry;
483 480