Mercurial > emacs
diff src/Makefile.in @ 83374:0b75ace4f7ad
Fix crash after y-or-n-p prompt triggered by emacsclient. (Reported by Han Boetes, analysis by Kalle Olavi Niemitalo.)
* src/keyboard.c (temporarily_switch_to_single_kboard)
(record_single_kboard_state, restore_kboard_configuration): New functions.
(timer_check): Use record_single_kboard_state instead of
naive single_kboard state management.
* src/fns.c: Include termhooks.h.
(Fy_or_n_p): Use temporarily_switch_to_single_kboard to prevent crashes
caused by bogus longjmps in read_char.
* src/callint.c (Fcall_interactively): Use
temporarily_switch_to_single_kboard instead of single_kboard_state.
Make sure it is correctly unwinded.
* src/keyboard.c (recursive_edit_unwind): Remove single_kboard stuff.
(Frecursive_edit): Use temporarily_switch_to_single_kboard for
single_kboard state management.
* src/minibuf.c (read_minibuf): Use temporarily_switch_to_single_kboard
instead of simply calling single_kboard_state.
* src/keyboard.c (push_device_kboard): Remove function.
(push_kboard): New function.
(push_frame_kboard): Use it.
(pop_frame_kboard): Rename to pop_kboard.
* src/xdisp.c (display_mode_line, Fformat_mode_line): Update uses.
* src/data.c: Include termhooks.h.
(Fterminal_local_value, Fset_terminal_local_value): Update.
* src/Makefile.in (data.o, fns.o): Add termhooks.h dependency.
* src/keyboard.h (push_device_kboard, pop_frame_kboard): Remove declarations.
(push_kboard, pop_kboard, temporarily_switch_to_single_kboard)
(record_single_kboard_state): New declarations.
git-archimport-id: lorentey@elte.hu--2004/emacs--multi-tty--0--patch-414
| author | Karoly Lorentey <lorentey@elte.hu> |
|---|---|
| date | Sun, 11 Sep 2005 06:42:03 +0000 |
| parents | 532e0a9335a9 |
| children | d84f940244dc |
line wrap: on
line diff
--- a/src/Makefile.in Sun Sep 11 04:10:45 2005 +0000 +++ b/src/Makefile.in Sun Sep 11 06:42:03 2005 +0000 @@ -1213,13 +1213,13 @@ blockinput.h atimer.h systime.h charset.h dispextern.h $(config_h) $(INTERVAL_SRC) bytecode.o: bytecode.c buffer.h syntax.h charset.h window.h dispextern.h \ frame.h xterm.h $(config_h) -data.o: data.c buffer.h puresize.h charset.h syssignal.h keyboard.h frame.h $(config_h) +data.o: data.c buffer.h puresize.h charset.h syssignal.h keyboard.h frame.h termhooks.h $(config_h) eval.o: eval.c commands.h keyboard.h blockinput.h atimer.h systime.h \ dispextern.h $(config_h) floatfns.o: floatfns.c $(config_h) fns.o: fns.c commands.h $(config_h) frame.h buffer.h charset.h keyboard.h \ keymap.h frame.h window.h dispextern.h $(INTERVAL_SRC) coding.h md5.h \ - blockinput.h xterm.h + blockinput.h xterm.h termhooks.h print.o: print.c process.h frame.h window.h buffer.h keyboard.h charset.h \ $(config_h) dispextern.h termchar.h $(INTERVAL_SRC) msdos.h composite.h \ termchar.h
