diff lisp/international/mule.el @ 68381:2ed18bf835e1

(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.
author Kenichi Handa <handa@m17n.org>
date Wed, 25 Jan 2006 07:43:41 +0000
parents a7c2303e1399
children f4bef16905cb 9b150bc96d33
line wrap: on
line diff
--- a/lisp/international/mule.el	Wed Jan 25 06:47:24 2006 +0000
+++ b/lisp/international/mule.el	Wed Jan 25 07:43:41 2006 +0000
@@ -315,14 +315,16 @@
 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 @@
 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 @@
 	 (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))