Mailing List Archive

Support open source code!


[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: XIM, kinput2 & Tk



>> From: "Stephen J. Turnbull" <turnbull@example.com>
>> >>>>> "Mike" == Mike Fabian <mfabian@example.com> writes:
>> 
>> Well, screw you too X11R6.  
[snip]
>> I haven't a _clue_ why the X implementers decided to do
>> things this way.
[snip]
>> I would call it a Basically Undocumented Given in X11.

We get the message.

>> What's going on is that X11 for whatever reason (I _will_ read the XIM
>> docs but I doubt it's there) is apparently making its decision about
>> various things including which XIM and which font from an XFontSet
>> will be chosen based on LC_CTYPE.  These programs are thus resetting
>> LC_CTYPE to reflect what the user wants to see and type, and accepting
>> that sorting and character classes may get bollixed up.

If so, a fairly stupid thing to do. LC_CTYPE is not supposed to be for
that.

>> I _think_ that what could be done here for XIM is
>> 
>>   char save_locale[A_BIG_ENOUGH_NUMBER];
>>   strcpy(save_locale, setlocale(LC_CTYPE,NULL));
>>   setlocale(LC_CTYPE,getenv("LANG"));
>>   /* initialize the XIM, and maybe the XIC */
>>   setlocale(LC_CTYPE, save_locale);

Yerk. And it still won't work. If I have LANG set to "en_US" or
something like that and I want to input Japanese via XIM I'm stuffed.  Ne?

>>     Mike> I don't think it makes sense to make kterm work only for the
>>     Mike> first locale in this internal list. How should the user know
>>     Mike> that kterm has an internal list of locales and that he
>>     Mike> *must* set lang to the first value of this internal list to
>>     Mike> make it work.
>> 
>> [Jim Breen, are you paying attention here?  This is a typical result of
>> an attempt to guess what the user wants and force it to happen.
>> It doesn't _have_ to be this way, but generally it does work out this
>> way.  This is why I oppose "Do What The User Means" programming in
>> practice.]

Balls. What the user wants to do is run kterm, i.e. to read and write
xterm-like things in Japanese. It's absolutely valid for the kterm code
to assume that the user wants to read or write Japanese, because that's
the only reason the bloody program exists. I'll accept the
desirability of having something like a LANGUAGE variable setting to
announce things like which set of languages the user wants to see and
input. Having kterm refuse to run unless LANG is set to "jp_*" is plain
B A D.

-- 
Jim Breen  [jwb@example.com  http://www.csse.monash.edu.au/~jwb/]
Visiting Professor, Institute for the Study of Languages and Cultures of 
Asia and Africa, Tokyo University of Foreign Studies, Japan
+81 3 5974 3880         [$B%8%`!&%V%j!<%s(B@$BEl5~30Bg(B]


Home | Main Index | Thread Index

Home Page Mailing List Linux and Japan TLUG Members Links