aboutsummaryrefslogtreecommitdiffstats
path: root/src/xdisp.c
diff options
context:
space:
mode:
authorChong Yidong <[email protected]>2012-06-17 18:11:39 +0800
committerChong Yidong <[email protected]>2012-06-17 18:11:39 +0800
commit96a313a1daea14c0b125857f2775aae911045349 (patch)
treebb6100c0caf1cdec71d37c1c12b4a940b9b743c9 /src/xdisp.c
parent20ca2e9451e7dbae9b24bf759c4374a674c9270a (diff)
Optimization to avoid redisplaying hidden terminal frames.
* xdisp.c (redisplay_internal): No need to redisplay terminal frames that are not on top.
Diffstat (limited to 'src/xdisp.c')
-rw-r--r--src/xdisp.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/xdisp.c b/src/xdisp.c
index cd5f03d34a..f371346589 100644
--- a/src/xdisp.c
+++ b/src/xdisp.c
@@ -13317,6 +13317,12 @@ redisplay_internal (void)
{
struct frame *f = XFRAME (frame);
+ /* We don't have to do anything for unselected terminal
+ frames. */
+ if ((FRAME_TERMCAP_P (f) || FRAME_MSDOS_P (f))
+ && !EQ (FRAME_TTY (f)->top_frame, frame))
+ continue;
+
if (FRAME_WINDOW_P (f) || FRAME_TERMCAP_P (f) || f == sf)
{
if (! EQ (frame, selected_frame))