summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGerd Moellmann <gerd@gnu.org>2000-12-11 14:50:29 +0000
committerGerd Moellmann <gerd@gnu.org>2000-12-11 14:50:29 +0000
commit4db873808f5abb3a8a25dff0c9efa8f39ec2af89 (patch)
treeb02eca742292667709b6b84c6a8fee226cbac91a
parente5959a9aef36b817fb835b1f9ab47a6c9d0b64de (diff)
downloademacs-4db873808f5abb3a8a25dff0c9efa8f39ec2af89.tar.gz
(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.
-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. */