unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
From: Gregory Heytings <gregory@heytings.org>
To: Eli Zaretskii <eliz@gnu.org>
Cc: 57207@debbugs.gnu.org, yantar92@gmail.com
Subject: bug#57207: 29.0.50; Fontification is slow after e7b5912b23 (Improvements to long lines handling)
Date: Tue, 16 Aug 2022 12:17:10 +0000	[thread overview]
Message-ID: <325f95fd2bce114fd74d@heytings.org> (raw)
In-Reply-To: <83y1voflmb.fsf@gnu.org>


>
> As I said earlier, I've changed my mind about this after I wrote the 
> above.
>

I did see that, yes.

>
> We update UNCHANGED_MODIFIED in mark_window_display_accurate_1, so if 
> the window completes its redisplay cycle "normally", whatever jit-lock 
> does shouldn't matter for the next redisplay cycle, because 
> UNCHANGED_MODIFIED will be updated from MODIFF.
>

Hmmm...  The fact is that using CHARS_MODIFF avoids rescanning the buffer 
when "too many" text properties are changed.  With xdisp.c, the long lines 
detection code is not called anymore when scrolling through the (initially 
unfontified) buffer.  The original bug description (additional delays 
between redisplay cycles in a large buffer) is probably caused by 
needlessly executing that long lines detection code, at least that's 
consistent with my earlier experiments.

>
> Maybe Org does something that frequently causes a window's redisplay 
> cycle to end prematurely, in which case the code that looks for long 
> lines could be called too frequently.  But in that case, your proposed 
> change will have the same problem, I think?
>

That's possible indeed, let's see what Ihor tells us.

>
> What I don't understand is why enlarging the value of the threshold 
> causes Emacs to "hang".  If it really is some kind of infloop, I cannot 
> understand how issues like outdated UNCHANGED_MODIFIED could cause that 
> only for some value of the threshold, but not for a smaller value.  I 
> thought perhaps there are lines longer than 10000 characters, but none 
> beyond 100000, but this turns out to be false, so with both values of 
> the threshold that loop in redisplay_window should have scanned the 
> entire buffer top to bottom in both cases...
>
> So I suspect something else is at work here.
>

Yes, I suspect that this is another bug, separate from the original bug 
Ihor described.  It might be a bug in find_newline1, in the backtrace he 
sent, find_newline1 returns 10568710 and later 9679581.  It's not clear 
however if that's in the same loop (he asked gdb to "continue" between the 
two).





  parent reply	other threads:[~2022-08-16 12:17 UTC|newest]

