]> git.eshelyaron.com Git - emacs.git/commit
Further speedups of redisplay of long and truncated lines
authorEli Zaretskii <eliz@gnu.org>
Sun, 14 Aug 2022 12:47:59 +0000 (15:47 +0300)
committerEli Zaretskii <eliz@gnu.org>
Sun, 14 Aug 2022 12:49:37 +0000 (15:49 +0300)
commita71c05b44de74fe16691f680df34c4534992e472
tree0fdd2a19ea5297f83d2be1b8e609599572923200
parentb93e14fa0fd5833adbdd88ec86fccc4b59172302
Further speedups of redisplay of long and truncated lines

* src/xdisp.c (mode_line_update_needed, redisplay_window)
(decode_mode_spec): Don't avoid calling current_column, as it is
now fast enough.
(redisplay_window) <optional_new_start>: Don't call 'move_it_to'
if its result will not be used.
(Flong_line_optimizations_p): New primitive.
* src/indent.c (Fcurrent_column): Doc fix.
(current_column, scan_for_column): When in a buffer with long
and/or truncated lines, quickly return an approximate value.
* src/window.c (Frecenter): Use the old text-mode code when the
buffer has very long lines.

* lisp/simple.el (line-move): Avoid costly calls to
'line-move-partial' and 'line-move-visual' when lines are
truncated and/or very long.
(move-beginning-of-line): Call 'line-beginning-position' instead
of the slower 'skip-chars-backward'.

* etc/NEWS: Announce 'long-line-optimizations-p'.
etc/NEWS
lisp/simple.el
src/indent.c
src/window.c
src/xdisp.c