(assert (= (parse-integer "12") 12))
(assert (= (parse-integer " 12 ") 12))
(assert (= (parse-integer " 12asdb" :junk-allowed t) 12)))
+
+;;; #A notation enforces that once one 0 dimension has been found, all
+;;; subsequent ones are also 0.
+(assert (equal (array-dimensions (read-from-string "#3A()"))
+ '(0 0 0)))
+(assert (equal (array-dimensions (read-from-string "#3A(())"))
+ '(1 0 0)))
+(assert (equal (array-dimensions (read-from-string "#3A((() ()))"))
+ '(1 2 0)))
+
+;;; Bug reported by Nikodemus Siivola on sbcl-devel 2003-07-21:
+;;; package misconfiguration
+(assert (eq
+ (handler-case (with-input-from-string (s "cl:") (read s))
+ (end-of-file (c)
+ 'good))
+ 'good))
+
+;;; Bugs found by Paul Dietz
+(assert (equal (multiple-value-list
+ (parse-integer " 123 "))
+ '(123 12)))
+
+(let* ((base "xxx 123 yyy")
+ (intermediate (make-array 8 :element-type (array-element-type base)
+ :displaced-to base
+ :displaced-index-offset 2))
+ (string (make-array 6 :element-type (array-element-type base)
+ :displaced-to intermediate
+ :displaced-index-offset 1)))
+ (assert (equal (multiple-value-list
+ (parse-integer string))
+ '(123 6))))