changeset 81985:a0277e80d191

(utf-8-post-read-conversion): Temporarily bind utf-8-compose-scripts to nil while running *-compose-region functions.
author Kenichi Handa <handa@m17n.org>
date Fri, 20 Jul 2007 01:53:08 +0000
parents 5fe5698ac0fb
children 7179773d9d7f
files lisp/international/utf-8.el
diffstat 1 files changed, 14 insertions(+), 10 deletions(-) [+]
line wrap: on
line diff
--- a/lisp/international/utf-8.el	Fri Jul 20 01:22:18 2007 +0000
+++ b/lisp/international/utf-8.el	Fri Jul 20 01:53:08 2007 +0000
@@ -991,16 +991,20 @@
 	    (set-buffer-multibyte nil)))
 
       (when (and utf-8-compose-scripts (> length 1))
-	;; These currently have definitions which cover the relevant
-	;; unicodes.  We could avoid loading thai-util &c by checking
-	;; whether the region contains any characters with the appropriate
-	;; categories.  There aren't yet Unicode-based rules for Tibetan.
-	(diacritic-compose-region (point-max) (point-min))
-	(thai-compose-region (point-max) (point-min))
-	(lao-compose-region (point-max) (point-min))
-	(devanagari-compose-region (point-max) (point-min))
-	(malayalam-compose-region (point-max) (point-min))
-	(tamil-compose-region (point-max) (point-min)))
+	;; This let-binding avoids recursive auto-loading.  And, we
+	;; anyway don't have to run the following code while
+	;; auto-loading.
+	(let ((utf-8-compose-scripts nil))
+	  ;; These currently have definitions which cover the relevant
+	  ;; unicodes.  We could avoid loading thai-util &c by checking
+	  ;; whether the region contains any characters with the appropriate
+	  ;; categories.  There aren't yet Unicode-based rules for Tibetan.
+	  (diacritic-compose-region (point-max) (point-min))
+	  (thai-compose-region (point-max) (point-min))
+	  (lao-compose-region (point-max) (point-min))
+	  (devanagari-compose-region (point-max) (point-min))
+	  (malayalam-compose-region (point-max) (point-min))
+	  (tamil-compose-region (point-max) (point-min))))
       (- (point-max) (point-min)))))
 
 (defun utf-8-pre-write-conversion (beg end)