diff options
author | Gerd Moellmann <gerd@gnu.org> | 2000-12-11 14:50:29 +0000 |
---|---|---|
committer | Gerd Moellmann <gerd@gnu.org> | 2000-12-11 14:50:29 +0000 |
commit | 4db873808f5abb3a8a25dff0c9efa8f39ec2af89 (patch) | |
tree | b02eca742292667709b6b84c6a8fee226cbac91a | |
parent | e5959a9aef36b817fb835b1f9ab47a6c9d0b64de (diff) | |
download | emacs-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/ChangeLog | 5 | ||||
-rw-r--r-- | src/xdisp.c | 14 |
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. */ |