bug-gnu-emacs
[Top][All Lists]
Advanced

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

bug#51550: 29.0.50; Customize Group INS buttons sometimes don't have a l


From: Po Lu
Subject: bug#51550: 29.0.50; Customize Group INS buttons sometimes don't have a left box line
Date: Tue, 28 Dec 2021 08:37:28 +0800
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.60 (gnu/linux)

Eli Zaretskii <eliz@gnu.org> writes:

>> From: Po Lu <luangruo@yahoo.com>
>> Cc: Eli Zaretskii <eliz@gnu.org>,  stephen.berman@gmx.net,
>>   51550@debbugs.gnu.org
>> Date: Mon, 27 Dec 2021 18:50:22 +0800
>> 
>> I think I found the bug, it's in display_line.
>> 
>> When the label at_end_of_line is reached, it->start_of_box_run_p can be
>> false.
>> 
>> Afterwards, set_iterator_to_next is called, which reseats the iterator
>> to the next line, but doesn't set it->start_of_box_run_p if the face is
>> now different from the previous face and also has a box.
>> 
>> I think the solution is to save the face ID of the iterator after the
>> call to extend_face_to_end_of_line, then compare it to the face after
>> the iterator is reseated to the next line, and set
>> it->start_of_box_run_p to true if that face is different and also has a
>> box.

> Can you show me a simple Lisp that would reproduce such a problem?  I
> don't think I follow your description.  You are actually saying that a
> screen line cannot begin with text that has a face with the box
> attribute set?

Run this:

(insert #("foo\nfoo " 0 4 (face widget-field) 4 7 (face custom-button)))

The second foo will be missing a start box line, which is the bug here.

Thanks.




reply via email to

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