]> git.eshelyaron.com Git - emacs.git/commitdiff
Optimization to avoid redisplaying hidden terminal frames.
authorChong Yidong <cyd@gnu.org>
Sun, 17 Jun 2012 10:11:39 +0000 (18:11 +0800)
committerChong Yidong <cyd@gnu.org>
Sun, 17 Jun 2012 10:11:39 +0000 (18:11 +0800)
* xdisp.c (redisplay_internal): No need to redisplay terminal
frames that are not on top.

src/ChangeLog
src/xdisp.c

index ba029611cdb674fa3ace6589af738882e16a2f1e..309f4447dbccf8e1435a9b03a0469cb889e8d731 100644 (file)
@@ -1,3 +1,8 @@
+2012-06-17  Chong Yidong  <cyd@gnu.org>
+
+       * xdisp.c (redisplay_internal): No need to redisplay terminal
+       frames that are not on top.
+
 2012-06-17  Troels Nielsen  <bn.troels@gmail.com>
 
        * process.c (make_process): Initialize write_queue.
index cd5f03d34ad3b046f5c248ebcfe61f7be9c1074a..f371346589b7d71d88b1c2f8491d55587ecd61c7 100644 (file)
@@ -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))