aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKenichi Handa2000-05-20 00:10:32 +0000
committerKenichi Handa2000-05-20 00:10:32 +0000
commit7d584ec4df993279ce28940188853eaa3b38ee53 (patch)
treefa17dc5824386106e7fe6d7f80a7ba158378b41c
parentd17f2b920b3ef3d3b98253e99318ccaa51296eb0 (diff)
downloademacs-7d584ec4df993279ce28940188853eaa3b38ee53.tar.gz
emacs-7d584ec4df993279ce28940188853eaa3b38ee53.zip
(list-character-sets-1): Handle
charsets eight-bit-control and eight-bit-graphic. (list-iso-charset-chars): Likewise. (list-block-of-chars): If CHARSET is not chat-table, insert 8-bit charactes as is. Use indent-to to align characters.
-rw-r--r--lisp/international/mule-diag.el49
1 files changed, 31 insertions, 18 deletions
diff --git a/lisp/international/mule-diag.el b/lisp/international/mule-diag.el
index c4094df5c84..482b41426dd 100644
--- a/lisp/international/mule-diag.el
+++ b/lisp/international/mule-diag.el
@@ -141,15 +141,21 @@ but still shows the full information."
141 (setq charset-info-list 141 (setq charset-info-list
142 (cons (list (charset-id charset) ; ID-NUM 142 (cons (list (charset-id charset) ; ID-NUM
143 charset ; CHARSET-NAME 143 charset ; CHARSET-NAME
144 (if (eq charset 'ascii) ; MULTIBYTE-FORM 144 (cond ((eq charset 'ascii) ; MULTIBYTE-FORM
145 "xx" 145 "xx")
146 (let ((str (format "%2X" (aref info 6)))) 146 ((eq charset 'eight-bit-control)
147 (if (> (aref info 7) 0) 147 (format "%2X Xx" (aref info 6)))
148 (setq str (format "%s %2X" str (aref info 7)))) 148 ((eq charset 'eight-bit-graphic)
149 (setq str (concat str " XX")) 149 "XX")
150 (if (> (aref info 2) 1) 150 (t
151 (setq str (concat str " XX"))) 151 (let ((str (format "%2X" (aref info 6))))
152 str)) 152 (if (> (aref info 7) 0)
153 (setq str (format "%s %2X"
154 str (aref info 7))))
155 (setq str (concat str " XX"))
156 (if (> (aref info 2) 1)
157 (setq str (concat str " XX")))
158 str)))
153 (aref info 2) ; DIMENSION 159 (aref info 2) ; DIMENSION
154 (aref info 3) ; CHARS 160 (aref info 3) ; CHARS
155 (aref info 8) ; FINAL-CHAR 161 (aref info 8) ; FINAL-CHAR
@@ -192,8 +198,8 @@ but still shows the full information."
192 (indent-to 40) 198 (indent-to 40)
193 (insert (nth 2 elt)) ; MULTIBYTE-FORM 199 (insert (nth 2 elt)) ; MULTIBYTE-FORM
194 (indent-to 56) 200 (indent-to 56)
195 (insert (format "%d %2d %c" ; ISO specs 201 (insert (format "%d %2d " (nth 3 elt) (nth 4 elt)) ; DIMENSION and CHARS
196 (nth 3 elt) (nth 4 elt) (nth 5 elt))) 202 (if (< (nth 5 elt) 0) "none" (nth 5 elt))) ; FINAL-CHAR
197 (insert "\n")))) 203 (insert "\n"))))
198 204
199 205
@@ -371,10 +377,12 @@ detailed meanings of these arguments."
371 ((char-table-p charset) 377 ((char-table-p charset)
372 (aref charset i)) 378 (aref charset i))
373 (t (funcall charset (+ (* row 256) i))))) 379 (t (funcall charset (+ (* row 256) i)))))
374 (if (or (< ch 32) (and (>= ch 127) (<= ch 255))) 380 (if (and (char-table-p charset)
381 (or (< ch 32) (and (>= ch 127) (<= ch 255))))
375 ;; Don't insert a control code. 382 ;; Don't insert a control code.
376 (setq ch 32)) 383 (setq ch 32))
377 (insert (format "%3c" ch)) 384 (indent-to (+ (* (% i 16) 3) 6))
385 (insert ch)
378 (setq i (1+ i)))) 386 (setq i (1+ i))))
379 (insert "\n")) 387 (insert "\n"))
380 388
@@ -388,11 +396,16 @@ detailed meanings of these arguments."
388 min max) 396 min max)
389 (insert (format "Characters in the charset %s.\n" charset)) 397 (insert (format "Characters in the charset %s.\n" charset))
390 398
391 (if (= chars 94) 399 (cond ((eq charset 'eight-bit-control)
392 (setq min 33 max 126) 400 (setq min 128 max 159))
393 (setq min 32 max 127)) 401 ((eq charset 'eight-bit-graphic)
394 (or (= plane 0) 402 (setq min 160 max 255))
395 (setq min (+ min 128) max (+ max 128))) 403 (t
404 (if (= chars 94)
405 (setq min 33 max 126)
406 (setq min 32 max 127))
407 (or (= plane 0)
408 (setq min (+ min 128) max (+ max 128)))))
396 409
397 (if (= dim 1) 410 (if (= dim 1)
398 (list-block-of-chars charset 0 min max) 411 (list-block-of-chars charset 0 min max)