When using ~:c, graphic characters are not printed by name

This commit is contained in:
Juan Jose Garcia Ripoll 2009-06-14 23:15:29 +02:00
parent 6f5ee1511f
commit 984b18eef6

View file

@ -953,19 +953,17 @@
(prin1 (next-arg) stream)
(write-char (next-arg) stream)))))
(defun format-print-named-character (char stream)
#-formatter
;;; "printing" as defined in the ANSI CL glossary, which is normative.
(defun char-printing-p (char)
(declare (si::c-local))
(let* ((name (char-name char)))
(cond (name
(write-string name stream))
#-ecl
((<= 0 (char-code char) 31)
;; Print control characters as "^"<char>
(write-char #\^ stream)
(write-char (code-char (+ 64 (char-code char))) stream))
(t
(write-char char stream)))))
(and (not (eql char #\Space))
(graphic-char-p char)))
(defun format-print-named-character (char stream)
(cond ((not (char-printing-p char))
(write-string (string-capitalize (char-name char)) stream))
(t
(write-char char stream))))
(def-format-directive #\W (colonp atsignp params)
(check-output-layout-mode 1)