GNU bug report logs -
#9496
24.0.50; Segfault on TAB-only composition
Previous Next
Reported by: Johan Bockgård <bojohan <at> gnu.org>
Date: Tue, 13 Sep 2011 20:27:01 UTC
Severity: important
Merged with 9775
Found in versions 24.0.50, 24.0.90
Done: Chong Yidong <cyd <at> gnu.org>
Bug is archived. No further changes may be made.
Full log
Message #8 received at 9496 <at> debbugs.gnu.org (full text, mbox):
> From: Johan Bockgård <bojohan <at> gnu.org>
> Date: Tue, 13 Sep 2011 22:22:14 +0200
>
>
> (insert (compose-string "\t"))
>
> Program received signal SIGSEGV, Segmentation fault.
> 0x00000000004d45d4 in x_set_glyph_string_gc (s=0x7fffffffae80) at xterm.c:1061
> 1061 PREPARE_FACE_FOR_DISPLAY (s->f, s->face);
> (gdb) bt
> #0 0x00000000004d45d4 in x_set_glyph_string_gc (s=0x7fffffffae80)
> at xterm.c:1061
> #1 x_draw_glyph_string (s=0x7fffffffae80) at xterm.c:2683
>
> This problem is not new, but due to other changes it now makes
> `describe-char' (C-u C-x =) crash when executed on a tab character.
>
>
> 2011-09-13 Johan Bockgård <bojohan <at> gnu.org>
>
> * xdisp.c (fill_composite_glyph_string): Always set s->face, to
> avoid a crash.
Thanks. But why not use the value of face_id computed in the loop
above the locus of your patch (which does that for any character but
the TAB)?
Anyway, there's some magic about the TAB character and compositions
that I always wondered about. Perhaps it's time to find out why
composition-related code tests characters against the TAB in so many
places. Handa-san, can you tell why, please?
This bug report was last modified 13 years and 169 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.