aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorKarl Heuer1998-06-01 03:12:04 +0000
committerKarl Heuer1998-06-01 03:12:04 +0000
commit6d4279ab93817ed9b3e6cbb169b201d900ca2f4a (patch)
treeed97911f8dfe9ebc3b33cff69036dfaf19c56eb1 /src
parent2576f5d2700e3e18e684fc4f6e3d52c5d20d4f17 (diff)
downloademacs-6d4279ab93817ed9b3e6cbb169b201d900ca2f4a.tar.gz
emacs-6d4279ab93817ed9b3e6cbb169b201d900ca2f4a.zip
(Fredraw_frame): Don't erase frame or its glyph records
if it hasn't got any.
Diffstat (limited to 'src')
-rw-r--r--src/dispnew.c23
1 files changed, 16 insertions, 7 deletions
diff --git a/src/dispnew.c b/src/dispnew.c
index 609d0b5bf8d..a468e6ea55c 100644
--- a/src/dispnew.c
+++ b/src/dispnew.c
@@ -178,13 +178,22 @@ DEFUN ("redraw-frame", Fredraw_frame, Sredraw_frame, 1, 1, 0,
178 178
179 CHECK_LIVE_FRAME (frame, 0); 179 CHECK_LIVE_FRAME (frame, 0);
180 f = XFRAME (frame); 180 f = XFRAME (frame);
181 update_begin (f); 181
182 if (FRAME_MSDOS_P (f)) 182 /* Erase the frame and its glyph records--if it has any records.
183 set_terminal_modes (); 183 It may have none, in the case of the terminal frame
184 clear_frame (); 184 that initially exists but is never used
185 clear_frame_records (f); 185 when Emacs is using a window system. */
186 update_end (f); 186 if (FRAME_CURRENT_GLYPHS (f) != 0)
187 fflush (stdout); 187 {
188 update_begin (f);
189 if (FRAME_MSDOS_P (f))
190 set_terminal_modes ();
191 clear_frame ();
192 clear_frame_records (f);
193 update_end (f);
194 fflush (stdout);
195 }
196
188 windows_or_buffers_changed++; 197 windows_or_buffers_changed++;
189 /* Mark all windows as INaccurate, 198 /* Mark all windows as INaccurate,
190 so that every window will have its redisplay done. */ 199 so that every window will have its redisplay done. */