BTW, Hrvoje doesn't care to be separately addressed if the mail is
going to the ML anyway, but Ben likes to be CC'd; he sorts on that
basis. Addressees adjusted.
>>>> "Alexey" == Alexey Mahotkin
<alexm(a)hsys.msk.ru> writes:
Hrvoje> If it works, it should also work with isearch and friends.
Alexey> No, it doesn't.
Bletch. Thanks for testing it.
Alexey> In this case first clause should be (it should modify
Alexey> cyrillic_koi8_r[] that is stored somewhere in some
Alexey> hashtable and used by x_keysym_to_character():
That's what I wanted to avoid. OK, I see that it's probably
unavoidable in no-mule. And it's probably right to do it inside that
switch (this automatically makes it configurable according to
character set, so that the iso-to-koi translation does NOT get applied
in the Latin-2 buffer, which would really hinder a Polish/Russian
translator).
As Martin points out, in Mule the internal representation should be
unique. (It can't be in no-Mule, because we have no other way to
translate to the font encoding.) As far as I know, however, it's not
Mule XEmacs that wants the to fonts match internal representation.
It's that XEmacs developers have never done anything about using the
facilities provided by Mule to handle fonts that have different
encoding from internal. I _will_ take a look at this. I've been
meaning to for a _long_ time, but got side-tracked by the release
thing.
Alexey> I think they should be predefined in stock XEmacs w/o any
Alexey> Lisp definitions (in style of cyrillic[] array that
Alexey> currently exists).
OK, I agree about the need for predefinition, especially in no-Mule.
However, in practice, we don't know which fonts are important. So
there should be a Lisp-level way to create and install such arrays.
If you hack only for Cyrillic, you will create a Russianized XEmacs.
And will you put in (eg) the extra characters the Ukrainians want?
I disagree strongly about implementing such arrays for Mule, however.
Use of a single internal representation has good reasons, although our
laziness in fixing up input and output translations has been bad for
Russian (and presumably Greek) users since day 1, and is increasingly
bad for users of Windows 125x sets I would guess.
As for predefinition in C vs Lisp: We try to think in terms of
implementing _everything_ in the text editor in Lisp, for robustness
and flexibility. We move down to the C level when we want the
efficiency. We don't _need_ it here; users will never see the delay
in installing such a table from Lisp rather than C, since it only
happens once per session. We do _need_ the Lisp level definition,
since it's probable that Greeks, at least, will need this too. And we
don't know who else! We get robust predefinition from Lisp by
"dumping" the Lisp into the executable, where we always know where to
find it.
Alexey> I do not understand what you're trying to do with
(setq koi8-r (x-get-keysym-translation-subset 'cyrillic))
Oh, you can forget that, it was a dumb idea. I have lots of those.
--
University of Tsukuba Tennodai 1-1-1 Tsukuba 305-8573 JAPAN
Institute of Policy and Planning Sciences Tel/fax: +81 (298) 53-5091
_________________ _________________ _________________ _________________
What are those straight lines for? "XEmacs rules."