>>>> "SJT" == Stephen J Turnbull
<turnbull(a)sk.tsukuba.ac.jp> writes:
SJT> I WILL NOT APPLY without support from someone who knows what's going
SJT> on here.
>>>> "Stephen" == Stephen J Turnbull
<turnbull(a)sk.tsukuba.ac.jp> writes:
Stephen> In CVS current, Mule on X crashes immediately. This may
Stephen> be related to Japanese hardware; the keysym that blows up
Stephen> is 1223 decimal, which puts it in the KATAKANA_JISX0201
Stephen> range. (Cf x_keysym_to_character(), src/event-Xt.c:211.)
SJT> This seems to fix but I don't understand why. x_keysym_to_character()
SJT> from src/events-Xt.c should call this macro with a value that was
SJT> originally an enum constant (ie, int) LEADING_BYTE_KATAKANA_JISX0201
SJT> == 0x89 from src/mule-charset.h. This should fit into a Bufbyte
SJT> (typedef for unsigned char), right?
This was my change.
I can't reproduce this, and of course I have gcc 2.95 as well.
If I do
xmodmap -e 'keysym F10 = F10 kana_NU'
Then press [(shift f10)], I see a real live kana character in my
xemacs buffer.
I would like to keep the arg of CHARSET_BY_LEADING_BYTE as is, since
it is actually logically a bufbyte.
SJT> GCC bug, maybe?
Maybe. Is it possible inline functions with unsigned char arguments
don't have proper conversions from int?
Could you investigate some more?
If you load a cyrillic keyboard mapping before starting X, do you have
the same problem? Is it dependent on compiler flags?
Martin