X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fprint.lisp;h=42ceba4b08d2dc9a4d015323998c6d01be17511c;hb=b2de12c4e1a6e77e7f3f22d056adcfeda79d085b;hp=ed7b8c1851a27a68192ccd1fc2a53637511f9bfb;hpb=69f4ead4d3a5f853780816b07e4408abcbc21cfc;p=jscl.git diff --git a/src/print.lisp b/src/print.lisp index ed7b8c1..42ceba4 100644 --- a/src/print.lisp +++ b/src/print.lisp @@ -199,7 +199,7 @@ (#\space "space") (otherwise (string form))))) ((stringp form) (if *print-escape* - (concat "\"" (escape-string form) "\"") + (lisp-escape-string form) form)) ((functionp form) (let ((name (oget form "fname"))) @@ -267,10 +267,12 @@ (concatf res "~")) ((char= next #\%) (concatf res *newline*)) + ((char= next #\*) + (pop arguments)) (t (concatf res (format-special next (car arguments))) (pop arguments)))) - (setq res (concat res (char-to-string c)))) + (setq res (concat res (string c)))) (incf i))) (if destination (progn @@ -279,6 +281,6 @@ res))) (defun format-special (chr arg) - (case chr + (case (char-upcase chr) (#\S (prin1-to-string arg)) - (#\a (princ-to-string arg)))) + (#\A (princ-to-string arg))))