X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fcode%2Ftarget-format.lisp;h=5a29fbad05467f9dd5dff02786ffd20cd2691a7e;hb=22a6702974b7d6ff4e8f2b3b7b5ff446fc632de0;hp=91b83092db41129e2ead39e5258fed566e48068c;hpb=d6d76c98535bddabd73c6338f8393b6e698f297f;p=sbcl.git diff --git a/src/code/target-format.lisp b/src/code/target-format.lisp index 91b8309..5a29fba 100644 --- a/src/code/target-format.lisp +++ b/src/code/target-format.lisp @@ -228,12 +228,16 @@ (prin1 (next-arg) stream) (write-char (next-arg) stream))))) +;;; "printing" as defined in the ANSI CL glossary, which is normative. +(defun char-printing-p (char) + (and (not (eql char #\Space)) + (graphic-char-p char))) + (defun format-print-named-character (char stream) - (let* ((name (char-name char))) - (cond (name - (write-string (string-capitalize name) stream)) - (t - (write-char char stream))))) + (cond ((not (char-printing-p char)) + (write-string (string-capitalize (char-name char)) stream)) + (t + (write-char char stream)))) (def-format-interpreter #\W (colonp atsignp params) (interpret-bind-defaults () params