GNU bug report logs -
#36858
27.0.50; display bugs with display-fill-column-indicator-mode
Previous Next
Reported by: Davor Rotim <rotim.davor <at> gmail.com>
Date: Tue, 30 Jul 2019 18:12:01 UTC
Severity: normal
Found in version 27.0.50
Done: Ergus <spacibba <at> aol.com>
Bug is archived. No further changes may be made.
Full log
View this message in rfc822 format
On Thu, Aug 08, 2019 at 08:31:02PM +0300, Eli Zaretskii wrote:
>> Date: Wed, 7 Aug 2019 21:46:21 +0200
>> From: Ergus <spacibba <at> aol.com>
>> Cc: 36858 <at> debbugs.gnu.org, rotim.davor <at> gmail.com
>>
>> >In a buffer showing only buffer text (no after-strings at EOB), all
>> >the glyph rows starting from the one showing EOB have their
>> >ends_at_zv_p flag set.
>>
>> Hi:
>>
>> In my tests inside extend_face_to_end_of_line the flag ends_at_zv_p is
>> always false. And for the last line (where it is supposed to be true)
>> the function extend_face_to_end_of_line is not called at all. So
>> actually all the code like:
>>
>> if (it->glyph_row->ends_at_zv_p)
>> it->face_id = default_face->id;
>> else
>> it->face_id = face->id;
>>
>> does nothing now.
>
>I see 2 calls to extend_face_to_end_of_line that have an explicit
>setting of the ends_at_zv_p flag to 'true' right before the call. The
>fact that you don't see that just means that you are not trying the
>use cases where those code fragments are executed. Which doesn't
>surprise me, since the Emacs display engine supports dozens of rare
>and subtle use cases, some of which are not easy to even reproduce.
>
>> I think that the problem is in the condition:
>>
>> if (!get_next_display_element (it)) inside display_line that filters the
>> call to extend_face_to_end_of_line with:
>>
>> if (row->reversed_p
>> || lookup_basic_face (it->w, it->f, DEFAULT_FACE_ID) !=
>> DEFAULT_FACE_ID)
>> extend_face_to_end_of_line (it);
>>
>> And needs to be extended probably with with:
>>
>> || (!row_text_area_empty (row))
>
>Not sure about which place you are talking: there are several places
>in xdisp.c where we call get_next_display_element and test that its
>value is zero.
>
>In any case, if we are going to call extend_face_to_end_of_line in
>some of the places where we currently don't do that at EOB, we should
>condition of the display-fill-column-indicator-mode being ON as well.
Yes I know. I was just trying to find the key condition for our case.
This bug report was last modified 5 years and 215 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.