Subject: bug#56683: 29.0.50; long lines fix doesn't work correctly when lines are truncated

From: Andrey Listopadov <[email-masked]>
Date: Fri, 22 Jul 2022 08:03:27 +0300

> How long is a "really long line" in a log file?  Do you think 1000 or
> 10000 characters is a reasonable upper limit for your use case?

It depends, occasionally there are lines with JSONs maybe one third of
the size of the mentioned dictionary.json.  But these are rare cases,
most of the time the longest lines are about 3000 characters wide, I
guess I have to measure it next time.  So probably a smaller amount than
10000 to enable optimizations is welcome.

One particularly interesting situation is when there are logs which span
such long lines on every line, e.g.:

   1 log-line-with-1800-chars→
   2 log-line-with-3000-chars→
   3 log-line-with-2000-chars→
   4 log-line-with-1500-chars→
     ...
1830 log-line-with-1500-chars

In this case, if I wasn't using truncation I would see only the first
line of the log, wrapped around and taking all screen space, but since
lines are truncated, I have ~70 very long lines displayed on screen.

I've taken dictionary.json, and used C-u 70 M-x duplicate-line, and it
does seem to perform well (or at least Emacs doesn't hang completely),
but there are some occasional slowdowns (Probably because of
show-paren-mode).

--
Andrey Listopadov