New variable.
(utf-translate-cjk-set-unicode-range): New function.
(utf-translate-cjk-unicode-range): Make it customizable.
(utf-8-post-read-conversion): Use
utf-translate-cjk-unicode-range-string.
variable.
(utf-translate-cjk-unicode-range): New variable.
(utf-translate-cjk-load-tables): New function.
(utf-lookup-subst-table-for-decode): New function.
(utf-lookup-subst-table-for-encode): New function.
(utf-translate-cjk-mode): Init-value changed to t. Don't load
tables here. Update safe-charsets of utf-* coding systems.
(ccl-mule-utf-untrans): New CCL.
(ccl-decode-mule-utf-8): Call ccl-mule-utf-untrans. Use `repeat'
at end of each branch.
(ccl-mule-utf-8-encode-untrans): New CCL.
(ccl-encode-mule-utf-8): Call ccl-mule-utf-8-encode-untrans.
(ccl-untranslated-to-ucs): Handle 2-byte encoding. Set r1 to the
length of encoding. Don't return r0.
(utf-8-compose): New arg hash-table. Handle 2-byte encoding.
(utf-8-post-read-conversion): Narrow to region properly. If
utf-translate-cjk-mode is on, load tables if necessary. Call
utf-8-compose with hash-table arg if necessary. Call
XXX-compose-region instead of XXX-post-read-convesion.
(utf-8-pre-write-conversion): New function.
(mule-utf-8): Include CJK charsets in safe-charsets if
utf-translate-cjk-mode is on. Add pre-write-conversion.
(ucs-unicode-to-mule-cjk): Revert last change.
(utf-subst-table-for-encode): Initially use
ucs-mule-cjk-to-unicode.
(utf-subst-table-for-decode): Initially use
ucs-unicode-to-mule-cjk.
(utf-fragment-on-decoding, utf-translate-cjk): Don't modify
char-coding-system-table elements destructively.
(utf-translate-cjk): Set ucs-mule-cjk-to-unicode,
ucs-unicode-to-mule-cjk to new hash tables with realistic
parameters.
this translation-table name here.
(utf-translation-table-for-encode): New translation-table name.
(utf-fragmentation-table): Renamed from utf-8-fragmentation-table.
(utf-defragmentation-table): New variable.
(ucs-mule-cjk-to-unicode): Renamed from utf-8-subst-rev-table.
(utf-subst-table-for-encode): New translation-table name.
(ucs-unicode-to-mule-cjk): Renamed from utf-8-subst-table.
(utf-subst-table-for-decode): New translation-table name.
(utf-fragment-on-decoding): Renamed from
utf-8-fragment-on-decoding. Correctly handle the case that
unify-8859-on-encoding-mode is off. Handle mule-utf-16-le and
mule-utf-16-be too.
(utf-translate-cjk): Renamed from utf-8-translate-cjk. Handle
mule-utf-16-le and mule-utf-16-be too.
(ccl-decode-mule-utf-8): Refer to utf-translation-table-for-decode
and utf-subst-table-for-decode.
(ccl-encode-mule-utf-8): Refer to utf-translation-table-for-encode
and utf-subst-table-for-encode.
(mule-utf-8): Fix `safe-charsets' property, put `dependency'
property.
unconditionally.
(utf-8-fragmentation-table): New. Use it in top-level mapc.
(utf-8-fragment-on-decoding): Use it to keep
utf-8-translation-table-for-decode variable and translation table
in sync.
translation table.
(ccl-encode-mule-utf-8): Use it.
(utf-8-untranslated-to-ucs, utf-8-help-echo, utf-8-compose)
(utf-8-post-read-conversion, utf-8-pre-write-conversion): New
function.
(utf-8-subst-table): New variable.
(utf-8-compose-scripts): New option.
(mule-utf-8): Update safe-charsets, pre-write and post-read
conversion.