Subject: Re: bug#11082: 24.0.94; u.glyphless member in struct glyph does not fit in 32 bits

From: YAMAMOTO Mitsuharu <[email-masked]>
Date: Sun, 25 Mar 2012 09:29:25 +0900

>>>>> On Sat, 24 Mar 2012 09:54:09 +0100, Andreas Schwab <[email-masked]> said:

>> ?? Isn't the size of a union defined by its widest member?

> The size of u.val is defined by the size of unsigned.

>> If so, we just end up wasting some storage here, but we should
>> never truncate a bit field.

> It's not about truncation, but about ignored bits in GLYPH_EQUAL_P.

Yes, I meant that.

A test case is as follows.  I checked it with Ubuntu 11.10, GTK+
build.

1. emacs -Q
2. (insert #xe0100) C-j
3. C-p C-p C-e C-b C-b C-d 1 C-e
   Now the line at the cursor is "(insert #xe0101)".
4. C-j
   The glyphless glyph just added is shown as "0E0100" instead of
   "0E0101".

				     YAMAMOTO Mitsuharu
				[email-masked]