Thread overview: 103+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-08-14 15:55 bug#57207: 29.0.50; Fontification is slow after e7b5912b23 (Improvements to long lines handling) Ihor Radchenko
2022-08-14 16:08 ` Gregory Heytings
2022-08-14 17:31   ` Eli Zaretskii
2022-08-15  2:35     ` Eli Zaretskii
2022-08-15  9:03       ` Gregory Heytings
2022-08-15 11:41     ` Ihor Radchenko
2022-08-15 12:08       ` Eli Zaretskii
2022-08-16 10:47     ` Gregory Heytings
2022-08-16 11:55       ` Eli Zaretskii
2022-08-16 12:16         ` Ihor Radchenko
2022-08-16 12:24           ` Gregory Heytings
2022-08-16 12:39           ` Eli Zaretskii
2022-08-16 12:17         ` Gregory Heytings [this message]
2022-08-16 12:28           ` Ihor Radchenko
2022-08-16 12:43             ` Gregory Heytings
2022-08-20 16:50               ` Gregory Heytings
2022-08-21  3:25                 ` Ihor Radchenko
2022-08-21  9:01                   ` Gregory Heytings
2022-08-22  2:31                     ` Ihor Radchenko
2022-08-22 14:09                       ` Gregory Heytings
2022-08-22 15:45                         ` Eli Zaretskii
2022-08-23 15:53                           ` Gregory Heytings
2022-08-24  8:08                             ` Ihor Radchenko
2022-08-24  8:26                               ` Gregory Heytings
2022-10-10  8:09                                 ` Lars Ingebrigtsen
2022-10-10 12:03                                   ` Gregory Heytings
2022-10-11  0:25                                     ` Lars Ingebrigtsen
2022-12-08 10:05                                 ` Gregory Heytings
2022-08-16 12:50             ` Eli Zaretskii
2022-08-16 12:43           ` Eli Zaretskii
2022-08-15 11:39   ` Ihor Radchenko
2022-08-15 12:06     ` Eli Zaretskii
2022-08-15 14:12       ` Ihor Radchenko
2022-08-15 14:28         ` Eli Zaretskii
2022-08-15 17:08           ` Eli Zaretskii
2022-08-16  9:39             ` Ihor Radchenko
2022-08-16 12:33               ` Eli Zaretskii
2022-08-16 12:44                 ` Gregory Heytings
2022-08-16  9:38           ` Ihor Radchenko
2022-08-14 16:24 ` Eli Zaretskii
2022-08-15 11:42   ` Ihor Radchenko
2022-08-15 11:53     ` Lars Ingebrigtsen
2022-08-15 12:10       ` Eli Zaretskii
2022-08-17 10:42         ` Lars Ingebrigtsen
2022-08-17 12:10           ` Eli Zaretskii
2022-08-17 12:36             ` Lars Ingebrigtsen
2022-08-17 13:27               ` Eli Zaretskii
2022-08-18 13:02                 ` Lars Ingebrigtsen
2022-08-18 13:23                   ` Eli Zaretskii
2022-08-18 13:33                     ` Eli Zaretskii
2022-08-18 13:51                       ` Lars Ingebrigtsen
2022-08-18 14:01                         ` Lars Ingebrigtsen
2022-08-18 14:10                           ` Eli Zaretskii
2022-08-18 14:13                             ` Eli Zaretskii
2022-08-18 13:50                     ` Lars Ingebrigtsen
2022-08-18 13:58                       ` Eli Zaretskii
2022-08-18 14:02                         ` Lars Ingebrigtsen
2022-08-18 14:13                           ` Lars Ingebrigtsen
2022-08-18 14:14                           ` Lars Ingebrigtsen
2022-08-18 14:32                             ` Eli Zaretskii
2022-08-18 14:38                               ` Lars Ingebrigtsen
2022-08-18 15:49                                 ` Eli Zaretskii
2022-08-19 12:02                                   ` Lars Ingebrigtsen
2022-08-19 12:22                                     ` Eli Zaretskii
2022-08-19 15:50                                       ` Lars Ingebrigtsen
2022-08-19 16:02                                         ` Lars Ingebrigtsen
2022-08-19 16:08                                           ` Lars Ingebrigtsen
2022-08-19 16:11                                             ` Eli Zaretskii
2022-08-19 16:16                                               ` Lars Ingebrigtsen
2022-08-19 17:21                                                 ` Eli Zaretskii
2022-08-19 17:25                                                   ` Lars Ingebrigtsen
2022-08-19 17:51                                                     ` Eli Zaretskii
2022-08-20  9:15                                                       ` Lars Ingebrigtsen
2022-08-20  9:29                                                         ` Eli Zaretskii
2022-08-20  9:57                                                           ` Lars Ingebrigtsen
2022-08-20 10:33                                                             ` Eli Zaretskii
2022-08-20 17:14                                                 ` Gregory Heytings
2022-08-20 17:26                                                   ` Eli Zaretskii
2022-08-20 17:46                                                     ` Gregory Heytings
2022-08-20 23:22                                                       ` Gregory Heytings
2022-08-21  5:46                                                         ` Eli Zaretskii
2022-08-21 11:43                                                           ` Gregory Heytings
2022-08-21 12:02                                                             ` Eli Zaretskii
2022-08-21 12:42                                                               ` Gregory Heytings
2022-08-21 12:47                                                                 ` Lars Ingebrigtsen
2022-08-21 13:22                                                                   ` Gregory Heytings
2022-08-21 13:27                                                                     ` Lars Ingebrigtsen
2022-08-21 13:32                                                                       ` Gregory Heytings
2022-08-21 13:37                                                                         ` Lars Ingebrigtsen
2022-08-21 13:42                                                                           ` Eli Zaretskii
2022-08-21 13:38                                                                         ` Gregory Heytings
2022-08-21 13:39                                                                         ` Eli Zaretskii
2022-08-21 12:53                                                                 ` Eli Zaretskii
2022-08-21 13:18                                                                   ` Gregory Heytings
2022-08-21 13:24                                                                     ` Eli Zaretskii
2022-08-21 19:38                                                                     ` Gregory Heytings
2022-08-21 20:47                                                                       ` Lars Ingebrigtsen
2022-08-22 12:32                                                                       ` Eli Zaretskii
2022-08-22 14:00                                                                         ` Gregory Heytings
2022-08-21 12:08                                                   ` Lars Ingebrigtsen
2022-08-19 16:20                                               ` Visuwesh
2022-08-19 17:22                                                 ` Eli Zaretskii
2022-08-19 16:12                                         ` Eli Zaretskii

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.gnu.org/software/emacs/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=325f95fd2bce114fd74d@heytings.org \
    --to=gregory@heytings.org \
    --cc=57207@debbugs.gnu.org \
    --cc=eliz@gnu.org \
    --cc=yantar92@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).