aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDave Love2002-05-16 19:23:55 +0000
committerDave Love2002-05-16 19:23:55 +0000
commit3a1ef8f50c3e9f634e8f60aa1f15719b00a687d2 (patch)
tree5d7490499b45856da54d429a633f05ca1de514c7
parent6ef462e064e6f1dd0e17fb9cff0d21f68606d886 (diff)
downloademacs-3a1ef8f50c3e9f634e8f60aa1f15719b00a687d2.tar.gz
emacs-3a1ef8f50c3e9f634e8f60aa1f15719b00a687d2.zip
Doc fixes.
(sort-charset-list, charset-multibyte-form-string): Removed. (list-character-sets, list-character-sets-1) (list-character-sets-2): Re-written. (non-iso-charset-alist): Set to nil and made obsolete. (decode-codepage-char): Re-written and made obsolete. (read-charset, describe-character-set): Don't use non-iso-charset-alist. (describe-coding-system): Use keyword properties.
-rw-r--r--lisp/international/mule-diag.el243
1 files changed, 59 insertions, 184 deletions
diff --git a/lisp/international/mule-diag.el b/lisp/international/mule-diag.el
index 4064617323e..cd516a08f98 100644
--- a/lisp/international/mule-diag.el
+++ b/lisp/international/mule-diag.el
@@ -35,8 +35,8 @@
35 35
36;;; General utility function 36;;; General utility function
37 37
38;; Print all arguments with single space separator in one line.
39(defun print-list (&rest args) 38(defun print-list (&rest args)
39 "Print all arguments with single space separator in one line."
40 (while (cdr args) 40 (while (cdr args)
41 (when (car args) 41 (when (car args)
42 (princ (car args)) 42 (princ (car args))
@@ -45,12 +45,6 @@
45 (princ (car args)) 45 (princ (car args))
46 (princ "\n")) 46 (princ "\n"))
47 47
48;; Re-order the elements of charset-list.
49(defun sort-charset-list ()
50 (setq charset-list
51 (sort charset-list
52 (function (lambda (x y) (< (charset-id x) (charset-id y)))))))
53
54;;; CHARSET 48;;; CHARSET
55 49
56(define-button-type 'sort-listed-character-sets 50(define-button-type 'sort-listed-character-sets
@@ -98,15 +92,13 @@ but still shows the full information."
98 (if (display-mouse-p) "\\[help-follow-mouse] or ") 92 (if (display-mouse-p) "\\[help-follow-mouse] or ")
99 "\\[help-follow]:\n"))) 93 "\\[help-follow]:\n")))
100 (insert " on a column title to sort by that title,") 94 (insert " on a column title to sort by that title,")
101 (indent-to 56) 95 (indent-to 48)
102 (insert "+----DIMENSION\n") 96 (insert "+----DIMENSION\n")
103 (insert " on a charset name to list characters.") 97 (insert " on a charset name to list characters.")
104 (indent-to 56) 98 (indent-to 48)
105 (insert "| +--CHARS\n") 99 (insert "| +--CHARS\n")
106 (let ((columns '(("ID-NUM" . id) "\t" 100 (let ((columns '(("CHARSET-NAME" . name) "\t\t\t\t\t"
107 ("CHARSET-NAME" . name) "\t\t\t" 101 ("D CH FINAL-CHAR" . iso-spec)))
108 ("MULTIBYTE-FORM" . id) "\t"
109 ("D CH FINAL-CHAR" . iso-spec)))
110 pos) 102 pos)
111 (while columns 103 (while columns
112 (if (stringp (car columns)) 104 (if (stringp (car columns))
@@ -117,10 +109,10 @@ but still shows the full information."
117 (goto-char (point-max))) 109 (goto-char (point-max)))
118 (setq columns (cdr columns))) 110 (setq columns (cdr columns)))
119 (insert "\n")) 111 (insert "\n"))
120 (insert "------\t------------\t\t\t--------------\t- -- ----------\n") 112 (insert "------------\t\t\t\t\t- --- ----------\n")
121 113
122 ;; Insert body sorted by charset IDs. 114 ;; Insert body sorted by charset IDs.
123 (list-character-sets-1 'id))))) 115 (list-character-sets-1 'name)))))
124 116
125(defun sort-listed-character-sets (sort-key) 117(defun sort-listed-character-sets (sort-key)
126 (if sort-key 118 (if sort-key
@@ -133,65 +125,35 @@ but still shows the full information."
133 (delete-region (point) (point-max)) 125 (delete-region (point) (point-max))
134 (list-character-sets-1 sort-key))))) 126 (list-character-sets-1 sort-key)))))
135 127
136(defun charset-multibyte-form-string (charset)
137 (let ((info (charset-info charset)))
138 (cond ((eq charset 'ascii)
139 "xx")
140 ((eq charset 'eight-bit-control)
141 (format "%2X Xx" (aref info 6)))
142 ((eq charset 'eight-bit-graphic)
143 "XX")
144 (t
145 (let ((str (format "%2X" (aref info 6))))
146 (if (> (aref info 7) 0)
147 (setq str (format "%s %2X"
148 str (aref info 7))))
149 (setq str (concat str " XX"))
150 (if (> (aref info 2) 1)
151 (setq str (concat str " XX")))
152 str)))))
153
154;; Insert a list of character sets sorted by SORT-KEY. SORT-KEY
155;; should be one of `id', `name', and `iso-spec'. If SORT-KEY is nil,
156;; it defaults to `id'.
157
158(defun list-character-sets-1 (sort-key) 128(defun list-character-sets-1 (sort-key)
129 "Insert a list of character sets sorted by SORT-KEY.
130SORT-KEY should be `name' or `iso-spec' (default `name')."
159 (or sort-key 131 (or sort-key
160 (setq sort-key 'id)) 132 (setq sort-key 'name))
161 (let ((tail (charset-list)) 133 (let ((tail charset-list)
162 charset-info-list elt charset info sort-func) 134 charset-info-list charset sort-func)
163 (while tail 135 (dolist (charset charset-list)
164 (setq charset (car tail) tail (cdr tail)
165 info (charset-info charset))
166
167 ;; Generate a list that contains all information to display. 136 ;; Generate a list that contains all information to display.
168 (setq charset-info-list 137 (push (list charset
169 (cons (list (charset-id charset) ; ID-NUM 138 (charset-dimension charset)
170 charset ; CHARSET-NAME 139 (charset-chars charset)
171 (charset-multibyte-form-string charset); MULTIBYTE-FORM 140 (charset-iso-final-char charset))
172 (aref info 2) ; DIMENSION 141 charset-info-list))
173 (aref info 3) ; CHARS
174 (aref info 8) ; FINAL-CHAR
175 )
176 charset-info-list)))
177 142
178 ;; Determine a predicate for `sort' by SORT-KEY. 143 ;; Determine a predicate for `sort' by SORT-KEY.
179 (setq sort-func 144 (setq sort-func
180 (cond ((eq sort-key 'id) 145 (cond ((eq sort-key 'name)
181 (function (lambda (x y) (< (car x) (car y))))) 146 (lambda (x y) (string< (car x) (car y))))
182
183 ((eq sort-key 'name)
184 (function (lambda (x y) (string< (nth 1 x) (nth 1 y)))))
185 147
186 ((eq sort-key 'iso-spec) 148 ((eq sort-key 'iso-spec)
187 ;; Sort by DIMENSION CHARS FINAL-CHAR 149 ;; Sort by DIMENSION CHARS FINAL-CHAR
188 (function 150 (function
189 (lambda (x y) 151 (lambda (x y)
190 (or (< (nth 3 x) (nth 3 y)) 152 (or (< (nth 1 x) (nth 1 y))
191 (and (= (nth 3 x) (nth 3 y)) 153 (and (= (nth 1 x) (nth 1 y))
192 (or (< (nth 4 x) (nth 4 y)) 154 (or (< (nth 2 x) (nth 2 y))
193 (and (= (nth 4 x) (nth 4 y)) 155 (and (= (nth 2 x) (nth 2 y))
194 (< (nth 5 x) (nth 5 y))))))))) 156 (< (nth 3 x) (nth 3 y)))))))))
195 (t 157 (t
196 (error "Invalid charset sort key: %s" sort-key)))) 158 (error "Invalid charset sort key: %s" sort-key))))
197 159
@@ -201,18 +163,18 @@ but still shows the full information."
201 (while charset-info-list 163 (while charset-info-list
202 (setq elt (car charset-info-list) 164 (setq elt (car charset-info-list)
203 charset-info-list (cdr charset-info-list)) 165 charset-info-list (cdr charset-info-list))
204 (insert (format "%03d(%02X)" (car elt) (car elt))) ; ID-NUM 166 (insert-text-button (symbol-name (car elt))
205 (indent-to 8)
206 (insert-text-button (symbol-name (nth 1 elt))
207 :type 'list-charset-chars 167 :type 'list-charset-chars
208 'help-args (list (nth 1 elt))) 168 'help-args (list (car elt)))
209 (goto-char (point-max)) 169 (goto-char (point-max))
210 (insert "\t") 170 (insert "\t")
211 (indent-to 40) 171 ;; (indent-to 40)
212 (insert (nth 2 elt)) ; MULTIBYTE-FORM 172 ;; (insert (nth 2 elt)) ; MULTIBYTE-FORM
213 (indent-to 56) 173 (indent-to 48)
214 (insert (format "%d %2d " (nth 3 elt) (nth 4 elt)) ; DIMENSION and CHARS 174 (insert (format "%d %3d " (nth 1 elt) (nth 2 elt)) ; DIMENSION and CHARS
215 (if (< (nth 5 elt) 0) "none" (nth 5 elt))) ; FINAL-CHAR 175 (if (< (nth 3 elt) 0)
176 "none"
177 (nth 3 elt))) ; FINAL-CHAR
216 (insert "\n")))) 178 (insert "\n"))))
217 179
218 180
@@ -224,11 +186,9 @@ but still shows the full information."
224## Each line corresponds to one charset. 186## Each line corresponds to one charset.
225## The following attributes are listed in this order 187## The following attributes are listed in this order
226## separated by a colon `:' in one line. 188## separated by a colon `:' in one line.
227## CHARSET-ID,
228## CHARSET-SYMBOL-NAME, 189## CHARSET-SYMBOL-NAME,
229## DIMENSION (1 or 2) 190## DIMENSION (1 or 2)
230## CHARS (94 or 96) 191## CHARS (94 or 96)
231## BYTES (of multibyte form: 1, 2, 3, or 4),
232## WIDTH (occupied column numbers: 1 or 2), 192## WIDTH (occupied column numbers: 1 or 2),
233## DIRECTION (0:left-to-right, 1:right-to-left), 193## DIRECTION (0:left-to-right, 1:right-to-left),
234## ISO-FINAL-CHAR (character code of ISO-2022's final character) 194## ISO-FINAL-CHAR (character code of ISO-2022's final character)
@@ -239,106 +199,27 @@ but still shows the full information."
239 charset) 199 charset)
240 (while l 200 (while l
241 (setq charset (car l) l (cdr l)) 201 (setq charset (car l) l (cdr l))
242 (princ (format "%03d:%s:%d:%d:%d:%d:%d:%d:%d:%s\n" 202 (princ (format "%s:%d:%d:%d:%d:%s\n"
243 (charset-id charset)
244 charset 203 charset
245 (charset-dimension charset) 204 (charset-dimension charset)
246 (charset-chars charset) 205 (charset-chars charset)
247 (charset-bytes charset) 206 (charset-bytes charset)
248 (charset-width charset) 207 (aref char-width-table (make-char charset))
249 (charset-direction charset) 208;;; (charset-direction charset)
250 (charset-iso-final-char charset) 209 (charset-iso-final-char charset)
251 (charset-iso-graphic-plane charset) 210;;; (charset-iso-graphic-plane charset)
252 (charset-description charset)))))) 211 (charset-description charset))))))
253 212
254(defvar non-iso-charset-alist 213(defvar non-iso-charset-alist nil
255 `((mac-roman 214 "Obsolete.")
256 nil 215(make-obsolete-variable 'non-iso-charset-alist "no longer relevant" "22.1")
257 mac-roman-decoder
258 ((0 255)))
259 (viscii
260 (ascii vietnamese-viscii-lower vietnamese-viscii-upper)
261 viet-viscii-nonascii-translation-table
262 ((0 255)))
263 (koi8-r
264 (ascii cyrillic-iso8859-5)
265 cyrillic-koi8-r-nonascii-translation-table
266 ((32 255)))
267 (alternativnyj
268 (ascii cyrillic-iso8859-5)
269 cyrillic-alternativnyj-nonascii-translation-table
270 ((32 255)))
271 (big5
272 (ascii chinese-big5-1 chinese-big5-2)
273 decode-big5-char
274 ((32 127)
275 ((?\xA1 ?\xFE) . (?\x40 ?\x7E ?\xA1 ?\xFE))))
276 (sjis
277 (ascii katakana-jisx0201 japanese-jisx0208)
278 decode-sjis-char
279 ((32 127 ?\xA1 ?\xDF)
280 ((?\x81 ?\x9F ?\xE0 ?\xEF) . (?\x40 ?\x7E ?\x80 ?\xFC)))))
281 "Alist of charset names vs the corresponding information.
282This is mis-named for historical reasons. The charsets are actually
283non-built-in ones. They correspond to Emacs coding systems, not Emacs
284charsets, i.e. what Emacs can read (or write) by mapping to (or
285from) Emacs internal charsets that typically correspond to a limited
286set of ISO charsets.
287
288Each element has the following format:
289 (CHARSET CHARSET-LIST TRANSLATION-METHOD [ CODE-RANGE ])
290
291CHARSET is the name (symbol) of the charset.
292
293CHARSET-LIST is a list of Emacs charsets into which characters of
294CHARSET are mapped.
295
296TRANSLATION-METHOD is a translation table (symbol) to translate a
297character code of CHARSET to the corresponding Emacs character
298code. It can also be a function to call with one argument, a
299character code in CHARSET.
300
301CODE-RANGE specifies the valid code ranges of CHARSET.
302It is a list of RANGEs, where each RANGE is of the form:
303 (FROM1 TO1 FROM2 TO2 ...)
304or
305 ((FROM1-1 TO1-1 FROM1-2 TO1-2 ...) . (FROM2-1 TO2-1 FROM2-2 TO2-2 ...))
306In the first form, valid codes are between FROM1 and TO1, or FROM2 and
307TO2, or...
308The second form is used for 2-byte codes. The car part is the ranges
309of the first byte, and the cdr part is the ranges of the second byte.")
310
311 216
312(defun decode-codepage-char (codepage code) 217(defun decode-codepage-char (codepage code)
313 "Decode a character that has code CODE in CODEPAGE. 218 "Decode a character that has code CODE in CODEPAGE.
314Return a decoded character string. Each CODEPAGE corresponds to a 219Return a decoded character string. Each CODEPAGE corresponds to a
315coding system cpCODEPAGE." 220coding system cpCODEPAGE. This function is obsolete."
316 (let ((coding-system (intern (format "cp%d" codepage)))) 221 (decode-char (intern (format "cp%d" codepage)) code))
317 (or (coding-system-p coding-system) 222(make-obsolete 'decode-codepage-char 'decode-char "22.1")
318 (codepage-setup codepage))
319 (string-to-char
320 (decode-coding-string (char-to-string code) coding-system))))
321
322
323;; Add DOS codepages to `non-iso-charset-alist'.
324
325(let ((tail (cp-supported-codepages))
326 elt)
327 (while tail
328 (setq elt (car tail) tail (cdr tail))
329 ;; Now ELT is (CODEPAGE . CHARSET), where CODEPAGE is a string
330 ;; (e.g. "850"), CHARSET is a charset that characters in CODEPAGE
331 ;; are mapped to.
332 (unless (assq (intern (concat "cp" (car elt))) non-iso-charset-alist)
333 (setq non-iso-charset-alist
334 (cons (list (intern (concat "cp" (car elt)))
335 (list 'ascii (cdr elt))
336 `(lambda (code)
337 (decode-codepage-char ,(string-to-int (car elt))
338 code))
339 (list (list 0 255)))
340 non-iso-charset-alist)))))
341
342 223
343;; A variable to hold charset input history. 224;; A variable to hold charset input history.
344(defvar charset-history nil) 225(defvar charset-history nil)
@@ -347,20 +228,14 @@ coding system cpCODEPAGE."
347;;;###autoload 228;;;###autoload
348(defun read-charset (prompt &optional default-value initial-input) 229(defun read-charset (prompt &optional default-value initial-input)
349 "Read a character set from the minibuffer, prompting with string PROMPT. 230 "Read a character set from the minibuffer, prompting with string PROMPT.
350It must be an Emacs character set listed in the variable `charset-list' 231It must be an Emacs character set listed in the variable `charset-list'.
351or a non-ISO character set listed in the variable
352`non-iso-charset-alist'.
353 232
354Optional arguments are DEFAULT-VALUE and INITIAL-INPUT. 233Optional arguments are DEFAULT-VALUE and INITIAL-INPUT.
355DEFAULT-VALUE, if non-nil, is the default value. 234DEFAULT-VALUE, if non-nil, is the default value.
356INITIAL-INPUT, if non-nil, is a string inserted in the minibuffer initially. 235INITIAL-INPUT, if non-nil, is a string inserted in the minibuffer initially.
357See the documentation of the function `completing-read' for the 236See the documentation of the function `completing-read' for the
358detailed meanings of these arguments." 237detailed meanings of these arguments."
359 (let* ((table (append (mapcar (function (lambda (x) (list (symbol-name x)))) 238 (let* ((table (mapcar (lambda (x) (list (symbol-name x))) charset-list))
360 charset-list)
361 (mapcar (function (lambda (x)
362 (list (symbol-name (car x)))))
363 non-iso-charset-alist)))
364 (charset (completing-read prompt table 239 (charset (completing-read prompt table
365 nil t initial-input 'charset-history 240 nil t initial-input 'charset-history
366 default-value))) 241 default-value)))
@@ -487,10 +362,10 @@ detailed meanings of these arguments."
487 362
488;;;###autoload 363;;;###autoload
489(defun list-charset-chars (charset) 364(defun list-charset-chars (charset)
490 "Display a list of characters in the specified character set. 365 "Display a list of characters in character set CHARSET.
491This can list both Emacs `official' (ISO standard) charsets and the 366This can list both Emacs `official' (ISO standard) charsets and the
492characters encoded by various Emacs coding systems which correspond to 367characters encoded by various Emacs coding systems which correspond to
493PC `codepages' and other coded character sets. See `non-iso-charset-alist'." 368PC `codepages' and other coded character sets."
494 (interactive (list (read-charset "Character set: "))) 369 (interactive (list (read-charset "Character set: ")))
495 (with-output-to-temp-buffer "*Help*" 370 (with-output-to-temp-buffer "*Help*"
496 (with-current-buffer standard-output 371 (with-current-buffer standard-output
@@ -498,8 +373,6 @@ PC `codepages' and other coded character sets. See `non-iso-charset-alist'."
498 (set-buffer-multibyte t) 373 (set-buffer-multibyte t)
499 (cond ((charsetp charset) 374 (cond ((charsetp charset)
500 (list-iso-charset-chars charset)) 375 (list-iso-charset-chars charset))
501 ((assq charset non-iso-charset-alist)
502 (list-non-iso-charset-chars charset))
503 (t 376 (t
504 (error "Invalid character set %s" charset)))))) 377 (error "Invalid character set %s" charset))))))
505 378
@@ -507,8 +380,7 @@ PC `codepages' and other coded character sets. See `non-iso-charset-alist'."
507;;;###autoload 380;;;###autoload
508(defun describe-character-set (charset) 381(defun describe-character-set (charset)
509 "Display information about built-in character set CHARSET." 382 "Display information about built-in character set CHARSET."
510 (interactive (list (let ((non-iso-charset-alist nil)) 383 (interactive (list (read-charset "Charset: ")))
511 (read-charset "Charset: "))))
512 (or (charsetp charset) 384 (or (charsetp charset)
513 (error "Invalid charset: %S" charset)) 385 (error "Invalid charset: %S" charset))
514 (let ((info (charset-info charset))) 386 (let ((info (charset-info charset)))
@@ -693,6 +565,7 @@ which font is being used for displaying the character."
693 (let ((reg (cdr elt))) 565 (let ((reg (cdr elt)))
694 (nconc (aref gr reg) (list (car elt))))) 566 (nconc (aref gr reg) (list (car elt)))))
695 (dotimes (i 4) 567 (dotimes (i 4)
568 ;; Fixme:
696 (setq charset (aref flags graphic-register)) 569 (setq charset (aref flags graphic-register))
697 (princ (format 570 (princ (format
698 " G%d -- %s\n" 571 " G%d -- %s\n"
@@ -747,7 +620,8 @@ which font is being used for displaying the character."
747 (with-output-to-temp-buffer (help-buffer) 620 (with-output-to-temp-buffer (help-buffer)
748 (print-coding-system-briefly coding-system 'doc-string) 621 (print-coding-system-briefly coding-system 'doc-string)
749 (let* ((type (coding-system-type coding-system)) 622 (let* ((type (coding-system-type coding-system))
750 (extra-spec (coding-system-extra-spec coding-system))) 623 ;; Fixme: use this
624 (extra-spec (coding-system-plist coding-system)))
751 (princ "Type: ") 625 (princ "Type: ")
752 (princ type) 626 (princ type)
753 (cond ((eq type 'undecided) 627 (cond ((eq type 'undecided)
@@ -780,14 +654,14 @@ which font is being used for displaying the character."
780 ((eq eol-type 1) (princ "CRLF\n")) 654 ((eq eol-type 1) (princ "CRLF\n"))
781 ((eq eol-type 2) (princ "CR\n")) 655 ((eq eol-type 2) (princ "CR\n"))
782 (t (princ "invalid\n"))))) 656 (t (princ "invalid\n")))))
783 (let ((postread (coding-system-get coding-system 'post-read-conversion))) 657 (let ((postread (coding-system-get coding-system :post-read-conversion)))
784 (when postread 658 (when postread
785 (princ "After decoding text normally,") 659 (princ "After decoding text normally,")
786 (princ " perform post-conversion using the function: ") 660 (princ " perform post-conversion using the function: ")
787 (princ "\n ") 661 (princ "\n ")
788 (princ postread) 662 (princ postread)
789 (princ "\n"))) 663 (princ "\n")))
790 (let ((prewrite (coding-system-get coding-system 'pre-write-conversion))) 664 (let ((prewrite (coding-system-get coding-system :pre-write-conversion)))
791 (when prewrite 665 (when prewrite
792 (princ "Before encoding text normally,") 666 (princ "Before encoding text normally,")
793 (princ " perform pre-conversion using the function: ") 667 (princ " perform pre-conversion using the function: ")
@@ -795,7 +669,7 @@ which font is being used for displaying the character."
795 (princ prewrite) 669 (princ prewrite)
796 (princ "\n"))) 670 (princ "\n")))
797 (with-current-buffer standard-output 671 (with-current-buffer standard-output
798 (let ((charsets (coding-system-get coding-system 'safe-charsets))) 672 (let ((charsets (coding-system-get coding-system :charset-list)))
799 (when (and (not (memq (coding-system-base coding-system) 673 (when (and (not (memq (coding-system-base coding-system)
800 '(raw-text emacs-mule))) 674 '(raw-text emacs-mule)))
801 charsets) 675 charsets)
@@ -857,8 +731,8 @@ in place of `..':
857 (coding-system-eol-type-mnemonic (cdr default-process-coding-system)) 731 (coding-system-eol-type-mnemonic (cdr default-process-coding-system))
858 ))) 732 )))
859 733
860;; Print symbol name and mnemonic letter of CODING-SYSTEM with `princ'.
861(defun print-coding-system-briefly (coding-system &optional doc-string) 734(defun print-coding-system-briefly (coding-system &optional doc-string)
735 "Print symbol name and mnemonic letter of CODING-SYSTEM with `princ'."
862 (if (not coding-system) 736 (if (not coding-system)
863 (princ "nil\n") 737 (princ "nil\n")
864 (princ (format "%c -- %s" 738 (princ (format "%c -- %s"
@@ -914,6 +788,7 @@ Priority order for recognizing coding systems when reading files:\n")
914 (let ((aliases (coding-system-aliases elt))) 788 (let ((aliases (coding-system-aliases elt)))
915 (if (eq elt (car aliases)) 789 (if (eq elt (car aliases))
916 (if (cdr aliases) 790 (if (cdr aliases)
791 ;; Fixme:
917 (princ (cons 'alias: (cdr base-aliases)))) 792 (princ (cons 'alias: (cdr base-aliases))))
918 (princ (list 'alias 'of (car aliases)))) 793 (princ (list 'alias 'of (car aliases))))
919 (terpri) 794 (terpri)
@@ -977,8 +852,8 @@ Priority order for recognizing coding systems when reading files:\n")
977 (funcall func "Network I/O" network-coding-system-alist)) 852 (funcall func "Network I/O" network-coding-system-alist))
978 (help-mode)))) 853 (help-mode))))
979 854
980;; Print detailed information on CODING-SYSTEM.
981(defun print-coding-system (coding-system) 855(defun print-coding-system (coding-system)
856 "Print detailed information on CODING-SYSTEM."
982 (let ((type (coding-system-type coding-system)) 857 (let ((type (coding-system-type coding-system))
983 (eol-type (coding-system-eol-type coding-system)) 858 (eol-type (coding-system-eol-type coding-system))
984 (flags (coding-system-flags coding-system)) 859 (flags (coding-system-flags coding-system))
@@ -1112,8 +987,8 @@ but still contains full information about each coding system."
1112 987
1113;;; FONT 988;;; FONT
1114 989
1115;; Print information of a font in FONTINFO.
1116(defun describe-font-internal (font-info &optional verbose) 990(defun describe-font-internal (font-info &optional verbose)
991 "Print information about a font in FONT-INFO."
1117 (print-list "name (opened by):" (aref font-info 0)) 992 (print-list "name (opened by):" (aref font-info 0))
1118 (print-list " full name:" (aref font-info 1)) 993 (print-list " full name:" (aref font-info 1))
1119 (print-list " size:" (format "%2d" (aref font-info 2))) 994 (print-list " size:" (format "%2d" (aref font-info 2)))