emacs-devel
[Top][All Lists]
Advanced

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

Re: Tick Reduction


From: Lars Ingebrigtsen
Subject: Re: Tick Reduction
Date: Thu, 25 Nov 2021 15:29:04 +0100
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/29.0.50 (gnu/linux)

Eli Zaretskii <eliz@gnu.org> writes:

> It might simplify things because you won't need display_min_width to
> be called the second time by property (in)equality, but just based on
> position.  Also, you don't need to keep the form in the iterator,
> which could help GC.

I don't understand how I can ditch the form -- I'll be called several
times, and I need to see whether the new interval has a min-width that's
`eq' the one in the previous interval.

But it does sound like it might make the end case simpler, yes.  Hm...
I think.

>> I've tested, and it does.  It's only apparently in specs like
>> " (%l,%c)", though.
>
> Well, that's expected: you are formatting two strings.

Yes, like I said.

>> Yes, when called from the mode line we're postponing the stretch
>> computation until the :propertize run is actually over (in the
>> multiple-% case).
>
> But "is over" seems to mean "we are in the next string", not "we are
> at the end of the string that needs to be stretched".  that's what the
> bufpos == 0 test does.  Right?  If so, this is too late: what if
> there's no "next string"?

If there's no "next string" we have nothing to stretch for, so that's
fine.

(If we want to extend the face over the stretch, then this has to be
done differently.)

> ??? The "foo" part has the display property, so it is that something
> which needs to be stretched.  That there's some more text after it
> shouldn't affect how "foo" is displayed, right?  Or what am I missing?

The stretch comes after "foo", so I'm not sure what you're asking.

-- 
(domestic pets only, the antidote for overdose, milk.)
   bloggy blog: http://lars.ingebrigtsen.no



reply via email to

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