diff options
author | Karoly Lorentey <lorentey@elte.hu> | 2006-01-29 00:17:11 +0000 |
---|---|---|
committer | Karoly Lorentey <lorentey@elte.hu> | 2006-01-29 00:17:11 +0000 |
commit | 9688ff534500a278871366f699cd0ead3524b68a (patch) | |
tree | ccbd2eb6198e55f7dae0c2b70b5adb0f3c761b71 /src/lread.c | |
parent | 67ddbec3529fd15915d09a196321f7d081dfc610 (diff) | |
download | emacs-9688ff534500a278871366f699cd0ead3524b68a.tar.gz |
Eliminate wrong_kboard_jmpbuf.
* src/keyboard.c (read_char, read_char_minibuf_menu_prompt)
(read_key_sequence, read_filtered_event): Eliminate wrong_kboard_jmpbuf.
git-archimport-id: lorentey@elte.hu--2004/emacs--multi-tty--0--patch-500
Diffstat (limited to 'src/lread.c')
-rw-r--r-- | src/lread.c | 11 |
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)); /* Get a character from the tty. */ -extern Lisp_Object read_char P_ ((int, int, Lisp_Object *, Lisp_Object, int *, jmp_buf *)); +extern Lisp_Object read_char P_ ((int, int, Lisp_Object *, Lisp_Object, int *)); /* Read input events until we get one that's acceptable for our purposes. @@ -461,7 +461,6 @@ read_filtered_event (no_switch_frame, ascii_required, error_nonascii, int no_switch_frame, ascii_required, error_nonascii, input_method; { volatile register Lisp_Object val, delayed_switch_frame; - jmp_buf *volatile wrong_kboard_jmpbuf = alloca (sizeof (jmp_buf)); #ifdef HAVE_WINDOW_SYSTEM if (display_hourglass_p) @@ -472,12 +471,10 @@ read_filtered_event (no_switch_frame, ascii_required, error_nonascii, /* Read until we get an acceptable event. */ retry: - setjmp (*wrong_kboard_jmpbuf); + do + val = read_char (0, 0, 0, (input_method ? Qnil : Qt), 0); + while (INTEGERP (val) && XINT (val) == -2); /* wrong_kboard_jmpbuf */ - val = read_char (0, 0, 0, - (input_method ? Qnil : Qt), - 0, wrong_kboard_jmpbuf); - if (BUFFERP (val)) goto retry; |