Mercurial > emacs
diff src/term.c @ 83021:32bf8e7cc0c2
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
| author | Karoly Lorentey <lorentey@elte.hu> |
|---|---|
| date | Fri, 23 Jan 2004 21:48:58 +0000 |
| parents | 1465425fe2d3 |
| children | c66ebcc29777 |
line wrap: on
line diff
--- a/src/term.c Thu Jan 22 19:39:51 2004 +0000 +++ b/src/term.c Fri Jan 23 21:48:58 2004 +0000 @@ -2843,7 +2843,6 @@ if (FRAME_TERMCAP_P (f) && FRAME_LIVE_P (f) && FRAME_TTY (f) == tty) { Fdelete_frame (frame, Qt); - f->output_data.tty = 0; } } @@ -2968,6 +2967,19 @@ delete_display (struct display *dev) { struct display **dp; + Lisp_Object tail, frame; + + /* Check for and close live frames that are still on this + display. */ + FOR_EACH_FRAME (tail, frame) + { + struct frame *f = XFRAME (frame); + if (FRAME_LIVE_P (f) && f->display == dev) + { + Fdelete_frame (frame, Qt); + } + } + for (dp = &display_list; *dp != dev; dp = &(*dp)->next_display) if (! *dp) abort ();
