Subject: Re: bug#50699: 28.0.50; Assertation failed when built with checking and mouse face is set to :box 0

From: Lars Ingebrigtsen <[email-masked]>
Date: Fri, 26 Aug 2022 14:30:15 +0200

Eli Zaretskii <[email-masked]> writes:

> Btw, there's a lot of strange stuff going on with this.
>
> First, we accept (:box N) and (:box (N . M)) forms, but they are not
> documented.  The form (:box (:line-width (N . M))) is also
> undocumented.

The latter is mentioned:

 @item @code{(:line-width (@var{vwidth} . @var{hwidth}) :color @var{color} :style @var{style})}

But I've now clarified that the elements are optional.

I don't think we need to document the alternate forms -- I think they
just confuse the issue.

> Second, we disallow zero in (:box 0), but allow it in (:box (0 . 0))
> and also in (:box (:line-width 0)) (and handle them as if 1 was
> specified instead of zero).

And I don't think we need to mention this, either.  0 is a degenerate
value for something that's supposed to be about a box's line widths, so
either erroring out or defaulting to 1 makes as much sense (which is
probably why one form does the one thing and the other does the other).

Po Lu <[email-masked]> writes:

> Eli Zaretskii <[email-masked]> writes:
>
>> Thanks, should be fixed now.
>
> Works as advertised, thanks :)

So I'm closing this bug report.