unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
* bug#56815: 29.0.50; Isearch lazy-highlight highlights too much when truncate-lines is in effect
@ 2022-07-28 17:29 Eli Zaretskii
  2022-07-28 20:08 ` Juri Linkov
  2022-08-08 17:20 ` Juri Linkov
  0 siblings, 2 replies; 32+ messages in thread
From: Eli Zaretskii @ 2022-07-28 17:29 UTC (permalink / raw)
  To: 56815

To reproduce, visit any file with very long lines, turn on
truncate-lines, and invoke Isearch. after typing some search string
for which there are matches in the buffer, Isearch will highlight many
matches that are not visible in the window.  In an extreme case where
a file has a single very long line, all the matches in the buffer will
be highlighted.  This both takes long time, and slows down many
display-related commands, because the large number of overlays created
for the highlighting slows down redisplay.

This happens because isearch.el uses window-end as the limit beyond
which to stop highlighting, but that is a poor indicator of visibility
in buffers under truncate-lines.

If isearch.el cannot find a better criterion for stopping highlighting
beyond some buffer position, it should at least use some reasonable
fixed (or customizable) limit.  Another possibility is to turn off
lazy-highlight by default when truncate-lines is turned on.

This issue is related to poor Emacs performance in buffers with very
long lines, and its fix is essential for making Emacs more usable with
such buffers.

In GNU Emacs 29.0.50 (build 1562, i686-pc-mingw32)
 of 2022-07-28 built on HOME-C4E4A596F7
Repository revision: 5999dc1cd925ddf8af0b893432124af7904a6918
Repository branch: master
Windowing system distributor 'Microsoft Corp.', version 5.1.2600
System Description: Microsoft Windows XP Service Pack 3 (v5.1.0.2600)

Configured using:
 'configure -C --prefix=/d/usr --with-wide-int
 --enable-checking=yes,glyphs 'CFLAGS=-O0 -gdwarf-4 -g3''

Configured features:
ACL GIF GMP GNUTLS HARFBUZZ JPEG JSON LCMS2 LIBXML2 MODULES NOTIFY
W32NOTIFY PDUMPER PNG RSVG SOUND SQLITE3 THREADS TIFF
TOOLKIT_SCROLL_BARS WEBP XPM ZLIB

Important settings:
  value of $LANG: ENU
  locale-coding-system: cp1255

Major mode: Lisp Interaction

Minor modes in effect:
  tooltip-mode: t
  global-eldoc-mode: t
  eldoc-mode: t
  show-paren-mode: t
  electric-indent-mode: t
  mouse-wheel-mode: t
  tool-bar-mode: t
  menu-bar-mode: t
  file-name-shadow-mode: t
  global-font-lock-mode: t
  font-lock-mode: t
  blink-cursor-mode: t
  line-number-mode: t
  indent-tabs-mode: t
  transient-mark-mode: t
  auto-composition-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t

Load-path shadows:
None found.

Features:
(shadow sort mail-extr emacsbug message mailcap yank-media puny dired
dired-loaddefs rfc822 mml mml-sec password-cache epa derived epg rfc6068
epg-config gnus-util text-property-search time-date subr-x mm-decode
mm-bodies mm-encode mail-parse rfc2231 mailabbrev gmm-utils mailheader
cl-loaddefs cl-lib sendmail rfc2047 rfc2045 ietf-drums mm-util
mail-prsvr mail-utils rmc iso-transl tooltip eldoc paren electric
uniquify ediff-hook vc-hooks lisp-float-type elisp-mode mwheel dos-w32
ls-lisp disp-table term/w32-win w32-win w32-vars term/common-win
tool-bar dnd fontset image regexp-opt fringe tabulated-list replace
newcomment text-mode lisp-mode prog-mode register page tab-bar menu-bar
rfn-eshadow isearch easymenu timer select scroll-bar mouse jit-lock
font-lock syntax font-core term/tty-colors frame minibuffer nadvice seq
simple cl-generic indonesian philippine cham georgian utf-8-lang
misc-lang vietnamese tibetan thai tai-viet lao korean japanese eucjp-ms
cp51932 hebrew greek romanian slovak czech european ethiopic indian
cyrillic chinese composite emoji-zwj charscript charprop case-table
epa-hook jka-cmpr-hook help abbrev obarray oclosure cl-preloaded button
loaddefs faces cus-face macroexp files window text-properties overlay
sha1 md5 base64 format env code-pages mule custom widget keymap
hashtable-print-readable backquote threads w32notify w32 lcms2 multi-tty
make-network-process emacs)

Memory information:
((conses 16 42081 12220)
 (symbols 48 6231 0)
 (strings 16 16687 2024)
 (string-bytes 1 454721)
 (vectors 16 9209)
 (vector-slots 8 143790 14221)
 (floats 8 23 45)
 (intervals 40 268 7)
 (buffers 888 10))





^ permalink raw reply	[flat|nested] 32+ messages in thread

end of thread, other threads:[~2022-08-27 19:52 UTC | newest]

Thread overview: 32+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2022-07-28 17:29 bug#56815: 29.0.50; Isearch lazy-highlight highlights too much when truncate-lines is in effect Eli Zaretskii
2022-07-28 20:08 ` Juri Linkov
2022-07-29  5:50   ` Eli Zaretskii
2022-07-29 11:48     ` Lars Ingebrigtsen
2022-07-29 18:14       ` Juri Linkov
2022-07-29 18:37         ` Gregory Heytings
2022-07-29 19:02           ` Eli Zaretskii
2022-07-29 19:11             ` Gregory Heytings
2022-07-29 19:31               ` Eli Zaretskii
2022-07-29 19:36                 ` Eli Zaretskii
2022-07-29 19:52                 ` Gregory Heytings
2022-07-29 19:59                   ` Eli Zaretskii
2022-07-29 20:26                     ` Gregory Heytings
2022-07-30  5:35                       ` Eli Zaretskii
2022-07-31 19:40                       ` Juri Linkov
2022-07-31 21:21                         ` Gregory Heytings
2022-08-01 11:51                         ` Eli Zaretskii
2022-08-01 18:09                           ` Juri Linkov
2022-08-02  7:31                             ` Gregory Heytings
2022-08-02 11:10                               ` Eli Zaretskii
2022-08-14 13:53                             ` Eli Zaretskii
2022-08-21 16:32                               ` Juri Linkov
2022-08-21 17:06                                 ` Eli Zaretskii
2022-08-21 19:03                                   ` Juri Linkov
2022-08-21 19:35                                     ` Eli Zaretskii
2022-08-22  6:48                                       ` Juri Linkov
2022-08-22 11:32                                         ` Eli Zaretskii
2022-08-23  7:41                                           ` Juri Linkov
2022-08-23 12:11                                             ` Eli Zaretskii
2022-08-23 16:49                                               ` Juri Linkov
2022-08-27 19:52                                                 ` Juri Linkov
2022-08-08 17:20 ` Juri Linkov

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).