Subject: Re: bug#51550: 29.0.50; Customize Group INS buttons sometimes don't have a left box line

From: Po Lu <[email-masked]>
Date: Mon, 27 Dec 2021 18:50:22 +0800

Stefan Kangas <[email-masked]> writes:

> Eli Zaretskii <[email-masked]> writes:
>
>>> In any case, we could revert the commit for emacs-28 and continue investigating
>>> on master.
>>
>> Yes, I think we should do that.
>
> Done in commit d8c9a9dc23.

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.

WDYT?