# HG changeset patch # User Kenichi Handa # Date 1217594864 0 # Node ID 15d4d10ad7105e1860b202506c56ba76691e4f77 # Parent a9b68f965d979a49745cb1e88fbb9c24b0574eb3 (describe-char-display): Call encode-coding-char with the arg CHARSET. (describe-char): Pay attention to the text-property `charset'. diff -r a9b68f965d97 -r 15d4d10ad710 lisp/descr-text.el --- 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))