emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: rmsbolt.el [Was: Colorful line numbers]


From: Eli Zaretskii
Subject: Re: rmsbolt.el [Was: Colorful line numbers]
Date: Sat, 23 Jul 2022 18:52:01 +0300

> From: Stefan Monnier <monnier@iro.umontreal.ca>
> Cc: João Távora <joaotavora@gmail.com>,
>   emacs-devel@gnu.org
> Date: Sat, 23 Jul 2022 10:43:21 -0400
> 
> > The big difference from my POV is that text properties slow down
> > redisplay code
> 
> If that's indeed a problem, then maybe we should provide "non-display
> text-properties".  I.e. text-properties which do not influence the
> display, so we can store them in a parallel interval tree

That's quite a complication.  For starters, how to make sure the same
property doesn't get stored in both trees?  Next, redisplay aside,
most if not all properties that are important for redisplay are also
important to Lisp, and so Lisp programs will now have to look at two
interval trees.

> (tho
> we'd have to check whether the source of the slowdown is the interval
> tree itself or the length of the `plist`s stored in its nodes, so maybe
> we could have a single tree but with two `plist` fields, one for
> display-related properties and the other for non-display-related
> properties).

The immediate source of slowdown is that the display iterator stops at
every position where the properties change, and runs all of its
"handle stop-point" handlers, each one of which examines the
properties it handles (fontified, face, invisible, and display).

For what we do with the tree and the properties we find, see
compute_stop.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]