Subject: bug#60580: 29.0.60; crash in xdisp.c with modus theme and display-fill-column-indicator

From: Protesilaos Stavrou <[email-masked]>
Date: Fri, 06 Jan 2023 06:01:05 +0200

> From: Eli Zaretskii <[email-masked]>
> Date: Thu,  5 Jan 2023 22:03:48 +0200
>
>> Cc: [email-masked]
>> Date: Thu, 05 Jan 2023 21:57:39 +0200
>> From: Eli Zaretskii <[email-masked]>
>> 
>> > From: chad <[email-masked]>
>> > Date: Thu, 5 Jan 2023 14:19:48 -0500
>> > 
>> > From emacs -q, evaluate:
>> > 
>> >   (custom-set-variables '(custom-enabled-themes '(modus-vivendi)))
>> >   (global-display-fill-column-indicator-mode 1)
>> > 
>> > Emacs will fail the eassert in append_stretch_glyph at
>> > xdisp.c:30993.
>> 
>> Doesn't happen here.  What is your default face's font with that theme?
>
> I guess the culprit is this bit:
>
>   ;;;;; display-fill-column-indicator-mode
>       `(fill-column-indicator ((,class :height 1 :background ,bg-region :foreground ,bg-region)))
>
> I have no idea what is ":height 1" about, but I think it's wrong and
> should be replaced with some reasonable value.

The ":height 1" has been there for many versions and never caused a
problem of this sort.  If this is the cause, I will change it right
away.  The reason it is like this is to make the indicator a contiguous
line that is not affected by variations in font heights and/or a high
'line-spacing' value.  Otherwise the indicator can appear as a dashed
line.

-- 
Protesilaos Stavrou
https://protesilaos.com