diff options
| author | Gerd Möllmann | 2024-11-12 09:23:27 +0100 |
|---|---|---|
| committer | Gerd Möllmann | 2024-11-12 14:01:52 +0100 |
| commit | 37cdf2897ad51f45a228c86f5f12feeb284673df (patch) | |
| tree | e884d46ecdb300cb25986f2f8e32800d149e8857 /src | |
| parent | 437ccbe612b377fd5ac492572702978ec75ea0df (diff) | |
| download | emacs-37cdf2897ad51f45a228c86f5f12feeb284673df.tar.gz emacs-37cdf2897ad51f45a228c86f5f12feeb284673df.zip | |
Fix a FIXME In redisplay_internal
* src/xdisp.c (redisplay_internal): Compare root frames before
setting the frame garbaged.
Diffstat (limited to 'src')
| -rw-r--r-- | src/xdisp.c | 21 |
1 files changed, 12 insertions, 9 deletions
diff --git a/src/xdisp.c b/src/xdisp.c index bd3e8f3138d..f9764f82e03 100644 --- a/src/xdisp.c +++ b/src/xdisp.c | |||
| @@ -17035,19 +17035,22 @@ redisplay_internal (void) | |||
| 17035 | if (face_change) | 17035 | if (face_change) |
| 17036 | windows_or_buffers_changed = 47; | 17036 | windows_or_buffers_changed = 47; |
| 17037 | 17037 | ||
| 17038 | /* FIXME: Can we do better for tty child frames? It could be | 17038 | struct frame *previous_frame; |
| 17039 | a bit faster when we switch between child frames of the same | ||
| 17040 | root frame. OTOH, it's probably not a frequent use case. */ | ||
| 17041 | if ((FRAME_TERMCAP_P (sf) || FRAME_MSDOS_P (sf)) | 17039 | if ((FRAME_TERMCAP_P (sf) || FRAME_MSDOS_P (sf)) |
| 17042 | && FRAME_TTY (sf)->previous_frame != sf) | 17040 | && (previous_frame = FRAME_TTY (sf)->previous_frame, |
| 17041 | previous_frame != sf)) | ||
| 17043 | { | 17042 | { |
| 17044 | /* Since frames on a single ASCII terminal share the same | 17043 | if (previous_frame == NULL |
| 17045 | display area, displaying a different frame means redisplay | 17044 | || root_frame (previous_frame) != root_frame (sf)) |
| 17046 | the whole thing. */ | 17045 | { |
| 17047 | SET_FRAME_GARBAGED (sf); | 17046 | /* Since frames on a single terminal share the same display |
| 17047 | area, displaying a different frame means redisplay the | ||
| 17048 | whole thing. */ | ||
| 17049 | SET_FRAME_GARBAGED (sf); | ||
| 17048 | #if !defined DOS_NT && !defined HAVE_ANDROID | 17050 | #if !defined DOS_NT && !defined HAVE_ANDROID |
| 17049 | set_tty_color_mode (FRAME_TTY (sf), sf); | 17051 | set_tty_color_mode (FRAME_TTY (sf), sf); |
| 17050 | #endif | 17052 | #endif |
| 17053 | } | ||
| 17051 | FRAME_TTY (sf)->previous_frame = sf; | 17054 | FRAME_TTY (sf)->previous_frame = sf; |
| 17052 | } | 17055 | } |
| 17053 | 17056 | ||