;;;; files for more information.
(in-package "SB!IMPL")
-
-(file-comment
- "$Header$")
\f
(declaim (special *read-suppress* *standard-readtable* *bq-vector-flag*))
;;; 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)))
\f
;;;; reading arrays and vectors: the #(, #*, and #A readmacros
(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))))))))
((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))
(defun sharp-backslash (stream backslash numarg)
(ignore-numarg backslash numarg)
- (unread-char backslash stream)
- (let* ((*readtable* *standard-readtable*)
- (charstring (read-extended-token stream)))
+ (let ((charstring (read-extended-token-escaped stream)))
(declare (simple-string charstring))
(cond (*read-suppress* nil)
((= (the fixnum (length charstring)) 1)
(char charstring 0))
((name-char charstring))
(t
- (%reader-error stream
- "unrecognized character name: ~S"
+ (%reader-error stream "unrecognized character name: ~S"
charstring)))))
(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)