[Top][All Lists]

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

Re: Removing rollback from VC mode - request for comment

From: Eli Zaretskii
Subject: Re: Removing rollback from VC mode - request for comment
Date: Mon, 15 Dec 2014 19:21:19 +0200

> From: Jonas Bernoulli <address@hidden>
> Cc: address@hidden, address@hidden, address@hidden
> Date: Mon, 15 Dec 2014 14:10:10 +0100
> Magit uses a lot of overlays indeed, but that is slowly being phased out
> where possible.

That's very good news, thanks.

> One thing that will certainly stay is that section bodies are made
> invisible using the invisible text-property.

Invisible text is not too bad in itself, but beware of hiding too much
of it: it causes user dissatisfaction when redisplay seems to become
sluggish (because what the user sees as a small amount of text is
actually a very large chunk, and the display engine needs to traverse
it when it makes layout decisions).

> I cannot think of another place were Magit hides text.  You mention
> newlines being molested, but I cannot remember having seen anything
> like that in Magit.

Maybe it was in the past.  Or maybe I just misremembered.

> Back to overlays.  Magit highlights the current section(s) using an
> overlay, which by default changes the background color like the region
> does.

Overlays that change colors or other visual attributes of buffer text
don't bother me.  I was talking about overlay strings and display
properties that are strings.

> > Instead of overlaying buffer text with display and overlay strings, it
> > could simply format the buffer text any way it likes, and then avoid
> > the need to do all that.
> If a user wants to highlight the current section and also refnames with
> a background color, which don't get lost, then Magit *does* have to use
> overlays.

Again, this use of overlays isn't a problem from my POV.  I meant only
displaying text that isn't actually in the buffer, by using overlay
and display strings.


reply via email to

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