diff options
| author | Karl Heuer | 1998-06-01 03:12:04 +0000 |
|---|---|---|
| committer | Karl Heuer | 1998-06-01 03:12:04 +0000 |
| commit | 6d4279ab93817ed9b3e6cbb169b201d900ca2f4a (patch) | |
| tree | ed97911f8dfe9ebc3b33cff69036dfaf19c56eb1 /src | |
| parent | 2576f5d2700e3e18e684fc4f6e3d52c5d20d4f17 (diff) | |
| download | emacs-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.c | 23 |
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. */ |