Mercurial > emacs
diff src/lread.c @ 83460:dbd791ef90a1
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
author | Karoly Lorentey <lorentey@elte.hu> |
---|---|
date | Sun, 29 Jan 2006 00:17:11 +0000 |
parents | c69d44922688 |
children | 9b150bc96d33 |
line wrap: on
line diff
--- a/src/lread.c Sat Jan 28 22:46:08 2006 +0000 +++ b/src/lread.c Sun Jan 29 00:17:11 2006 +0000 @@ -435,7 +435,7 @@ /* 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 @@ 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 until we get an acceptable event. */ retry: - setjmp (*wrong_kboard_jmpbuf); - - val = read_char (0, 0, 0, - (input_method ? Qnil : Qt), - 0, wrong_kboard_jmpbuf); - + do + val = read_char (0, 0, 0, (input_method ? Qnil : Qt), 0); + while (INTEGERP (val) && XINT (val) == -2); /* wrong_kboard_jmpbuf */ + if (BUFFERP (val)) goto retry;