emacs-devel
[Top][All Lists]
Advanced

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

Re: Question about display engine


From: martin rudalics
Subject: Re: Question about display engine
Date: Thu, 29 Aug 2019 09:45:50 +0200

>>   > I think we should simply not merge the background color of the region
>>   > face when its extend bit is reset.  Then the merged face will not have
>>   > that background color.
>>
>> Then which background color would we use?  That of the comment was
>> lost when setting up the current face for the iterator.
>
> The one that was there before the region was activated.

But where do we get that from?  Consider a three lines C buffer with
code on the first line and a two-line comment covering the remaining
lines with the region covering the entire buffer.  Hence, the spaces
following the comment on the second line should be drawn with the
background of the comment face.  But when the display engine gets
there, the respective face was not even realized.

> Which one is
> that will be determined by the order in which the merging process
> merges the faces, and by the faces themselves -- whether they do or
> don't define a background color, and whether they do or don't have the
> :extend bit set.

The merging process will kick in iff we treat the newline character at
the end of line 2 as a stop position.  Since no text property changes
there, I don't see how this could happen.  The only stop position in
this buffer (apart from its beginning and end) is where the comment
starts on line 2.

>> I agree that we don't want to extend the region's background.  But the
>> question I raised above still stands.
>
> Did I answer it now?

If so, I didn't understand the answer yet.

martin



reply via email to

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