changeset 97196:15d4d10ad710

(describe-char-display): Call encode-coding-char with the arg CHARSET. (describe-char): Pay attention to the text-property `charset'.
author Kenichi Handa <handa@m17n.org>
date Fri, 01 Aug 2008 12:47:44 +0000
parents a9b68f965d97
children 406ac82acbcc
files lisp/descr-text.el
diffstat 1 files changed, 9 insertions(+), 6 deletions(-) [+]
line wrap: on
line diff
--- a/lisp/descr-text.el	Fri Aug 01 12:46:30 2008 +0000
+++ b/lisp/descr-text.el	Fri Aug 01 12:47:44 2008 +0000
@@ -341,10 +341,11 @@
 		   (format "%s:%s (#x%02X)" type name code)
 		 (format "%s:%s (#x%04X%04X)"
 			 type name (car code) (cdr code))))))
-    (let* ((coding (terminal-coding-system))
-	   (encoded (encode-coding-char char coding)))
+    (let* ((charset (get-text-property pos 'charset))
+	   (coding (terminal-coding-system))
+	   (encoded (encode-coding-char char coding charset)))
       (if encoded
-	  (encoded-string-description encoded coding)))))
+	  (encoded-string-description encoded coding charset)))))
 
 
 ;; Return a string of CH with composition for padding on both sides.
@@ -363,7 +364,7 @@
   (if (>= pos (point-max))
       (error "No character follows specified position"))
   (let* ((char (char-after pos))
-	 (charset (char-charset char))
+	 (charset (or (get-text-property pos 'charset) (char-charset char)))
 	 (composition (find-composition pos nil nil t))
 	 (component-chars nil)
 	 (display-table (or (window-display-table)
@@ -388,7 +389,9 @@
 	      (kill-buffer tmp-buf))))
 	 item-list max-width code)
 
-    (setq code (encode-char char charset))
+    (or (setq code (encode-char char charset))
+	(setq charset (char-charset char)
+	      code (encode-char char charset)))
     (setq item-list
 	  `(("character"
 	     ,(format "%s (%d, #o%o, #x%x)"
@@ -450,7 +453,7 @@
 	       (string-as-unibyte (char-to-string char)) nil))
 	    ("file code"
 	     ,@(let* ((coding buffer-file-coding-system)
-		      (encoded (encode-coding-char char coding)))
+		      (encoded (encode-coding-char char coding charset)))
 		 (if encoded
 		     (list (encoded-string-description encoded coding)
 			   (format "(encoded by coding system %S)" coding))