Ar an t-ochtú lá is fiche de mí Lúnasa, scríobh Julian Bradfield:
[...] For example, create a file containing the single character
U+8F46
(corresponding to Big5 F146) in the UTF-8 encoding. Do the above change
of charset ordering, and visit the file in utf-8. XEmacs crashes with a
segfault inside buffer_insert_string_1 at insdel.c:359. (That's with a
standard build; with a build without optimization (just -g), it goes into
an infinite loop instead.)
The problem seems to be specific to chinese-big5-2 : if I prioritize
the CNS character sets instead, it's fine - but unfortunately my big5
fonts are better than my CNS fonts, so I prefer big5, and anyway I
want to save big5 versions in parallel with utf-8 versions.
Since the translation process is an unholy mess of
semi-automatically generated CCL programs, it's, erm, challenging to
debug. If anybody has any private notes about how it all fits
together, I'd appreciate any hints!
The last time I worked on that code, IIRC changing the charset order at
runtime didn’t bring a whole lot, and it was necessary to re-order
unicode-basic-translation-charset-order-list and recompile the whole thing
for anything helpful to happen. Give that a shot, and try again?
I don’t quite get your described behaviour; what happens for me is even less
helpful, though at least it doesn’t crash:
(encode-char (decode-big5-char (cons #xF1 #x46)) 'ucs)
=> nil
As a side question, is all this CCL stuff necessary? Even ten years
ago, and possibly 15 years ago, I'd have thought that everything in
the Basic Multilingual Plane could be dealt with by simple look-up
tables.
You think right, and that’s how it’s dealt with in 21.5, even the astral
planes. Mule-UCS has the needless complexity of a country that has four
separate alphabets in regular use, where one of them is Han characters,
already far more complex than is needed.
--
On the quay of the little Black Sea port, where the rescued pair came once
more into contact with civilization, Dobrinton was bitten by a dog which was
assumed to be mad, though it may only have been indiscriminating. (Saki)
_______________________________________________
XEmacs-Beta mailing list
XEmacs-Beta(a)xemacs.org
http://calypso.tux.org/cgi-bin/mailman/listinfo/xemacs-beta