GNU bug report logs -
#51550
29.0.50; Customize Group INS buttons sometimes don't have a left box line
Previous Next
Reported by: Po Lu <luangruo <at> yahoo.com>
Date: Mon, 1 Nov 2021 13:53:02 UTC
Severity: minor
Found in version 29.0.50
Fixed in version 31.1
Done: Mauro Aranda <maurooaranda <at> gmail.com>
Bug is archived. No further changes may be made.
Full log
Message #52 received at 51550 <at> debbugs.gnu.org (full text, mbox):
Eli Zaretskii <eliz <at> gnu.org> writes:
>> From: Po Lu <luangruo <at> yahoo.com>
>> Cc: Eli Zaretskii <eliz <at> gnu.org>, stephen.berman <at> gmx.net,
>> 51550 <at> 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.
This bug report was last modified 81 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.