[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.
bug#51550: 29.0.50; Customize Group INS buttons sometimes don't have a left box line, Eli Zaretskii, 2021/12/28