Subject: Re: bug#37774: 27.0.50; new :extend attribute broke visuals of all themes and other packages

From: Eli Zaretskii <[email-masked]>
Date: Thu, 31 Oct 2019 18:48:17 +0200

> From: Jonas Bernoulli <[email-masked]>
> Date: Thu, 31 Oct 2019 17:06:17 +0100
> 
> I believe that sometimes a face extends beyond eol even though there is
> nothing (no explicit `:extend t` nor any `:inherit' what-so-ever) that
> tells it to do so.  Maybe it does make a difference whether the face is
> used by an overlay or not.  Or maybe that is completely irrelevant.
> Other faces however do not extend past eol and I am unable to see how
> these faces differ from the faces that do.
> 
> You can verify that
> (1) by making sure no theme is in use
> (2) opening a Magit diff
> (3) note how most faces extend beyond eol
> (4) look at the definition of these faces and notice that there is
>     nothing that tells those faces to extend beyond eol.  Yet they
>     do.
> 
> Such faces include for example `magit-section-highlight' and
> `magit-diff-added'.
> 
> A counter example is `magit-diff-file-heading-highlight'.  That does
> not extend and I don't see how it is different from the other faces
> that I mentioned.

Is there an easier way of reproducing this than installing Magit and
actually using it?  Could you perhaps come up with a much simpler
recipe that just defines a face like Magit does?

The feature we are talking about is implemented in the display code,
whereas Magit is a large and complex package.  Mapping what one sees
in Magit back to the display code is not an easy job, so anything you
can do to ease that will be appreciated.

Thanks.