# HG changeset patch # User Kenichi Handa # Date 1196748328 0 # Node ID 583ca8a889367df1434dc1d4bf0563db48435708 # Parent abd5951baec75210ddc0a1ac5119fd3eb297b201 (describe-char): Handle a composition of the new format. diff -r abd5951baec7 -r 583ca8a88936 lisp/descr-text.el --- a/lisp/descr-text.el Tue Dec 04 06:04:10 2007 +0000 +++ b/lisp/descr-text.el Tue Dec 04 06:05:28 2007 +0000 @@ -583,33 +583,39 @@ (if (cadr composition) (insert " with the following character(s) \"" (cadr composition) "\""))) - (insert " by the rule:\n\t(" - (mapconcat (lambda (x) - (if (consp x) (format "%S" x) - (if (= x ?\t) - (single-key-description x) - (string ?? x)))) - (nth 2 composition) - " ") - ")") - (insert "\nThe component character(s) are displayed by ") - (if (display-graphic-p (selected-frame)) + (if (and (vectorp (nth 2 composition)) + (vectorp (aref (nth 2 composition) 0))) (progn - (insert "these fonts (glyph codes):") - (dolist (elt component-chars) - (if (/= (car elt) ?\t) - (insert "\n " (car elt) ?: - (propertize " " 'display '(space :align-to 5)) - (if (cdr elt) - (format "%s (#x%02X)" (cadr elt) (cddr elt)) - "-- no font --"))))) - (insert "these terminal codes:") - (dolist (elt component-chars) - (insert "\n " (car elt) ":" - (propertize " " 'display '(space :align-to 4)) - (or (cdr elt) "-- not encodable --")))) - (insert "\nSee the variable `reference-point-alist' for " - "the meaning of the rule.\n")) + (insert " by these glyphs:\n") + (mapc (lambda (x) (insert (format " %S\n" x))) + (nth 2 composition))) + (insert " by the rule:\n\t(" + (mapconcat (lambda (x) + (if (consp x) (format "%S" x) + (if (= x ?\t) + (single-key-description x) + (string ?? x)))) + (nth 2 composition) + " ") + ")") + (insert "\nThe component character(s) are displayed by ") + (if (display-graphic-p (selected-frame)) + (progn + (insert "these fonts (glyph codes):") + (dolist (elt component-chars) + (if (/= (car elt) ?\t) + (insert "\n " (car elt) ?: + (propertize " " 'display '(space :align-to 5)) + (if (cdr elt) + (format "%s (#x%02X)" (cadr elt) (cddr elt)) + "-- no font --"))))) + (insert "these terminal codes:") + (dolist (elt component-chars) + (insert "\n " (car elt) ":" + (propertize " " 'display '(space :align-to 4)) + (or (cdr elt) "-- not encodable --")))) + (insert "\nSee the variable `reference-point-alist' for " + "the meaning of the rule.\n"))) (if (not describe-char-unidata-list) (insert "\nCharacter code properties are not shown: ")