X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;ds=sidebyside;f=src%2Fcode%2Fsharpm.lisp;h=233a35ad89e0172c523b10424abaf8a5ef03f85f;hb=5bf4a6a677c80a71dfa31b5c9c374f986594392f;hp=e03e1a359c1d2e978c99a9d8f6cc134e001b2506;hpb=68c539ab90bb39f342229e68bf9286f63824597a;p=sbcl.git diff --git a/src/code/sharpm.lisp b/src/code/sharpm.lisp index e03e1a3..233a35a 100644 --- a/src/code/sharpm.lisp +++ b/src/code/sharpm.lisp @@ -14,7 +14,7 @@ ;;; FIXME: Is it standard to ignore numeric args instead of raising errors? (defun ignore-numarg (sub-char numarg) (when numarg - (warn "A numeric argument was ignored in #~D~A." numarg sub-char))) + (warn "A numeric argument was ignored in #~W~A." numarg sub-char))) ;;;; reading arrays and vectors: the #(, #*, and #A readmacros @@ -92,14 +92,14 @@ (make-array (dims) :initial-contents contents)) (unless (typep seq 'sequence) (%reader-error stream - "#~DA axis ~D is not a sequence:~% ~S" + "#~WA axis ~W is not a sequence:~% ~S" dimensions axis seq)) (let ((len (length seq))) (dims len) (unless (= axis (1- dimensions)) (when (zerop len) (%reader-error stream - "#~DA axis ~D is empty, but is not ~ + "#~WA axis ~W is empty, but is not ~ the last dimension." dimensions axis)) (setq seq (elt seq 0)))))))) @@ -157,13 +157,13 @@ ((not radix) (%reader-error stream "radix missing in #R")) ((not (<= 2 radix 36)) - (%reader-error stream "illegal radix for #R: ~D" radix)) + (%reader-error stream "illegal radix for #R: ~D." radix)) (t (let ((res (let ((*read-base* radix)) (read stream t nil t)))) (unless (typep res 'rational) (%reader-error stream - "#~A (base ~D) value is not a rational: ~S." + "#~A (base ~D.) value is not a rational: ~S." sub-char radix res)) @@ -313,7 +313,7 @@ (defun sharp-vertical-bar (stream sub-char numarg) (ignore-numarg sub-char numarg) (let ((stream (in-synonym-of stream))) - (if (lisp-stream-p stream) + (if (ansi-stream-p stream) (prepare-for-fast-read-char stream (do ((level 1) (prev (fast-read-char) char) @@ -408,9 +408,9 @@ (set-dispatch-macro-character #\# #\| #'sharp-vertical-bar) (set-dispatch-macro-character #\# #\p #'sharp-p) (set-dispatch-macro-character #\# #\P #'sharp-p) - (set-dispatch-macro-character #\# #\ #'sharp-illegal) (set-dispatch-macro-character #\# #\) #'sharp-illegal) (set-dispatch-macro-character #\# #\< #'sharp-illegal) - ;; FIXME: Should linefeed/newline go in this list too? - (dolist (cc '#.(list tab-char-code form-feed-char-code return-char-code)) + (set-dispatch-macro-character #\# #\Space #'sharp-illegal) + (dolist (cc '#.(list tab-char-code form-feed-char-code return-char-code + line-feed-char-code backspace-char-code)) (set-dispatch-macro-character #\# (code-char cc) #'sharp-illegal)))