all of the arguments are circular is probably desireable).
213: "Sequence functions and type checking"
- a. (fixed in 0.8.4.36)
b. MAP, when given a type argument that is SUBTYPEP LIST, does not
check that it will return a sequence of the given type. Fixing
it along the same lines as the others (cf. work done around
(probably related to the bug 280.)
-313: "source-transforms are Lisp-1"
- (fixed in 0.8.10.2)
-
314: "LOOP :INITIALLY clauses and scope of initializers"
reported by Bruno Haible sbcl-devel "various SBCL bugs" from CLISP
test suite, originally by Thomas F. Burdick.
the heap and certainly confuses the world if that string is used by
C code.
-316: "SHIFTF and multiple values"
- reported by Bruno Haible sbcl-devel "various SBCL bugs" from CLISP
- test suite.
- (shiftf (values x y) (values y x))
- gives an error in sbcl-0.8.10.
-
- Parts of the explanation of SHIFTF in ANSI CL talk about multiple
- store variables, and the X3J13 vote
- SETF-MULTIPLE-STORE-VARIABLES:ALLOW also says that SHIFTF should
- support multiple value places.
-
317: "FORMAT of floating point numbers"
reported by Bruno Haible sbcl-devel "various SBCL bugs" from CLISP
test suite.
#(1 2 ((SB-IMPL::|,|) + 2 2) 4)
which probably isn't intentional.
-320: "shared to local slot in class redefinition"
- reported by Bruno Haible sbcl-devel "various SBCL bugs" from CLISP
- test suite.
- ;; Shared slot becomes local.
- ;; 4.3.6.1.: "The value of a slot that is specified as shared in
- ;; the old class and as local in the new class is retained."
- (multiple-value-bind (value condition)
- (ignore-errors
- (defclass foo85a ()
- ((size :initarg :size :initform 1 :allocation :class)))
- (defclass foo85b (foo85a) ())
- (setq i (make-instance 'foo85b))
- (defclass foo85a () ((size :initarg :size :initform 2) (other)))
- (slot-value i 'size))
- (list value (type-of condition)))
- should return (1 NULL) but returns (2 NULL) in sbcl-0.8.10. See
- ensuing discussion sbcl-devel for how to deal with this.
-
321: "DEFINE-METHOD-COMBINATION lambda list parsing"
reported by Bruno Haible sbcl-devel "various SBCL bugs" from CLISP
test suite.
(vector-push-extend (list 'string p1 p2) s))
(:method ((p1 t) (p2 t) s) (vector-push-extend (list t p1 p2) s)))
-322: "DEFSTRUCT :TYPE LIST predicate and improper lists"
- reported by Bruno Haible sbcl-devel "various SBCL bugs" from CLISP
- test suite.
- (defstruct (a (:type list) (:initial-offset 5) :named))
- (defstruct (b (:type list) (:initial-offset 2) :named (:include a)))
- (b-p (list* nil nil nil nil nil 'foo73 nil 'tail))
- gives an error in sbcl-0.8.10
+323: "REPLACE, BIT-BASH and large strings"
+ The transform for REPLACE on simple-base-strings uses BIT-BASH, which
+ at present has an upper limit in size. Consequently, in sbcl-0.8.10
+ (defun foo ()
+ (declare (optimize speed (safety 1)))
+ (let ((x (make-string 140000000))
+ (y (make-string 140000000)))
+ (length (replace x y))))
+ (foo)
+ gives
+ debugger invoked on a TYPE-ERROR in thread 2412:
+ The value 1120000000 is not of type (MOD 536870911).
+ (see also "more and better sequence transforms" sbcl-devel 2004-05-10)
+
+324: "STREAMs and :ELEMENT-TYPE with large bytesize"
+ In theory, (open foo :element-type '(unsigned-byte <x>)) should work
+ for all positive integral <x>. At present, it only works for <x> up
+ to about 1024 (and similarly for signed-byte), so
+ (open "/dev/zero" :element-type '(unsigned-byte 1025))
+ gives an error in sbcl-0.8.10.