aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRichard M. Stallman1995-08-03 23:19:05 +0000
committerRichard M. Stallman1995-08-03 23:19:05 +0000
commit20de20dce1e18aa1e995b2391efa9448d764eb7a (patch)
tree99e657c4999cc73755d6892687055144f95bfae7
parentfb3afe8779daaa1ee72d6b62cefea79c219e4acd (diff)
downloademacs-20de20dce1e18aa1e995b2391efa9448d764eb7a.tar.gz
emacs-20de20dce1e18aa1e995b2391efa9448d764eb7a.zip
(redisplay): When displaying a terminal frame,
if it isn't the same one as last time, clear it and redraw. Don't redisplay mini_frame as well, if it is a termcap frame.
-rw-r--r--src/xdisp.c19
1 files changed, 18 insertions, 1 deletions
diff --git a/src/xdisp.c b/src/xdisp.c
index 6a426f80b5c..6a4b5dc34ac 100644
--- a/src/xdisp.c
+++ b/src/xdisp.c
@@ -779,6 +779,9 @@ static int do_verify_charstarts;
779 no more than once ever 1000 redisplays. */ 779 no more than once ever 1000 redisplays. */
780static int clear_face_cache_count; 780static int clear_face_cache_count;
781 781
782/* Record the previous terminal frame we displayed. */
783static FRAME_PTR previous_terminal_frame;
784
782void 785void
783redisplay () 786redisplay ()
784{ 787{
@@ -792,6 +795,19 @@ redisplay ()
792 if (noninteractive) 795 if (noninteractive)
793 return; 796 return;
794 797
798#ifdef MULTI_FRAME
799 if (FRAME_TERMCAP_P (selected_frame)
800 && previous_terminal_frame != selected_frame)
801 {
802 /* Since frames on an ASCII terminal share the same display area,
803 displaying a different frame means redisplay the whole thing. */
804 windows_or_buffers_changed++;
805 SET_FRAME_GARBAGED (selected_frame);
806 XSETFRAME (Vterminal_frame, selected_frame);
807 }
808 previous_terminal_frame = selected_frame;
809#endif
810
795 /* Set the visible flags for all frames. 811 /* Set the visible flags for all frames.
796 Do this before checking for resized or garbaged frames; they want 812 Do this before checking for resized or garbaged frames; they want
797 to know if their frames are visible. 813 to know if their frames are visible.
@@ -1094,7 +1110,8 @@ update:
1094 FRAME_PTR mini_frame 1110 FRAME_PTR mini_frame
1095 = XFRAME (WINDOW_FRAME (XWINDOW (minibuf_window))); 1111 = XFRAME (WINDOW_FRAME (XWINDOW (minibuf_window)));
1096 1112
1097 if (mini_frame != selected_frame) 1113 if (mini_frame != selected_frame
1114 && ! FRAME_TERMCAP_P (mini_frame))
1098 pause |= update_frame (mini_frame, 0, 0); 1115 pause |= update_frame (mini_frame, 0, 0);
1099 } 1116 }
1100 } 1117 }