GNU bug report logs - #58342
29.0.50; noverlay branch is O(N) for important calls

Previous Next

Package: emacs;

Reported by: Matt Armstrong <matt <at> rfc20.org>

Date: Thu, 6 Oct 2022 23:27:01 UTC

Severity: normal

Merged with 58361

Found in version 29.0.50

Full log


View this message in rfc822 format

From: Eli Zaretskii <eliz <at> gnu.org>
To: Stefan Monnier <monnier <at> iro.umontreal.ca>
Cc: gerd.moellmann <at> gmail.com, matt <at> rfc20.org, 58342 <at> debbugs.gnu.org, mail <at> andreas-politz.de
Subject: bug#58342: 29.0.50; noverlay branch is O(N) for important calls
Date: Fri, 07 Oct 2022 16:57:18 +0300
> From: Stefan Monnier <monnier <at> iro.umontreal.ca>
> Cc: matt <at> rfc20.org,  bug-gnu-emacs <at> gnu.org,  mail <at> andreas-politz.de,
>   gerd.moellmann <at> gmail.com
> Date: Fri, 07 Oct 2022 09:36:50 -0400
> 
> Eli Zaretskii [2022-10-07 10:09:39] wrote:
> >> [ Site note: `previous-overlay-change` is probably not very important in
> >>   practice, but `next-overlay-change` OTOH is indeed important because
> >>   it's used during redisplay.
> > previous-overlay-change is also called by redisplay (but I didn't see
> > how frequently), at least if you look at the code from the static
> > analysis POV.
> 
> Do you happen to know via which path it can be called (beside the obvious
> ones when the redisplay ends up calling ELisp, such as via jit-lock)?

 pos_visible_p
  -> previous-single-char-property-change
      -> previous-char-property-change
          -> previous-overlay-change

Also:

 set_point_both
  -> previous-char-property-change
      -> previous-overlay-change




This bug report was last modified 2 years and 250 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.