Subject: bug#9496: 24.0.50; Segfault on TAB-only composition

From: Eli Zaretskii <[email-masked]>
Date: Wed, 14 Sep 2011 09:07:48 -0400

> From: Kenichi Handa <[email-masked]>
> Cc: [email-masked], [email-masked]
> Date: Wed, 14 Sep 2011 21:57:04 +0900
> 
> (compose-region START END &optional COMPONENTS MODIFICATION-FUNC)
> 
> Compose characters in the current region.
> [...]
> Optional 3rd argument COMPONENTS, if non-nil, is a character, a string
> or a vector or list of integers and rules.
> [...]
> If it is a string, the elements are alternate characters.  In
> this case, TAB element has a special meaning.  If the first
> character is TAB, the glyphs are displayed with left padding space
> so that no pixel overlaps with the previous column.  If the last
> character is TAB, the glyphs are displayed with right padding
> space so that no pixel overlaps with the following column.
> ----------------------------------------------------------------------
> 
> This feature is typically used in describe-char to avoid a
> single combining character overlapping with the surrounding
> characters.

Thanks.

So what is the meaning of the example shown by Bojohan, i.e.:

  (insert (compose-string "\t"))

What is expected from such a 'composition"?

It sounds like the code in fill_composite_glyph_string is not prepared
to deal with a situation where the string's only character is a TAB,
is that right?