summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/ChangeLog5
-rw-r--r--src/xdisp.c14
2 files changed, 11 insertions, 8 deletions
diff --git a/src/ChangeLog b/src/ChangeLog
index 1062db5d5da..951205e8978 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -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.
diff --git a/src/xdisp.c b/src/xdisp.c
index 444c7696f68..6e0b565b264 100644
--- a/src/xdisp.c
+++ b/src/xdisp.c
@@ -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. */