From d1efee22033bff7c7d22d5eda93eee14e7796a8c Mon Sep 17 00:00:00 2001 From: Kenichi Handa Date: Wed, 25 Jan 2006 07:44:43 +0000 Subject: [PATCH] (decode-char): Avoid the overhead of calling utf-lookup-subst-table-for-decode if utf-translate-cjk-mode is nil. (encode-char): Avoid the overhead of calling utf-lookup-subst-table-for-encode if utf-translate-cjk-mode is nil. --- lisp/ChangeLog | 18 ++++++++++++++++++ lisp/international/mule.el | 16 ++++++++++------ 2 files changed, 28 insertions(+), 6 deletions(-) diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 91de67fc48e..2dac117cf8b 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,21 @@ +2006-01-25 Kenichi Handa + + * international/mule.el (decode-char): Avoid the overhead of + calling utf-lookup-subst-table-for-decode if + utf-translate-cjk-mode is nil. + (encode-char): Avoid the overhead of calling + utf-lookup-subst-table-for-encode if utf-translate-cjk-mode is + nil. + +2006-01-22 Kenichi Handa + + * international/mule.el (make-subsidiary-coding-system): Reset + `coding-system-define-form' property of subsidiaries to nil. + Avoid duplicated entry in coding-system-alist. + (make-coding-system): Avoid duplicated entry in + coding-system-alist. + (define-coding-system-alias): Likewise. + 2006-01-24 Luc Teirlinck * completion.el: Minor fixes in introductory comment. diff --git a/lisp/international/mule.el b/lisp/international/mule.el index 05c2b3aabc9..ba4fcef628b 100644 --- a/lisp/international/mule.el +++ b/lisp/international/mule.el @@ -315,14 +315,16 @@ Return nil if such a character is not supported. Currently the only supported coded character set is `ucs' (ISO/IEC 10646: Universal Multi-Octet Coded Character Set), and the result is translated through the translation-table named -`utf-translation-table-for-decode' or the translation-hash-table named -`utf-subst-table-for-decode'. +`utf-translation-table-for-decode', or through the +translation-hash-table named `utf-subst-table-for-decode' +\(if `utf-translate-cjk-mode' is non-nil). Optional argument RESTRICTION specifies a way to map the pair of CCS and CODE-POINT to a character. Currently not supported and just ignored." (cond ((eq ccs 'ucs) - (or (utf-lookup-subst-table-for-decode code-point) + (or (and utf-translate-cjk-mode + (utf-lookup-subst-table-for-decode code-point)) (let ((c (cond ((< code-point 160) code-point) @@ -352,8 +354,9 @@ Return nil if CHAR is not included in CCS. Currently the only supported coded character set is `ucs' (ISO/IEC 10646: Universal Multi-Octet Coded Character Set), and CHAR is first translated through the translation-table named -`utf-translation-table-for-encode' or the translation-hash-table named -`utf-subst-table-for-encode'. +`utf-translation-table-for-encode', or through the +translation-hash-table named `utf-subst-table-for-encode' \(if +`utf-translate-cjk-mode' is non-nil). CHAR should be in one of these charsets: ascii, latin-iso8859-1, mule-unicode-0100-24ff, mule-unicode-2500-33ff, @@ -366,7 +369,8 @@ code-point in CCS. Currently not supported and just ignored." (charset (car split)) trans) (cond ((eq ccs 'ucs) - (or (utf-lookup-subst-table-for-encode char) + (or (and utf-translate-cjk-mode + (utf-lookup-subst-table-for-encode char)) (let ((table (get 'utf-translation-table-for-encode 'translation-table))) (setq trans (aref table char)) -- 2.39.2