aboutsummaryrefslogtreecommitdiffstats
path: root/src/term.c
diff options
context:
space:
mode:
authorKaroly Lorentey2004-01-23 21:48:58 +0000
committerKaroly Lorentey2004-01-23 21:48:58 +0000
commitd448e98221f74c780d5163ed819b782ee32f7d74 (patch)
treee4957b71e9a3aa7732f23b5c2bd1b2f1f884809a /src/term.c
parent6c3d443b13f9db58f54057b1061b1853c47cc6b8 (diff)
downloademacs-d448e98221f74c780d5163ed819b782ee32f7d74.tar.gz
emacs-d448e98221f74c780d5163ed819b782ee32f7d74.zip
Fixed tty faces during combo sessions. Plus other assorted bugfixes.
lisp/startup.el (command-line): Always call tty-register-default-colors. src/dispextern.h (delete_tty): Added missing prototype. src/keyboard.c (read_avail_input): Close display gracefully if needed. Kill Emacs if the last display is to be closed. (tty_read_avail_input): Don't call delete_tty and don't signal hangup here; return -2 instead to indicate the non-transient failure to read_avail_input. src/term.c (delete_tty): Removed superflous wiping of the deleted frames' output_data field. (delete_display): Check for and close live frames that are still on the display. src/termhooks.h (read_socket_hook, delete_display_hook): Added detailed comment. src/xfaces.c (realize_face): Create a dummy face for the initial frame. (Reported by Robert J. Chassell (bob at rattlenake dot com).) git-archimport-id: lorentey@elte.hu--2004/emacs--multi-tty--0--patch-61
Diffstat (limited to 'src/term.c')
-rw-r--r--src/term.c14
1 files changed, 13 insertions, 1 deletions
diff --git a/src/term.c b/src/term.c
index c6782efa606..f63c6c68774 100644
--- a/src/term.c
+++ b/src/term.c
@@ -2843,7 +2843,6 @@ delete_tty (struct display *display)
2843 if (FRAME_TERMCAP_P (f) && FRAME_LIVE_P (f) && FRAME_TTY (f) == tty) 2843 if (FRAME_TERMCAP_P (f) && FRAME_LIVE_P (f) && FRAME_TTY (f) == tty)
2844 { 2844 {
2845 Fdelete_frame (frame, Qt); 2845 Fdelete_frame (frame, Qt);
2846 f->output_data.tty = 0;
2847 } 2846 }
2848 } 2847 }
2849 2848
@@ -2968,6 +2967,19 @@ void
2968delete_display (struct display *dev) 2967delete_display (struct display *dev)
2969{ 2968{
2970 struct display **dp; 2969 struct display **dp;
2970 Lisp_Object tail, frame;
2971
2972 /* Check for and close live frames that are still on this
2973 display. */
2974 FOR_EACH_FRAME (tail, frame)
2975 {
2976 struct frame *f = XFRAME (frame);
2977 if (FRAME_LIVE_P (f) && f->display == dev)
2978 {
2979 Fdelete_frame (frame, Qt);
2980 }
2981 }
2982
2971 for (dp = &display_list; *dp != dev; dp = &(*dp)->next_display) 2983 for (dp = &display_list; *dp != dev; dp = &(*dp)->next_display)
2972 if (! *dp) 2984 if (! *dp)
2973 abort (); 2985 abort ();