[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#50699: 28.0.50; Assertation failed when built with checking and mous
From: |
Eli Zaretskii |
Subject: |
bug#50699: 28.0.50; Assertation failed when built with checking and mouse face is set to :box 0 |
Date: |
Mon, 20 Sep 2021 15:54:11 +0300 |
> Date: Mon, 20 Sep 2021 15:23:08 +0300
> From: Eli Zaretskii <eliz@gnu.org>
> Cc: 50699@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?