GNU bug report logs -
#50699
28.0.50; Assertation failed when built with checking and mouse face is set to :box 0
Previous Next
Reported by: Po Lu <luangruo <at> yahoo.com>
Date: Mon, 20 Sep 2021 11:30:02 UTC
Severity: normal
Tags: fixed
Found in version 28.0.50
Fixed in version 29.1
Done: Lars Ingebrigtsen <larsi <at> gnus.org>
Bug is archived. No further changes may be made.
Full log
View this message in rfc822 format
> Date: Mon, 20 Sep 2021 15:23:08 +0300
> From: Eli Zaretskii <eliz <at> gnu.org>
> Cc: 50699 <at> debbugs.gnu.org
>
> > When I set the box of the mouse face on a section of text to 0, such as
> > with (insert (propertize "abc" foo 'mouse-face '(:box 0))), and move the
> > mouse over that, and I build with enable-checking, Emacs crashes with:
> >
> > xfaces.c:5976: Emacs fatal error: assertion failed: XFIXNUM (box) != 0
> > Fatal error 6: Aborted
>
> Thanks, should be fixed now.
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.
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).
It looks like this didn't change since Emacs 21, so it isn't bitrot of
any kind.
Does anyone know why we have these strange inconsistencies?
This bug report was last modified 2 years and 267 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.