X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fcode%2Fprint.lisp;h=96823725f73e9f0090bb3ab5f66d71e095ae1586;hb=0728e7b99692f32f23ba63be90c56f4a3358e692;hp=0989d83f57b80a43be260a1da2603a6eab236970;hpb=086056ed379d22ed5d8a792778f2f35fc6cf56c6;p=sbcl.git diff --git a/src/code/print.lisp b/src/code/print.lisp index 0989d83..9682372 100644 --- a/src/code/print.lisp +++ b/src/code/print.lisp @@ -875,19 +875,19 @@ ;;; :DOWNCASE :CAPITALIZE (defun output-capitalize-symbol (pname stream) (declare (simple-string pname)) - (let ((prev-not-alpha t) + (let ((prev-not-alphanum t) (up (eq (readtable-case *readtable*) :upcase))) (dotimes (i (length pname)) (let ((char (char pname i))) (write-char (if up - (if (or prev-not-alpha (lower-case-p char)) + (if (or prev-not-alphanum (lower-case-p char)) char (char-downcase char)) - (if prev-not-alpha + (if prev-not-alphanum (char-upcase char) char)) stream) - (setq prev-not-alpha (not (alpha-char-p char))))))) + (setq prev-not-alphanum (not (alphanumericp char))))))) ;;; called when: ;;; READTABLE-CASE *PRINT-CASE*