Mercurial > emacs
diff README.multi-tty @ 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 | 35ba943c8399 |
children | 3b40dd9f3d92 |
line wrap: on
line diff
--- a/README.multi-tty Sun Sep 11 04:10:45 2005 +0000 +++ b/README.multi-tty Sun Sep 11 06:42:03 2005 +0000 @@ -31,27 +31,28 @@ contributed to the project by testing, submitting patches, bug reports, and suggestions. Thanks! -ARISAWA Akihiro <ari at mbf dot ocn dot ne dot jp> -Vincent Bernat <bernat at luffy dot cx> -Han Boetes <han at mijncomputer dot nl> -Robert J. Chassell <bob at rattlesnake dot com> -Romain Francoise <romain at orebokech dot com> -Ami Fischman <ami at fischman dot org> -Friedrich Delgado Friedrichs <friedel at nomaden dot org> -IRIE Tetsuya <irie at t dot email dot ne dot jp> -Yoshiaki Kasahara <kasahara at nc dot kyushu-u dot ac dot jp> -Bas Kok <nekkobassu at yahoo dot com> -Jurej Kubelka <Juraj dot Kubelka at email dot cz> -David Lichteblau <david at lichteblau dot com> -Xavier Mallard <zedek at gnu-rox dot org> -Istvan Marko <mi-mtty at kismala dot com> -Ted Morse <morse at ciholas dot com> -Dan Nicolaescu <dann at ics dot uci dot edu> -Gergely Nagy <algernon at debian dot org> -Mark Plaksin <happy at mcplaksin dot org> -Francisco Borges <borges at let dot rug dot nl> -Frank Ruell <stoerte at dreamwarrior dot net> -Dan Waber <dwaber at logolalia dot com> +ARISAWA Akihiro <ari@mbf.ocn.ne.jp> +Vincent Bernat <bernat@luffy.cx> +Han Boetes <han@mijncomputer.nl> +Robert J. Chassell <bob@rattlesnake.com> +Romain Francoise <romain@orebokech.com> +Ami Fischman <ami@fischman.org> +Friedrich Delgado Friedrichs <friedel@nomaden.org> +IRIE Tetsuya <irie@t.email.ne.jp> +Yoshiaki Kasahara <kasahara@nc.kyushu-u.ac.jp> +Bas Kok <nekkobassu@yahoo.com> +Jurej Kubelka <Juraj.Kubelka@email.cz> +David Lichteblau <david@lichteblau.com> +Xavier Mallard <zedek@gnu-rox.org> +Istvan Marko <mi-mtty@kismala.com> +Ted Morse <morse@ciholas.com> +Gergely Nagy <algernon@debian.org> +Dan Nicolaescu <dann@ics.uci.edu> +Kalle Olavi Niemitalo <kon@iki.fi> +Mark Plaksin <happy@mcplaksin.org> +Francisco Borges <borges@let.rug.nl> +Frank Ruell <stoerte@dreamwarrior.net> +Dan Waber <dwaber@logolalia.com> and many others. Richard Stallman was kind enough to review an earlier version of my @@ -387,17 +388,8 @@ THINGS TO DO ------------ -** This long-standing bug (first reported by Han Boetes) seems to come - and go all the time. It is time to track it down and fix it. - - emacs - M-x server-start - - # From another xterm: - emacsclient -e '(y-or-n-p "Do you want me to crash? ")' - # Notice how the answer ends up in the *scratch* buffer - M-x garbage-collect - SIGSEGV +** Report GTK multi-display problems to GTK maintainers. For extra + credit, fix them. ** frames-on-display-list should also accept frames. @@ -1239,5 +1231,19 @@ (I think patch-370 fixed this.) +-- This long-standing bug (first reported by Han Boetes) seems to come + and go all the time. It is time to track it down and fix it. + + emacs + M-x server-start + + # From another xterm: + emacsclient -e '(y-or-n-p "Do you want me to crash? ")' + # Notice how the answer ends up in the *scratch* buffer + M-x garbage-collect + SIGSEGV + + (Fixed in patch-414 after detailed analysis by Kalle Olavi Niemitalo.) + ;;; arch-tag: 8da1619e-2e79-41a8-9ac9-a0485daad17d