]> git.eshelyaron.com Git - emacs.git/commitdiff
(try_cursor_movement): Check update_mode_lines instead
authorGerd Moellmann <gerd@gnu.org>
Mon, 11 Dec 2000 14:50:29 +0000 (14:50 +0000)
committerGerd Moellmann <gerd@gnu.org>
Mon, 11 Dec 2000 14:50:29 +0000 (14:50 +0000)
of the window's update_mode_line flag, since the former is set by
force-mode-line-update, not the latter.  This makes
column-number-mode slightly faster.

src/ChangeLog
src/xdisp.c

index 1062db5d5dab6cfef506855f12d02cf12bbb36a1..951205e8978d8f9008e4ed5fe3c23a6430fc4aad 100644 (file)
@@ -1,5 +1,10 @@
 2000-12-11  Gerd Moellmann  <gerd@gnu.org>
 
+       * xdisp.c (try_cursor_movement): Check update_mode_lines instead
+       of the window's update_mode_line flag, since the former is set by
+       force-mode-line-update, not the latter.  This makes
+       column-number-mode slightly faster.
+       
        * xdisp.c (try_window_id) <all changes above window start>:
        Set the cursor.
 
index 444c7696f6886c623b03c31e53414770c1614997..6e0b565b2649e8f55a2fce72945cfb5759a83983 100644 (file)
@@ -9144,16 +9144,14 @@ try_cursor_movement (window, startp, scroll_step)
      not moved off the frame.  */
   if (/* Point may be in this window.  */
       PT >= CHARPOS (startp)
-      /* If we don't check this, we are called to move the cursor in a
-        horizontally split window with a current matrix that doesn't
-        fit the display.  */
-      && !windows_or_buffers_changed
       /* Selective display hasn't changed.  */
       && !current_buffer->clip_changed
-      /* If force-mode-line-update was called, really redisplay;
-        that's how redisplay is forced after e.g. changing
-        buffer-invisibility-spec.  */
-      && NILP (w->update_mode_line)
+      /* Function force-mode-line-update is used to force a thorough
+        redisplay.  It sets either windows_or_buffers_changed or
+        update_mode_lines.  So don't take a shortcut here for these
+        cases.  */
+      && !update_mode_lines
+      && !windows_or_buffers_changed
       /* Can't use this case if highlighting a region.  When a 
          region exists, cursor movement has to do more than just
          set the cursor.  */