0.7.9.65:
authorChristophe Rhodes <csr21@cam.ac.uk>
Sun, 24 Nov 2002 15:57:46 +0000 (15:57 +0000)
committerChristophe Rhodes <csr21@cam.ac.uk>
Sun, 24 Nov 2002 15:57:46 +0000 (15:57 +0000)
Firefighting on showstopper bugs:
... commit change as per CSR sbcl-devel 22-11-2002 for BUG 227
... Julian Fondren "leap before looking" patch for
sbcl --core (sbcl-devel 21-11-2002)
... DB "silly debugging bug" sbcl-devel 24-11-2002

BUGS
src/compiler/fndb.lisp
src/runtime/coreparse.c
src/runtime/runtime.c
tests/compiler.pure.lisp
version.lisp-expr

diff --git a/BUGS b/BUGS
index ef9ea5e..c91f7db 100644 (file)
--- a/BUGS
+++ b/BUGS
@@ -1342,23 +1342,7 @@ WORKAROUND:
            (safe-format t "~&baz ~S (~A) ~S" condition condition result)))))))
 
 227: "compiler bewilderment with adjustable vectors and COPY-SEQ"
-  In sbcl-0.7.9.54 on x86,
-    (let ((v (make-array 0 :fill-pointer 0)))
-       (vector-push-extend 1 v) (copy-seq v))
-  fails with
-    The value 336206758 is not of type VECTOR.
-  More excitement follows from
-    (defun argh2 (x)
-      (let ((v (make-array 0 :fill-pointer 0)))
-        (vector-push-extend x v)
-        (format t
-               "~&~<~;/after VPE ~_~<V=~:_=~S~:>~;~:>~%"
-               (list
-                (let* ((xx1871 v) (nn1872 (/nn xx1871)))
-                  (list (if nn1872 nn1872 xx1871)))))
-        (copy-seq v)))
-  where (ARGH2 2) loops endlessly printing "/after VPE V==#(3)".
-
+  (fixed in sbcl-0.7.9.65)
 
 DEFUNCT CATEGORIES OF BUGS
   IR1-#:
index 2b6ba93..ab6d4a1 100644 (file)
   :derive-type (sequence-result-nth-arg 1))
 
 (defknown copy-seq (sequence) consed-sequence (flushable)
-  :derive-type #'result-type-first-arg)
+  :derive-type (sequence-result-nth-arg 1))
 
 (defknown length (sequence) index (foldable flushable))
 
 (defknown reverse (sequence) consed-sequence (flushable)
-  :derive-type #'result-type-first-arg)
+  :derive-type (sequence-result-nth-arg 1))
 
 (defknown nreverse (sequence) sequence ()
   :derive-type #'result-type-first-arg)
index a00438c..007e6c0 100644 (file)
@@ -187,7 +187,7 @@ load_core_file(char *file)
                    goto losing_build_id;
                for (i = 0; i < remaining_len; ++i) {
                    FSHOW((stderr, "ptr[%d] = char = %d, expected=%d\n",
-                          ptr[i], i, build_id[i]));
+                          i, ptr[i], build_id[i]));
                    if (ptr[i] != build_id[i])
                        goto losing_build_id;
                }
index 98a3d57..0307d05 100644 (file)
@@ -148,10 +148,10 @@ main(int argc, char *argv[], char *envp[])
                    lose("more than one core file specified");
                } else {
                    ++argi;
-                   core = copied_string(argv[argi]);
                    if (argi >= argc) {
                        lose("missing filename for --core argument");
                    }
+                   core = copied_string(argv[argi]);
                    ++argi;
                }
            } else if (0 == strcmp(arg, "--end-runtime-options")) {
index a7bdfe4..3ee09af 100644 (file)
        x))
   (assert (null result))
   (assert (typep error 'program-error)))
+
+;;; COPY-SEQ should work on known-complex vectors:
+(assert (equalp #(1)
+               (let ((v (make-array 0 :fill-pointer 0)))
+                 (vector-push-extend 1 v)
+                 (copy-seq v))))
index ab8084c..c1dd8f6 100644 (file)
@@ -18,4 +18,4 @@
 ;;; versions, especially for internal versions off the main CVS
 ;;; branch, it gets hairier, e.g. "0.pre7.14.flaky4.13".)
 
-"0.7.9.64"
+"0.7.9.65"