GNU bug report logs - #16043
24.3.50; emacs crash while scrolling through *Characters List* buffer with C-v

Previous Next

Package: emacs;

Reported by: Yagnesh Raghava Yakkala <hi <at> yagnesh.org>

Date: Wed, 4 Dec 2013 02:05:02 UTC

Severity: normal

Found in version 24.3.50

Done: Eli Zaretskii <eliz <at> gnu.org>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: Eli Zaretskii <eliz <at> gnu.org>
To: Yagnesh Raghava Yakkala <hi <at> yagnesh.org>
Cc: 16043 <at> debbugs.gnu.org
Subject: bug#16043: 24.3.50; emacs crash while scrolling through *Characters List* buffer with C-v
Date: Wed, 04 Dec 2013 19:09:08 +0200
> From: Yagnesh Raghava Yakkala <hi <at> yagnesh.org>
> Date: Wed, 04 Dec 2013 11:03:51 +0900
> 
> This may be a related to fonts installed on my system.

It isn't, see below.

> If I scroll through **Charecter List** buffer (M-x
> list-charset-chars RET unicode-bmp RET) emacs (built yesterday from
> trunk) is getting crashed. I am able easily reproduce with emacs -Q.
> 
> backtrace is attached.

Thanks.  For the record, this bug is much more easily and quickly
reproduced with this recipe:

  emacs -Q
  C-x 8 RET 2066 RET

This happens because we simple-mindedly imported the Unicode database
from Unicode v6.3, without analyzing its impact.  The new database
introduced several new bidirectional classes, which neither
dispextern.h nor bidi.c know about, and a few characters which have
these new class properties.  Emacs hits an assertion violation in
bidi.c trying to display any of these characters.

It turns out unidata-gen.el silently intern's new values that are not
in unidata-prop-alist, and thus the bidi-class char-table was no
longer in sync with dispextern.h and bidi.c, as it must be.

So, in addition to fixing the assertion violation (trunk revision
115376), I also added code to unidata-gen.el to emit warnings if it
ever encounters new bidi-class values.  There's a comment in
unidata-gen.el that explains what to do when such a warning appears.




This bug report was last modified 11 years and 171 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.