(incf index))))
(unless (= index size) (return))
;; Everything went ok, we have a float
+ ;; XXX: Use FLOAT when implemented.
- (/ (* sign (expt 10.0d0 (* exponent-sign exponent)) number) divisor))))
-
+ (/ (* sign (expt 10.0 (* exponent-sign exponent)) number) divisor))))
-
(defun !parse-integer (string junk-allow)
(block nil
(let ((value 0)
(list 'unquote (ls-read-1 stream))))
((char= ch #\#)
(read-sharp stream))
+ ((char= ch #\|)
+ (%read-char stream)
+ (let ((string (read-escaped-until stream (lambda (x) (char= x #\|)))))
+ (%read-char stream)
+ (read-symbol string)))
(t
- (let ((string (read-until stream #'terminalp)))
+ (let ((string (read-escaped-until stream #'terminalp)))
- (or (values (!parse-integer string nil))
+ (or (read-integer string)
(read-float string)
(read-symbol string)))))))