Preserve tty top-frames under various window-changing operations.
authorChong Yidong <cyd@gnu.org>
Tue, 19 Jun 2012 06:49:50 +0000 (14:49 +0800)
committerChong Yidong <cyd@gnu.org>
Tue, 19 Jun 2012 06:49:50 +0000 (14:49 +0800)
commitc6bf30222430f41fbb696e296f0f63f465eefc35
tree257eb724e088a7e5e321170ce078cc0e3efc5f6e
parent4e2cc2f31f8e516901bc3cacf98def678cd45dc9
Preserve tty top-frames under various window-changing operations.

* subr.el (with-selected-window): Preserve the selected window's
terminal's top-frame.

* window.el (save-selected-window): Likewise.

* frame.c (delete_frame): When selecting a frame on a different
text terminal, do not alter the terminal's top-frame.

* term.c (Ftty_top_frame): New function.

* xdisp.c (format_mode_line_unwind_data): Record the target
frame's selected window and its terminal's top-frame.
(unwind_format_mode_line): Restore them.
(x_consider_frame_title, display_mode_line, Fformat_mode_line):
Callers changed.
(x_consider_frame_title): Do not condition on HAVE_WINDOW_SYSTEM,
since tty frames can be explicitly named.
(prepare_menu_bars): Likewise.

Fixes: debbugs:4702
etc/NEWS
lisp/ChangeLog
lisp/subr.el
lisp/window.el
src/ChangeLog
src/frame.c
src/term.c
src/xdisp.c