diff --git a/boot/pb/equates.h b/boot/pb/equates.h index 7e4bf03fc..696353e18 100644 --- a/boot/pb/equates.h +++ b/boot/pb/equates.h @@ -1,4 +1,4 @@ -/* equates.h for Chez Scheme Version 9.9.9-pre-release.23 */ +/* equates.h for Chez Scheme Version 9.9.9-pre-release.24 */ /* Do not edit this file. It is automatically generated and */ /* specifically tailored to the version of Chez Scheme named */ @@ -1010,7 +1010,7 @@ typedef uint64_t U64; #define rtd_sealed 0x4 #define sbwp (ptr)0x4E #define scaled_shot_1_shot_flag -0x8 -#define scheme_version 0x9090917 +#define scheme_version 0x9090918 #define seginfo_generation_disp 0x1 #define seginfo_list_bits_disp 0x8 #define seginfo_space_disp 0x0 diff --git a/boot/pb/petite.boot b/boot/pb/petite.boot index 19d95df17..4dae5bd5d 100644 Binary files a/boot/pb/petite.boot and b/boot/pb/petite.boot differ diff --git a/boot/pb/scheme.boot b/boot/pb/scheme.boot index 908f14fb5..5e1f2456e 100644 Binary files a/boot/pb/scheme.boot and b/boot/pb/scheme.boot differ diff --git a/boot/pb/scheme.h b/boot/pb/scheme.h index 24a1418bf..d7d498a7a 100644 --- a/boot/pb/scheme.h +++ b/boot/pb/scheme.h @@ -1,4 +1,4 @@ -/* scheme.h for Chez Scheme Version 9.9.9-pre-release.23 (pb) */ +/* scheme.h for Chez Scheme Version 9.9.9-pre-release.24 (pb) */ /* Do not edit this file. It is automatically generated and */ /* specifically tailored to the version of Chez Scheme named */ @@ -40,7 +40,7 @@ #endif /* Chez Scheme Version and machine type */ -#define VERSION "9.9.9-pre-release.23" +#define VERSION "9.9.9-pre-release.24" #define MACHINE_TYPE "pb" /* Integer typedefs */ diff --git a/build.zuo b/build.zuo index 6fe5556a9..c21d2caa9 100644 --- a/build.zuo +++ b/build.zuo @@ -181,7 +181,8 @@ (define (record-build-success token xm m host-scheme host-workarea) ;; record success so boot files will not be rebuilt from pb - (when record-from-pb? + (when (and record-from-pb? + (not (equal? xm "pb"))) (build-boot-target token xm m host-scheme host-workarea void))) ;; used to create a target for "quickboot", or just record dependency for other modes diff --git a/csug/objects.stex b/csug/objects.stex index e1cf7c7fa..02b98850c 100644 --- a/csug/objects.stex +++ b/csug/objects.stex @@ -754,7 +754,9 @@ The length and indices of a vector in {\ChezScheme} are always fixnums. \index{immutable vectors}\index{mutable vectors}% All vectors are mutable by default, including constants. A program can create immutable vectors via -\index{\scheme{vector->immutable-vector}}\scheme{vector->immutable-vector}. +\index{\scheme{vector->immutable-vector}}\scheme{vector->immutable-vector}, +\index{\scheme{immutable-vector}}\scheme{immutable-vector}, +and other functions. Any attempt to modify an immutable vector causes an exception to be raised. %---------------------------------------------------------------------------- @@ -920,6 +922,22 @@ is immutable; otherwise, the result is an immutable vector with the same content (vector-set! v 0 0) ;=> \var{exception: not mutable} \endschemedisplay +%---------------------------------------------------------------------------- +\entryheader +\formdef{immutable-vector}{\categoryprocedure}{(immutable-vector \var{obj} \dots)} +\formdef{immutable-vector-copy}{\categoryprocedure}{(immutable-vector-copy \var{vector})} +\formdef{immutable-vector-copy}{\categoryprocedure}{(immutable-vector-copy \var{vector} \var{start} \var{n})} +\formdef{immutable-vector-append}{\categoryprocedure}{(immutable-vector-append \var{vector} \dots)} +\formdef{immutable-vector-set/copy}{\categoryprocedure}{(vector-set/copy \var{vector} \var{n} \var{val})} +\listlibraries +\endentryheader + +Like \scheme{vector}, \scheme{vector-copy}, \scheme{vector-append}, and +\scheme{vector-set/copy}, but these procedures return an immutable vector instead of a mutable +one, and they may return an existing object instead of allocating a new one. +In the case of \scheme{immutable-vector-copy}, \scheme{immutable-vector-append}, or +\scheme{immutable-vector-set/copy}, an argument vector can be mutable or immutable. + %---------------------------------------------------------------------------- \entryheader \formdef{self-evaluating-vectors}{\categorythreadparameter}{self-evaluating-vectors} diff --git a/mats/5_6.ms b/mats/5_6.ms index 80808b74c..c66e687c5 100644 --- a/mats/5_6.ms +++ b/mats/5_6.ms @@ -16,7 +16,24 @@ (mat vector (equal? (vector 1 2 3 4) '#(1 2 3 4)) (eq? (vector) '#()) - ) + ) + +(mat immutable-vector + (equal? (immutable-vector 1 2 3 4) (vector->immutable-vector '#(1 2 3 4))) + (eq? (immutable-vector) (vector->immutable-vector '#())) + (begin + (define (f x) + (let ([v (immutable-vector (begin (write 'a) (+ x 1)) (begin (write 'a) 2) (begin (write 'a) (cons 3 x)))]) + (for-each write + (list + (begin (write 'b) (vector-ref v 0)) + (begin (write 'b) (vector-ref v 1)) + (begin (write 'b) (vector-ref v 2)))))) + #t) + (equal? + (with-output-to-string (lambda () (f 7))) + "aaabbb82(3 . 7)") + ) (mat make-vector (eqv? (vector-length (make-vector 10)) 10) @@ -112,12 +129,16 @@ ) (mat vector-copy - (equal? (vector-copy '#()) '#()) + (eq? (vector-copy '#()) '#()) (equal? (vector-copy '#(a b c)) '#(a b c)) (equal? (vector-copy '#(a b c) 0 1) '#(a)) (equal? (vector-copy '#(a b c) 2 1) '#(c)) (equal? (vector-copy '#(a b c d) 1 2) '#(b c)) (eq? (vector-copy '#(a b c d) 1 0) '#()) + (mutable-vector? (vector-copy '#(a b c))) + (mutable-vector? (vector-copy '#(a b c) 0 1)) + (mutable-vector? (vector-copy '#(a b c) 2 1)) + (mutable-vector? (vector-copy '#(a b c d) 1 2)) (let* ((x1 (vector 1 2 3)) (x2 (vector-copy x1))) (and (equal? x2 x1) (not (eq? x2 x1)))) (andmap @@ -133,11 +154,41 @@ (error? (vector-copy '#(a b c) 2 -1)) ) +(mat immutable-vector-copy + (eq? (immutable-vector-copy '#()) (immutable-vector)) + (equal? (immutable-vector-copy '#(a b c)) '#(a b c)) + (equal? (immutable-vector-copy '#(a b c) 0 1) '#(a)) + (equal? (immutable-vector-copy '#(a b c) 2 1) '#(c)) + (equal? (immutable-vector-copy '#(a b c d) 1 2) '#(b c)) + (immutable-vector? (immutable-vector-copy '#(a b c))) + (immutable-vector? (immutable-vector-copy '#(a b c) 0 1)) + (immutable-vector? (immutable-vector-copy '#(a b c) 2 1)) + (immutable-vector? (immutable-vector-copy '#(a b c d) 1 2)) + (eq? (immutable-vector-copy '#(a b c d) 1 0) (immutable-vector)) + (let* ((x1 (vector 1 2 3)) (x2 (immutable-vector-copy x1))) + (and (equal? x2 x1) (not (eq? x2 x1)))) + (andmap + (lambda (n) + (let ([v (vector-map random (make-vector n 1000))]) + (equal? (immutable-vector-copy v) v))) + (map random (make-list 500 2500))) + (error? (immutable-vector-copy '(a b c))) + (error? (immutable-vector-copy '#(a b c) 'x 2)) + (error? (immutable-vector-copy '#(a b c) 1 'x)) + (error? (immutable-vector-copy '#(a b c) -1 2)) + (error? (immutable-vector-copy '#(a b c) 1 3)) + (error? (immutable-vector-copy '#(a b c) 2 -1)) + ) + (mat vector-set/copy (equal? (vector-set/copy '#(a b c) 0 'x) '#(x b c)) (equal? (vector-set/copy '#(a b c) 1 'x) '#(a x c)) (equal? (vector-set/copy '#(a b c) 2 'x) '#(a b x)) (equal? (vector-set/copy '#(a b c d e f g h i) 2 'x) '#(a b x d e f g h i)) + (mutable-vector? (vector-set/copy '#(a b c) 0 'x)) + (mutable-vector? (vector-set/copy '#(a b c) 1 'x)) + (mutable-vector? (vector-set/copy '#(a b c) 2 'x)) + (mutable-vector? (vector-set/copy '#(a b c d e f g h i) 2 'x)) (error? (vector-set/copy 1)) (error? (vector-set/copy '#(a b c))) (error? (vector-set/copy '#(a b c) 1)) @@ -146,6 +197,23 @@ (error? (vector-set/copy '#(a b c) 3 'x)) ) +(mat immutable-vector-set/copy + (equal? (immutable-vector-set/copy '#(a b c) 0 'x) '#(x b c)) + (equal? (immutable-vector-set/copy '#(a b c) 1 'x) '#(a x c)) + (equal? (immutable-vector-set/copy '#(a b c) 2 'x) '#(a b x)) + (equal? (immutable-vector-set/copy '#(a b c d e f g h i) 2 'x) '#(a b x d e f g h i)) + (immutable-vector? (immutable-vector-set/copy '#(a b c) 0 'x)) + (immutable-vector? (immutable-vector-set/copy '#(a b c) 1 'x)) + (immutable-vector? (immutable-vector-set/copy '#(a b c) 2 'x)) + (immutable-vector? (immutable-vector-set/copy '#(a b c d e f g h i) 2 'x)) + (error? (immutable-vector-set/copy 1)) + (error? (immutable-vector-set/copy '#(a b c))) + (error? (immutable-vector-set/copy '#(a b c) 1)) + (error? (immutable-vector-set/copy '#(a b c) 'y 'x)) + (error? (immutable-vector-set/copy '#(a b c) -1 'x)) + (error? (immutable-vector-set/copy '#(a b c) 3 'x)) + ) + (mat vector-append (eq? (vector-append) '#()) (eq? (vector-append '#()) '#()) @@ -153,16 +221,41 @@ (eq? (vector-append '#() '#() '#()) '#()) (eq? (vector-append '#() '#() '#() '#()) '#()) (equal? (vector-append '#(a b c)) '#(a b c)) + (mutable-vector? (vector-append '#(a b c))) (equal? (vector-append '#(a b c) '#(d e)) '#(a b c d e)) + (mutable-vector? (vector-append '#(a b c) '#(d e))) (equal? (vector-append '#(a b c) '#(d e) '#(f) '#(g h i)) '#(a b c d e f g h i)) + (mutable-vector? (vector-append '#(a b c) '#(d e) '#(f) '#(g h i))) (equal? (vector-append (vector 'p) '#()) '#(p)) + (mutable-vector? (vector-append (vector 'p) '#())) (equal? (vector-append '#() (vector 'p)) '#(p)) + (mutable-vector? (vector-append '#() (vector 'p))) (equal? (vector-append (vector 'p) '#(a b c)) '#(p a b c)) (equal? (vector-append '#(a b c) (vector 'p)) '#(a b c p)) + (mutable-vector? (vector-append (vector 'p) '#(a b c))) + (mutable-vector? (vector-append '#(a b c) (vector 'p))) + (equal? (vector-append (vector 'p) (make-vector 3 'ok)) '#(p ok ok ok)) + (mutable-vector? (vector-append (vector 'p) (make-vector 3 'ok))) + (let* ([ip (open-input-string "4 0")] + [c 0] + [v0 (vector-append (make-vector (read ip) (begin (set! c (+ c 1)) c)) (vector 'x 2 3 4))] + [c0 c] + [v1 (vector-append (make-vector (read ip) (begin (set! c (+ c 1)) c)) (vector 'y 'not))]) + (and (equal? v0 '#(1 1 1 1 x 2 3 4)) + (mutable-vector? v0) + (= c0 1) + (equal? v1 '#(y not)) + (mutable-vector? v1) + (= c 2))) + (equal? (vector-append (make-vector 1 'p) '#(d q)) '#(p d q)) + (mutable-vector? (vector-append (make-vector 1 'p) '#(d q))) + (equal? (vector-append (vector 'p) (make-vector 0 'ok)) '#(p)) + (mutable-vector? (vector-append (vector 'p) (make-vector 0 'ok))) (error? (vector-append 1)) (error? (vector-append '#(a b c) 'x)) (error? (vector-append '#(a b c) '#(d) 'x)) (error? (vector-append '#(a b c) '#(d) '#(e)'x)) + (error? (vector-append (vector 'p) (make-vector -1 'ok))) ;; ensure that `vector-append` optimization doesn't misorder ;; evaluation and potential collection with respect to filling @@ -182,6 +275,228 @@ (equal? (vector-ref v N) "8"))))))) ) +(mat immutable-vector-append + (eq? (immutable-vector-append) (immutable-vector)) + (eq? (immutable-vector-append '#()) (immutable-vector)) + (eq? (immutable-vector-append '#() '#()) (immutable-vector)) + (eq? (immutable-vector-append '#() '#() '#()) (immutable-vector)) + (eq? (immutable-vector-append '#() '#() '#() '#()) (immutable-vector)) + (equal? (immutable-vector-append '#(a b c)) '#(a b c)) + (immutable-vector? (immutable-vector-append '#(a b c))) + (equal? (immutable-vector-append '#(a b c) '#(d e)) '#(a b c d e)) + (immutable-vector? (immutable-vector-append '#(a b c) '#(d e))) + (equal? (immutable-vector-append '#(a b c) '#(d e) '#(f) '#(g h i)) '#(a b c d e f g h i)) + (immutable-vector? (immutable-vector-append '#(a b c) '#(d e) '#(f) '#(g h i))) + (equal? (immutable-vector-append (vector 'p) '#()) '#(p)) + (immutable-vector? (immutable-vector-append (vector 'p) '#())) + (equal? (immutable-vector-append '#() (vector 'p)) '#(p)) + (immutable-vector? (immutable-vector-append '#() (vector 'p))) + (equal? (immutable-vector-append (vector 'p) '#(a b c)) '#(p a b c)) + (equal? (immutable-vector-append '#(a b c) (vector 'p)) '#(a b c p)) + (immutable-vector? (immutable-vector-append (vector 'p) '#(a b c))) + (immutable-vector? (immutable-vector-append '#(a b c) (vector 'p))) + (equal? (immutable-vector-append (vector 'p) (make-vector 3 'ok)) '#(p ok ok ok)) + (immutable-vector? (immutable-vector-append (vector 'p) (make-vector 3 'ok))) + (equal? (immutable-vector-append (vector 'p) (make-vector 0 'ok)) '#(p)) + (immutable-vector? (immutable-vector-append (vector 'p) (make-vector 0 'ok))) + (equal? (immutable-vector-append (make-vector 1 'p) '#(d q)) '#(p d q)) + (immutable-vector? (immutable-vector-append (make-vector 1 'p) '#(d q))) + (let* ([ip (open-input-string "4 0")] + [c 0] + [v0 (immutable-vector-append (make-vector (read ip) (begin (set! c (+ c 1)) c)) (vector 'x 2 3 4))] + [c0 c] + [v1 (immutable-vector-append (make-vector (read ip) (begin (set! c (+ c 1)) c)) (vector 'y 'not))]) + (and (equal? v0 '#(1 1 1 1 x 2 3 4)) + (immutable-vector? v0) + (= c0 1) + (equal? v1 '#(y not)) + (immutable-vector? v1) + (= c 2))) + (error? (immutable-vector-append 1)) + (error? (immutable-vector-append '#(a b c) 'x)) + (error? (immutable-vector-append '#(a b c) '#(d) 'x)) + (error? (immutable-vector-append '#(a b c) '#(d) '#(e)'x)) + (error? (immutable-vector-append (vector 'p) (make-vector -1 'ok))) + + ;; same as mutable-vector test above + (with-interrupts-disabled + (letrec ([f (lambda (m) + (collect 0 1) + (number->string m))] + [N 1000]) + (let ([v (immutable-vector-append (make-vector N) + (vector (f 8)))]) + (and (eqv? 0 (#%$generation (vector-ref v N))) + (eqv? 0 (#%$generation v)) + (begin + (collect 0 1) + (and (eqv? 1 (#%$generation (vector-ref v N))) + (equal? (vector-ref v N) "8"))))))) + ) + +(mat vector-cbuild-cp0 (parameters [enable-cp0 #t] [#%$suppress-primitive-inlining #f]) + (equivalent-expansion? + (expand/optimize '(vector->immutable-vector (vector 1 2))) + `(quote ,(immutable-vector 1 2))) + (equivalent-expansion? + (expand/optimize '(vector->immutable-vector (immutable-vector 1 2))) + `(quote ,(immutable-vector 1 2))) + (not + (equivalent-expansion? + (expand/optimize `(vector->immutable-vector '#(1 2))) + `(quote ,(immutable-vector 1 2)))) + (equivalent-expansion? + (expand/optimize `(vector->immutable-vector '#())) + `(quote ,(immutable-vector))) + (equivalent-expansion? + (expand/optimize `(vector->immutable-vector ',(immutable-vector 1 2))) + `(quote ,(immutable-vector 1 2))) + (equivalent-expansion? + (expand/optimize '(lambda (x y) (vector->immutable-vector (vector x y)))) + `(lambda (x y) (#3%immutable-vector x y))) + (equivalent-expansion? + (expand/optimize '(lambda (x y) (vector->immutable-vector (immutable-vector x y)))) + `(lambda (x y) (#3%immutable-vector x y))) + (equivalent-expansion? + (expand/optimize '(lambda (x y) (vector->immutable-vector (begin (x) (vector x y))))) + `(lambda (x y) (x) (#3%immutable-vector x y))) + (equivalent-expansion? + (expand/optimize '(lambda (x y) (vector->immutable-vector (begin (x) (immutable-vector x y))))) + `(lambda (x y) (x) (#3%immutable-vector x y))) + + (equivalent-expansion? + (expand/optimize '(immutable-vector-copy (vector 1 2))) + `(quote ,(immutable-vector 1 2))) + (equivalent-expansion? + (expand/optimize '(immutable-vector-copy (immutable-vector 1 2))) + `(quote ,(immutable-vector 1 2))) + (equivalent-expansion? + (expand/optimize `(immutable-vector-copy ',(immutable-vector 1 2))) + `(quote ,(immutable-vector 1 2))) + (equivalent-expansion? + (expand/optimize '(lambda (x y) (immutable-vector-copy (vector x y)))) + `(lambda (x y) (#3%immutable-vector x y))) + (equivalent-expansion? + (expand/optimize '(lambda (x y) (immutable-vector-copy (immutable-vector x y)))) + `(lambda (x y) (#3%immutable-vector x y))) + + (equivalent-expansion? + (expand/optimize '(vector-copy (vector 1 2))) + `(#3%vector 1 2)) + (equivalent-expansion? + (expand/optimize '(vector-copy (immutable-vector 1 2))) + `(#3%vector 1 2)) + (equivalent-expansion? + (expand/optimize `(vector-copy ',(immutable-vector 1 2))) + `(#3%vector 1 2)) + (equivalent-expansion? + (expand/optimize '(lambda (x y) (vector-copy (vector x y)))) + `(lambda (x y) (#3%vector x y))) + (equivalent-expansion? + (expand/optimize '(lambda (x y) (vector-copy (immutable-vector x y)))) + `(lambda (x y) (#3%vector x y))) + + (equivalent-expansion? + (expand/optimize '(immutable-vector-append (vector 1 2))) + `(quote ,(immutable-vector 1 2))) + (equivalent-expansion? + (expand/optimize '(immutable-vector-append (vector 1 2) (vector 3 4))) + `(quote ,(immutable-vector 1 2 3 4))) + (equivalent-expansion? + (expand/optimize '(immutable-vector-append (immutable-vector 1 2))) + `(quote ,(immutable-vector 1 2))) + (equivalent-expansion? + (expand/optimize '(immutable-vector-append (immutable-vector 1 2) (vector 3 4))) + `(quote ,(immutable-vector 1 2 3 4))) + (equivalent-expansion? + (expand/optimize `(immutable-vector-append ',(immutable-vector 1 2))) + `(quote ,(immutable-vector 1 2))) + (equivalent-expansion? + (expand/optimize `(immutable-vector-append ',(immutable-vector 1 2) (vector 3 4))) + `(quote ,(immutable-vector 1 2 3 4))) + (equivalent-expansion? + (expand/optimize '(lambda (x y) (immutable-vector-append (vector x y)))) + `(lambda (x y) (#3%immutable-vector x y))) + (equivalent-expansion? + (expand/optimize '(lambda (x y) (immutable-vector-append (vector x y) (vector y x)))) + `(lambda (x y) (#3%immutable-vector x y y x))) + (equivalent-expansion? + (expand/optimize '(lambda (x y) (immutable-vector-append (immutable-vector x y)))) + `(lambda (x y) (#3%immutable-vector x y))) + (equivalent-expansion? + (expand/optimize '(lambda (x y) (immutable-vector-append (immutable-vector x y) (immutable-vector y x)))) + `(lambda (x y) (#3%immutable-vector x y y x))) + (equivalent-expansion? + (expand/optimize `(lambda (x y) (immutable-vector-append (immutable-vector 1 x) + (vector 2 y) + (vector-copy (vector 6 7 x)) + ',(immutable-vector 8)))) + `(lambda (x y) (#3%immutable-vector 1 x 2 y 6 7 x 8))) + + (equivalent-expansion? + (expand/optimize '(vector-append (vector 1 2))) + `(#3%vector 1 2)) + (equivalent-expansion? + (expand/optimize '(vector-append (vector 1 2) (vector 3 4))) + `(#3%vector 1 2 3 4)) + (equivalent-expansion? + (expand/optimize '(vector-append (immutable-vector 1 2))) + `(#3%vector 1 2)) + (equivalent-expansion? + (expand/optimize '(vector-append (immutable-vector 1 2) (vector 3 4))) + `(#3%vector 1 2 3 4)) + (equivalent-expansion? + (expand/optimize `(vector-append ',(immutable-vector 1 2))) + `(#3%vector 1 2)) + (equivalent-expansion? + (expand/optimize `(vector-append ',(immutable-vector 1 2) (vector 3 4))) + `(#3%vector 1 2 3 4)) + (equivalent-expansion? + (expand/optimize '(lambda (x y) (vector-append (vector x y)))) + `(lambda (x y) (#3%vector x y))) + (equivalent-expansion? + (expand/optimize '(lambda (x y) (vector-append (vector x y) (vector y x)))) + `(lambda (x y) (#3%vector x y y x))) + (equivalent-expansion? + (expand/optimize '(lambda (x y) (vector-append (immutable-vector x y)))) + `(lambda (x y) (#3%vector x y))) + (equivalent-expansion? + (expand/optimize '(lambda (x y) (vector-append (immutable-vector x y) (immutable-vector y x)))) + `(lambda (x y) (#3%vector x y y x))) + (equivalent-expansion? + (expand/optimize `(lambda (x y) (vector-append (immutable-vector 1 x) + (vector 2 y) + (vector-copy (vector 6 7 x)) + ',(immutable-vector 8)))) + `(lambda (x y) (#3%vector 1 x 2 y 6 7 x 8))) + + + (equivalent-expansion? + (expand/optimize `(lambda (x y) + (vector-ref (vector-copy (immutable-vector 1 x)) 1))) + `(lambda (x y) x)) + (equivalent-expansion? + (expand/optimize `(lambda (x y) + (vector->immutable-vector + (vector (vector-ref (vector-copy (immutable-vector 1 x)) 1) + (vector-ref (immutable-vector-append (immutable-vector 2 3) + (vector y 0)) + 2))))) + `(lambda (x y) (#3%immutable-vector x y))) + + (equivalent-expansion? + (expand/optimize `(lambda (x) + (vector-length (immutable-vector x x x)))) + `(lambda (x) 3)) + (equivalent-expansion? + (expand/optimize `(lambda (x) + (vector-length (immutable-vector x (#2%printf "hi\n") x)))) + `(lambda (x) + (#2%printf "hi\n") + 3)) + + ) + (mat vector-fill! (let ([v (vector-copy '#5(a b c d e))]) (and (equal? v '#5(a b c d e)) @@ -1452,7 +1767,14 @@ (equal? '#(1 2 3) immutable-123-vector) (eq? immutable-123-vector (vector->immutable-vector immutable-123-vector)) - + + ;; these also turn out to be conversions that should + ;; leave an immutable vector alone: + (eq? immutable-123-vector + (immutable-vector-copy immutable-123-vector)) + (eq? immutable-123-vector + (immutable-vector-append immutable-123-vector)) + (mutable-vector? (make-vector 5)) (not (immutable-vector? (make-vector 5))) diff --git a/mats/cp0.ms b/mats/cp0.ms index dd9c5d1bd..a007cf0ff 100644 --- a/mats/cp0.ms +++ b/mats/cp0.ms @@ -2869,6 +2869,31 @@ (begin (#%write 'f) ($yyy-ok)) (begin (#%write 'g) ($zzz-ok)))) (begin (#%write 'h) 3)))) + (equivalent-expansion? + (parameterize ([enable-cp0 #t] [#%$suppress-primitive-inlining #f] [optimize-level 2]) + (expand/optimize + '(immutable-vector 1 2 3))) + ''#(1 2 3)) + (equivalent-expansion? + (parameterize ([enable-cp0 #t] [#%$suppress-primitive-inlining #f] [optimize-level 2]) + (expand/optimize + '(lambda (x) + (let ([v (begin (write 'a) (immutable-vector x 2 3))]) + (list + (begin (write 'b) (vector-ref v 0)) + (begin (write 'c) (vector-ref v 1)) + (begin (write 'd) (vector-ref v 2))))))) + '(lambda (x) + (#2%write 'a) + (#2%list + (begin (#2%write 'b) x) + (begin (#2%write 'c) 2) + (begin (#2%write 'd) 3)))) + ((lambda (x) (and (member x '("abc" "cab")) #t)) + (with-output-to-string + (lambda () + (vector-ref (begin (write 'a) (immutable-vector (begin (write 'b) 123))) + (begin (write 'c) 0))))) ) (mat let-pushing @@ -2962,6 +2987,74 @@ [n (if v v 72)]) (#2%display "1") (#2%list q n)))) + ((lambda (x ls) (and (member x ls) #t)) + (with-input-from-string "#(0 1 2 #\\e)" + (lambda () + (with-output-to-string + (lambda () + (define-syntax check + (identifier-syntax + (unless (read) ;; !#eof is true + (raise 'issue)))) + (display + (let* ([x (read)] ;; confound cp0 + [e (if (and (vector? x) (= (vector-length x) 4)) + (vector-ref x 3) + (raise 'issue))] + [e ((begin (write 'a) check (begin (write 'b) (lambda (x) (display x) (char-upcase x)))) + (begin (write 'c) check (begin (write 'd) check e)))]) + (if (char? e) + e + 'bad))))))) + '("abcdeE" "cdabeE")) + (equivalent-expansion? + (parameterize ([#%$suppress-primitive-inlining #f] [run-cp0 (lambda (cp0 x) (cp0 (cp0 x)))] [optimize-level 2]) + (expand/optimize + '(let () + (define-syntax ;; stripped down + (syntax-rules (assert copy* is? make) + [(_ assert e0) + (unless ( is? e0) (raise 'bad))] + [(_ copy* e0 [a e1]) + (eq? (datum a) 'a) + (let ([v e0]) + ( assert v) + ( make + [a (let ([a (#3%vector-ref v 1)]) e1)] + [b (#3%vector-ref v 2)]))] + [(_ is? e0) + (let ([v e0]) + (and (vector? v) + (fx= (vector-length v) 3) + (eq? (#3%vector-ref v 0) ')))] + [(_ make [a e0] [b e1]) + (equal? (datum (a b)) '(a b)) + (immutable-vector ' e0 e1)] + [(_ field e0) + (memq (datum field) '(a b)) + (let ([v e0]) + ( assert v) + (#3%vector-ref v (case 'field [a 1] [b 2])))])) + (values + (lambda (x) + (let* ([x ( copy* x [a 10])] + [x ( copy* x [a (+ a 1)])] + [x ( copy* x [a (+ a 2)])] + [x ( copy* x [a (+ a 3)])]) + (+ ( a x) ( b x)))) + ( make [a 1] [b 2]))))) + '(#2%values + (lambda (x) + (if (if (#2%vector? x) + (if (#3%fx= (#3%vector-length x) 3) + (#2%eq? (#3%vector-ref x 0) ') + #f) + #f) + (#2%void) + (#2%raise 'bad)) + (let ([g (#3%vector-ref x 2)]) + (#2%+ 16 g))) + '#( 1 2))) ) (mat equality-of-refs diff --git a/mats/patch-compile-0-t-f-f b/mats/patch-compile-0-t-f-f index 164e49aa5..48afd5126 100644 --- a/mats/patch-compile-0-t-f-f +++ b/mats/patch-compile-0-t-f-f @@ -1,5 +1,5 @@ -*** output-compile-0-f-f-f-simple/errors-compile-0-f-f-f Fri Dec 22 19:53:14 2023 ---- output-compile-0-t-f-f-spi-rmg/errors-compile-0-t-f-f Fri Dec 22 19:53:35 2023 +*** output-compile-0-f-f-f-simple/errors-compile-0-f-f-f Sat Jan 6 12:58:31 2024 +--- output-compile-0-t-f-f-spi-rmg/errors-compile-0-t-f-f Sat Jan 6 12:58:49 2024 *************** *** 180,186 **** 3.mo:Expected error in mat case-lambda: "incorrect number of arguments 2 to #". @@ -4085,28 +4085,40 @@ cp0.mo:Expected error in mat expand-output: "expand-output: # is not a textual output port or #f". cp0.mo:Expected error in mat expand/optimize-output: "expand/optimize-output: #t is not a textual output port or #f". *************** -*** 4281,4289 **** - 5_6.mo:Expected error in mat vector-copy: "vector-copy: invalid start value -1". - 5_6.mo:Expected error in mat vector-copy: "vector-copy: index 1 + count 3 is beyond the end of #(a b c)". - 5_6.mo:Expected error in mat vector-copy: "vector-copy: invalid count -1". +*** 4287,4301 **** + 5_6.mo:Expected error in mat immutable-vector-copy: "immutable-vector-copy: invalid start value -1". + 5_6.mo:Expected error in mat immutable-vector-copy: "immutable-vector-copy: index 1 + count 3 is beyond the end of #(a b c)". + 5_6.mo:Expected error in mat immutable-vector-copy: "immutable-vector-copy: invalid count -1". ! 5_6.mo:Expected error in mat vector-set/copy: "incorrect argument count in call (vector-set/copy 1)". ! 5_6.mo:Expected error in mat vector-set/copy: "incorrect argument count in call (vector-set/copy (quote #(a b c)))". ! 5_6.mo:Expected error in mat vector-set/copy: "incorrect argument count in call (vector-set/copy (quote #(a b c)) 1)". 5_6.mo:Expected error in mat vector-set/copy: "vector-set/copy: y is not a valid index for #(a b c)". 5_6.mo:Expected error in mat vector-set/copy: "vector-set/copy: -1 is not a valid index for #(a b c)". 5_6.mo:Expected error in mat vector-set/copy: "vector-set/copy: 3 is not a valid index for #(a b c)". ---- 4281,4289 ---- - 5_6.mo:Expected error in mat vector-copy: "vector-copy: invalid start value -1". - 5_6.mo:Expected error in mat vector-copy: "vector-copy: index 1 + count 3 is beyond the end of #(a b c)". - 5_6.mo:Expected error in mat vector-copy: "vector-copy: invalid count -1". +! 5_6.mo:Expected error in mat immutable-vector-set/copy: "incorrect argument count in call (immutable-vector-set/copy 1)". +! 5_6.mo:Expected error in mat immutable-vector-set/copy: "incorrect argument count in call (immutable-vector-set/copy (quote #(a b c)))". +! 5_6.mo:Expected error in mat immutable-vector-set/copy: "incorrect argument count in call (immutable-vector-set/copy (quote #(a b c)) 1)". + 5_6.mo:Expected error in mat immutable-vector-set/copy: "immutable-vector-set/copy: y is not a valid index for #(a b c)". + 5_6.mo:Expected error in mat immutable-vector-set/copy: "immutable-vector-set/copy: -1 is not a valid index for #(a b c)". + 5_6.mo:Expected error in mat immutable-vector-set/copy: "immutable-vector-set/copy: 3 is not a valid index for #(a b c)". +--- 4287,4301 ---- + 5_6.mo:Expected error in mat immutable-vector-copy: "immutable-vector-copy: invalid start value -1". + 5_6.mo:Expected error in mat immutable-vector-copy: "immutable-vector-copy: index 1 + count 3 is beyond the end of #(a b c)". + 5_6.mo:Expected error in mat immutable-vector-copy: "immutable-vector-copy: invalid count -1". ! 5_6.mo:Expected error in mat vector-set/copy: "incorrect number of arguments 1 to #". ! 5_6.mo:Expected error in mat vector-set/copy: "incorrect number of arguments 1 to #". ! 5_6.mo:Expected error in mat vector-set/copy: "incorrect number of arguments 2 to #". 5_6.mo:Expected error in mat vector-set/copy: "vector-set/copy: y is not a valid index for #(a b c)". 5_6.mo:Expected error in mat vector-set/copy: "vector-set/copy: -1 is not a valid index for #(a b c)". 5_6.mo:Expected error in mat vector-set/copy: "vector-set/copy: 3 is not a valid index for #(a b c)". -*************** -*** 4367,4375 **** +! 5_6.mo:Expected error in mat immutable-vector-set/copy: "incorrect number of arguments 1 to #". +! 5_6.mo:Expected error in mat immutable-vector-set/copy: "incorrect number of arguments 1 to #". +! 5_6.mo:Expected error in mat immutable-vector-set/copy: "incorrect number of arguments 2 to #". + 5_6.mo:Expected error in mat immutable-vector-set/copy: "immutable-vector-set/copy: y is not a valid index for #(a b c)". + 5_6.mo:Expected error in mat immutable-vector-set/copy: "immutable-vector-set/copy: -1 is not a valid index for #(a b c)". + 5_6.mo:Expected error in mat immutable-vector-set/copy: "immutable-vector-set/copy: 3 is not a valid index for #(a b c)". +*************** +*** 4383,4391 **** 5_6.mo:Expected error in mat list->flvector: "list->flvector: (1.0 2.0 . 3.0) is not a proper list". 5_6.mo:Expected error in mat list->flvector: "list->flvector: (1.0 2.0 3.0 2.0 3.0 2.0 ...) is circular". 5_6.mo:Expected error in mat flvector->list: "flvector->list: (a b c) is not an flvector". @@ -4116,7 +4128,7 @@ 5_6.mo:Expected error in mat vector-map: "vector-map: #() is not a procedure". 5_6.mo:Expected error in mat vector-map: "vector-map: #() is not a procedure". 5_6.mo:Expected error in mat vector-map: "vector-map: #() is not a procedure". ---- 4367,4375 ---- +--- 4383,4391 ---- 5_6.mo:Expected error in mat list->flvector: "list->flvector: (1.0 2.0 . 3.0) is not a proper list". 5_6.mo:Expected error in mat list->flvector: "list->flvector: (1.0 2.0 3.0 2.0 3.0 2.0 ...) is circular". 5_6.mo:Expected error in mat flvector->list: "flvector->list: (a b c) is not an flvector". @@ -4127,7 +4139,7 @@ 5_6.mo:Expected error in mat vector-map: "vector-map: #() is not a procedure". 5_6.mo:Expected error in mat vector-map: "vector-map: #() is not a procedure". *************** -*** 4384,4392 **** +*** 4400,4408 **** 5_6.mo:Expected error in mat vector-map: "vector-map: lengths of input vectors #() and #(x) differ". 5_6.mo:Expected error in mat vector-map: "vector-map: lengths of input vectors #(y) and #() differ". 5_6.mo:Expected error in mat vector-map: "vector-map: lengths of input vectors #(y) and #() differ". @@ -4137,7 +4149,7 @@ 5_6.mo:Expected error in mat vector-for-each: "vector-for-each: #() is not a procedure". 5_6.mo:Expected error in mat vector-for-each: "vector-for-each: #() is not a procedure". 5_6.mo:Expected error in mat vector-for-each: "vector-for-each: #() is not a procedure". ---- 4384,4392 ---- +--- 4400,4408 ---- 5_6.mo:Expected error in mat vector-map: "vector-map: lengths of input vectors #() and #(x) differ". 5_6.mo:Expected error in mat vector-map: "vector-map: lengths of input vectors #(y) and #() differ". 5_6.mo:Expected error in mat vector-map: "vector-map: lengths of input vectors #(y) and #() differ". @@ -4148,7 +4160,7 @@ 5_6.mo:Expected error in mat vector-for-each: "vector-for-each: #() is not a procedure". 5_6.mo:Expected error in mat vector-for-each: "vector-for-each: #() is not a procedure". *************** -*** 4401,4418 **** +*** 4417,4434 **** 5_6.mo:Expected error in mat vector-for-each: "vector-for-each: lengths of input vectors #() and #(x) differ". 5_6.mo:Expected error in mat vector-for-each: "vector-for-each: lengths of input vectors #(y) and #() differ". 5_6.mo:Expected error in mat vector-for-each: "vector-for-each: lengths of input vectors #(y) and #() differ". @@ -4167,7 +4179,7 @@ 5_6.mo:Expected error in mat vector-sort!: "vector-sort!: 3 is not a mutable vector". 5_6.mo:Expected error in mat vector-sort!: "vector-sort!: (1 2 3) is not a mutable vector". 5_6.mo:Expected error in mat vector-sort!: "vector-sort!: #(a b c) is not a procedure". ---- 4401,4418 ---- +--- 4417,4434 ---- 5_6.mo:Expected error in mat vector-for-each: "vector-for-each: lengths of input vectors #() and #(x) differ". 5_6.mo:Expected error in mat vector-for-each: "vector-for-each: lengths of input vectors #(y) and #() differ". 5_6.mo:Expected error in mat vector-for-each: "vector-for-each: lengths of input vectors #(y) and #() differ". @@ -4187,7 +4199,7 @@ 5_6.mo:Expected error in mat vector-sort!: "vector-sort!: (1 2 3) is not a mutable vector". 5_6.mo:Expected error in mat vector-sort!: "vector-sort!: #(a b c) is not a procedure". *************** -*** 4421,4429 **** +*** 4437,4445 **** 5_6.mo:Expected error in mat vector->immutable-vector: "vector-set-fixnum!: #(1 2 3) is not a mutable vector". 5_6.mo:Expected error in mat vector->immutable-vector: "vector-fill!: #(1 2 3) is not a mutable vector". 5_6.mo:Expected error in mat vector->immutable-vector: "vector-sort!: #(1 2 3) is not a mutable vector". @@ -4197,7 +4209,7 @@ 5_6.mo:Expected error in mat vector-cas!: "vector-cas!: 1 is not a mutable vector". 5_6.mo:Expected error in mat vector-cas!: "vector-cas!: #(4 5 3) is not a mutable vector". 5_6.mo:Expected error in mat vector-cas!: "vector-cas!: #(4 5 3) is not a valid index for #(4 5 3)". ---- 4421,4429 ---- +--- 4437,4445 ---- 5_6.mo:Expected error in mat vector->immutable-vector: "vector-set-fixnum!: #(1 2 3) is not a mutable vector". 5_6.mo:Expected error in mat vector->immutable-vector: "vector-fill!: #(1 2 3) is not a mutable vector". 5_6.mo:Expected error in mat vector->immutable-vector: "vector-sort!: #(1 2 3) is not a mutable vector". @@ -4208,7 +4220,7 @@ 5_6.mo:Expected error in mat vector-cas!: "vector-cas!: #(4 5 3) is not a mutable vector". 5_6.mo:Expected error in mat vector-cas!: "vector-cas!: #(4 5 3) is not a valid index for #(4 5 3)". *************** -*** 4503,4510 **** +*** 4519,4526 **** 5_7.mo:Expected error in mat putprop-getprop: "getprop: 3 is not a symbol". 5_7.mo:Expected error in mat putprop-getprop: "putprop: "hi" is not a symbol". 5_7.mo:Expected error in mat putprop-getprop: "property-list: (a b c) is not a symbol". @@ -4217,7 +4229,7 @@ 5_8.mo:Expected error in mat box-cas!: "box-cas!: 1 is not a mutable box". 5_8.mo:Expected error in mat box-cas!: "box-cas!: #&1 is not a mutable box". 6.mo:Expected error in mat port-operations: "open-input-file: failed for nonexistent file: no such file or directory". ---- 4503,4510 ---- +--- 4519,4526 ---- 5_7.mo:Expected error in mat putprop-getprop: "getprop: 3 is not a symbol". 5_7.mo:Expected error in mat putprop-getprop: "putprop: "hi" is not a symbol". 5_7.mo:Expected error in mat putprop-getprop: "property-list: (a b c) is not a symbol". @@ -4227,7 +4239,7 @@ 5_8.mo:Expected error in mat box-cas!: "box-cas!: #&1 is not a mutable box". 6.mo:Expected error in mat port-operations: "open-input-file: failed for nonexistent file: no such file or directory". *************** -*** 4542,4563 **** +*** 4558,4579 **** 6.mo:Expected error in mat port-operations: "clear-output-port: not permitted on closed port #". 6.mo:Expected error in mat port-operations: "current-output-port: a is not a textual output port". 6.mo:Expected error in mat port-operations: "current-input-port: a is not a textual input port". @@ -4250,7 +4262,7 @@ 6.mo:Expected error in mat port-operations1: "open-input-output-file: furball is not a string". 6.mo:Expected error in mat port-operations1: "open-input-output-file: failed for /probably/not/a/good/path: no such file or directory". 6.mo:Expected error in mat port-operations1: "open-input-output-file: invalid option compressed". ---- 4542,4563 ---- +--- 4558,4579 ---- 6.mo:Expected error in mat port-operations: "clear-output-port: not permitted on closed port #". 6.mo:Expected error in mat port-operations: "current-output-port: a is not a textual output port". 6.mo:Expected error in mat port-operations: "current-input-port: a is not a textual input port". @@ -4274,7 +4286,7 @@ 6.mo:Expected error in mat port-operations1: "open-input-output-file: failed for /probably/not/a/good/path: no such file or directory". 6.mo:Expected error in mat port-operations1: "open-input-output-file: invalid option compressed". *************** -*** 4566,4572 **** +*** 4582,4588 **** 6.mo:Expected error in mat port-operations1: "truncate-file: all-the-way is not a valid length". 6.mo:Expected error in mat port-operations1: "truncate-file: # is not an output port". 6.mo:Expected error in mat port-operations1: "truncate-file: animal-crackers is not an output port". @@ -4282,7 +4294,7 @@ 6.mo:Expected error in mat port-operations1: "truncate-file: not permitted on closed port #". 6.mo:Expected error in mat port-operations1: "get-output-string: # is not a string output port". 6.mo:Expected error in mat port-operations1: "get-output-string: # is not a string output port". ---- 4566,4572 ---- +--- 4582,4588 ---- 6.mo:Expected error in mat port-operations1: "truncate-file: all-the-way is not a valid length". 6.mo:Expected error in mat port-operations1: "truncate-file: # is not an output port". 6.mo:Expected error in mat port-operations1: "truncate-file: animal-crackers is not an output port". @@ -4291,7 +4303,7 @@ 6.mo:Expected error in mat port-operations1: "get-output-string: # is not a string output port". 6.mo:Expected error in mat port-operations1: "get-output-string: # is not a string output port". *************** -*** 4583,4590 **** +*** 4599,4606 **** 6.mo:Expected error in mat string-port-file-position: "file-position: -1 is not a valid position". 6.mo:Expected error in mat fresh-line: "fresh-line: 3 is not a textual output port". 6.mo:Expected error in mat fresh-line: "fresh-line: # is not a textual output port". @@ -4300,7 +4312,7 @@ 6.mo:Expected error in mat pretty-print: "pretty-format: 3 is not a symbol". 6.mo:Expected error in mat pretty-print: "pretty-format: invalid format (bad 0 ... ... 0 format)". 6.mo:Expected error in mat fasl: "separate-eval: Warning in fasl-write: fasl file content is compressed internally; compressing the file (#) is redundant and can slow fasl writing and reading significantly ---- 4583,4590 ---- +--- 4599,4606 ---- 6.mo:Expected error in mat string-port-file-position: "file-position: -1 is not a valid position". 6.mo:Expected error in mat fresh-line: "fresh-line: 3 is not a textual output port". 6.mo:Expected error in mat fresh-line: "fresh-line: # is not a textual output port". @@ -4310,7 +4322,7 @@ 6.mo:Expected error in mat pretty-print: "pretty-format: invalid format (bad 0 ... ... 0 format)". 6.mo:Expected error in mat fasl: "separate-eval: Warning in fasl-write: fasl file content is compressed internally; compressing the file (#) is redundant and can slow fasl writing and reading significantly *************** -*** 7214,7245 **** +*** 7230,7261 **** io.mo:Expected error in mat port-operations: "put-u8: not permitted on closed port #". io.mo:Expected error in mat port-operations: "put-bytevector: not permitted on closed port #". io.mo:Expected error in mat port-operations: "flush-output-port: not permitted on closed port #". @@ -4343,7 +4355,7 @@ io.mo:Expected error in mat port-operations1: "open-file-input/output-port: failed for /probably/not/a/good/path: no such file or directory". io.mo:Expected error in mat port-operations1: "invalid file option uncompressed". io.mo:Expected error in mat port-operations1: "invalid file option truncate". ---- 7214,7245 ---- +--- 7230,7261 ---- io.mo:Expected error in mat port-operations: "put-u8: not permitted on closed port #". io.mo:Expected error in mat port-operations: "put-bytevector: not permitted on closed port #". io.mo:Expected error in mat port-operations: "flush-output-port: not permitted on closed port #". @@ -4377,7 +4389,7 @@ io.mo:Expected error in mat port-operations1: "invalid file option uncompressed". io.mo:Expected error in mat port-operations1: "invalid file option truncate". *************** -*** 7250,7256 **** +*** 7266,7272 **** io.mo:Expected error in mat port-operations1: "set-port-length!: all-the-way is not a valid length". io.mo:Expected error in mat port-operations1: "truncate-port: # is not an output port". io.mo:Expected error in mat port-operations1: "truncate-port: animal-crackers is not an output port". @@ -4385,7 +4397,7 @@ io.mo:Expected error in mat port-operations1: "truncate-port: not permitted on closed port #". io.mo:Expected error in mat port-operations3: "file-port?: "not a port" is not a port". io.mo:Expected error in mat port-operations3: "port-file-descriptor: oops is not a port". ---- 7250,7256 ---- +--- 7266,7272 ---- io.mo:Expected error in mat port-operations1: "set-port-length!: all-the-way is not a valid length". io.mo:Expected error in mat port-operations1: "truncate-port: # is not an output port". io.mo:Expected error in mat port-operations1: "truncate-port: animal-crackers is not an output port". @@ -4394,7 +4406,7 @@ io.mo:Expected error in mat port-operations3: "file-port?: "not a port" is not a port". io.mo:Expected error in mat port-operations3: "port-file-descriptor: oops is not a port". *************** -*** 7448,7472 **** +*** 7464,7488 **** io.mo:Expected error in mat low-level-port-operations: "set-binary-port-output-size!: #vu8(1 2 3) is not a valid size for #". io.mo:Expected error in mat low-level-port-operations: "set-binary-port-output-size!: -1 is not a valid size for #". io.mo:Expected error in mat low-level-port-operations: "set-binary-port-output-size!: 6 is not a valid size for #". @@ -4420,7 +4432,7 @@ io.mo:Expected error in mat make-codec-buffer: "make-codec-buffer: shoe is not a procedure". io.mo:Expected error in mat make-codec-buffer: "transcoded-port: make-codec-buffer # did not return a mutable bytevector of length at least four". io.mo:Expected error in mat make-codec-buffer: "transcoded-port: make-codec-buffer # did not return a mutable bytevector of length at least four". ---- 7448,7472 ---- +--- 7464,7488 ---- io.mo:Expected error in mat low-level-port-operations: "set-binary-port-output-size!: #vu8(1 2 3) is not a valid size for #". io.mo:Expected error in mat low-level-port-operations: "set-binary-port-output-size!: -1 is not a valid size for #". io.mo:Expected error in mat low-level-port-operations: "set-binary-port-output-size!: 6 is not a valid size for #". @@ -4447,7 +4459,7 @@ io.mo:Expected error in mat make-codec-buffer: "transcoded-port: make-codec-buffer # did not return a mutable bytevector of length at least four". io.mo:Expected error in mat make-codec-buffer: "transcoded-port: make-codec-buffer # did not return a mutable bytevector of length at least four". *************** -*** 7491,7506 **** +*** 7507,7522 **** io.mo:Expected error in mat compression: "port-file-compressed!: cannot compress input/output port #". io.mo:Expected error in mat compression: "port-file-compressed!: # is not a file port". io.mo:Expected error in mat compression: "port-file-compressed!: cannot compress input/output port #". @@ -4464,7 +4476,7 @@ io.mo:Expected error in mat custom-binary-ports: "unget-u8: cannot unget 255 on #". io.mo:Expected error in mat custom-binary-ports: "put-u8: # is not a binary output port". io.mo:Expected error in mat custom-binary-ports: "port-length: # does not support operation". ---- 7491,7506 ---- +--- 7507,7522 ---- io.mo:Expected error in mat compression: "port-file-compressed!: cannot compress input/output port #". io.mo:Expected error in mat compression: "port-file-compressed!: # is not a file port". io.mo:Expected error in mat compression: "port-file-compressed!: cannot compress input/output port #". @@ -4482,7 +4494,7 @@ io.mo:Expected error in mat custom-binary-ports: "put-u8: # is not a binary output port". io.mo:Expected error in mat custom-binary-ports: "port-length: # does not support operation". *************** -*** 7572,7593 **** +*** 7588,7609 **** io.mo:Expected error in mat current-ports: "console-output-port: # is not a textual output port". io.mo:Expected error in mat current-ports: "console-error-port: # is not a textual output port". io.mo:Expected error in mat current-transcoder: "current-transcoder: # is not a transcoder". @@ -4505,7 +4517,7 @@ io.mo:Expected error in mat utf-16-codec: "utf-16-codec: invalid endianness #f". io.mo:Expected error in mat to-fold-or-not-to-fold: "get-datum: invalid character name #\newLine at char 0 of #". io.mo:Expected error in mat to-fold-or-not-to-fold: "get-datum: invalid character name #\newLine at char 15 of #". ---- 7572,7593 ---- +--- 7588,7609 ---- io.mo:Expected error in mat current-ports: "console-output-port: # is not a textual output port". io.mo:Expected error in mat current-ports: "console-error-port: # is not a textual output port". io.mo:Expected error in mat current-transcoder: "current-transcoder: # is not a transcoder". @@ -4529,7 +4541,7 @@ io.mo:Expected error in mat to-fold-or-not-to-fold: "get-datum: invalid character name #\newLine at char 0 of #". io.mo:Expected error in mat to-fold-or-not-to-fold: "get-datum: invalid character name #\newLine at char 15 of #". *************** -*** 7763,7769 **** +*** 7779,7785 **** 7.mo:Expected error in mat eval-when: "invalid syntax visit-x". 7.mo:Expected error in mat eval-when: "invalid syntax revisit-x". 7.mo:Expected error in mat compile-whole-program: "compile-whole-program: failed for nosuchfile.wpo: no such file or directory". @@ -4537,7 +4549,7 @@ 7.mo:Expected error in mat compile-whole-program: "separate-eval: Exception in environment: attempt to import invisible library (testfile-wpo-lib) 7.mo:Expected error in mat compile-whole-program: "separate-eval: Exception: library (testfile-wpo-a4) not found 7.mo:Expected error in mat compile-whole-program: "separate-eval: Exception: library (testfile-wpo-c4) not found ---- 7763,7769 ---- +--- 7779,7785 ---- 7.mo:Expected error in mat eval-when: "invalid syntax visit-x". 7.mo:Expected error in mat eval-when: "invalid syntax revisit-x". 7.mo:Expected error in mat compile-whole-program: "compile-whole-program: failed for nosuchfile.wpo: no such file or directory". @@ -4546,7 +4558,7 @@ 7.mo:Expected error in mat compile-whole-program: "separate-eval: Exception: library (testfile-wpo-a4) not found 7.mo:Expected error in mat compile-whole-program: "separate-eval: Exception: library (testfile-wpo-c4) not found *************** -*** 7829,7855 **** +*** 7845,7871 **** 7.mo:Expected error in mat concatenate-object-files: "separate-eval: Exception in verify-loadability: cannot find object file for library (testfile-cof1A) 7.mo:Expected error in mat concatenate-object-files: "separate-eval: Exception in verify-loadability: cannot find object file for library (testfile-cof1B) 7.mo:Expected error in mat top-level-value-functions: "top-level-bound?: "hello" is not a symbol". @@ -4574,7 +4586,7 @@ 7.mo:Expected error in mat top-level-value-functions: "define-top-level-value: hello is not an environment". 7.mo:Expected error in mat top-level-value-functions: "define-top-level-value: # is not a symbol". 7.mo:Expected error in mat top-level-value-functions: "variable i-am-not-bound-i-hope is not bound". ---- 7829,7855 ---- +--- 7845,7871 ---- 7.mo:Expected error in mat concatenate-object-files: "separate-eval: Exception in verify-loadability: cannot find object file for library (testfile-cof1A) 7.mo:Expected error in mat concatenate-object-files: "separate-eval: Exception in verify-loadability: cannot find object file for library (testfile-cof1B) 7.mo:Expected error in mat top-level-value-functions: "top-level-bound?: "hello" is not a symbol". @@ -4603,7 +4615,7 @@ 7.mo:Expected error in mat top-level-value-functions: "define-top-level-value: # is not a symbol". 7.mo:Expected error in mat top-level-value-functions: "variable i-am-not-bound-i-hope is not bound". *************** -*** 8182,8189 **** +*** 8198,8205 **** record.mo:Expected error in mat r6rs-records-procedural: "incorrect number of arguments 1 to #". record.mo:Expected error in mat r6rs-records-procedural: "incorrect number of arguments 1 to #". record.mo:Expected error in mat r6rs-records-procedural: "incorrect number of arguments 3 to #". @@ -4612,7 +4624,7 @@ record.mo:Expected error in mat r6rs-records-procedural: "make-record-constructor-descriptor: record constructor descriptor # is not for parent of record type #". record.mo:Expected error in mat r6rs-records-procedural: "make-record-type-descriptor: cannot extend sealed record type # as foo". record.mo:Expected error in mat r6rs-records-syntactic: "invalid syntax point". ---- 8182,8189 ---- +--- 8198,8205 ---- record.mo:Expected error in mat r6rs-records-procedural: "incorrect number of arguments 1 to #". record.mo:Expected error in mat r6rs-records-procedural: "incorrect number of arguments 1 to #". record.mo:Expected error in mat r6rs-records-procedural: "incorrect number of arguments 3 to #". @@ -4622,7 +4634,7 @@ record.mo:Expected error in mat r6rs-records-procedural: "make-record-type-descriptor: cannot extend sealed record type # as foo". record.mo:Expected error in mat r6rs-records-syntactic: "invalid syntax point". *************** -*** 8273,8392 **** +*** 8289,8408 **** hash.mo:Expected error in mat old-hash-table: "hash-table-for-each: ((a . b)) is not an eq hashtable". hash.mo:Expected error in mat old-hash-table: "incorrect number of arguments 2 to #". hash.mo:Expected error in mat old-hash-table: "incorrect number of arguments 2 to #". @@ -4743,7 +4755,7 @@ hash.mo:Expected error in mat hashtable-arguments: "hashtable-ephemeron?: (hash . table) is not a hashtable". hash.mo:Expected error in mat hash-return-value: "hashtable-ref: invalid hash-function # return value "oops" for any". hash.mo:Expected error in mat hash-return-value: "hashtable-ref: invalid hash-function # return value 3.5 for any". ---- 8273,8392 ---- +--- 8289,8408 ---- hash.mo:Expected error in mat old-hash-table: "hash-table-for-each: ((a . b)) is not an eq hashtable". hash.mo:Expected error in mat old-hash-table: "incorrect number of arguments 2 to #". hash.mo:Expected error in mat old-hash-table: "incorrect number of arguments 2 to #". @@ -4865,7 +4877,7 @@ hash.mo:Expected error in mat hash-return-value: "hashtable-ref: invalid hash-function # return value "oops" for any". hash.mo:Expected error in mat hash-return-value: "hashtable-ref: invalid hash-function # return value 3.5 for any". *************** -*** 8409,8537 **** +*** 8425,8553 **** hash.mo:Expected error in mat hash-return-value: "hashtable-delete!: invalid hash-function # return value "oops" for any". hash.mo:Expected error in mat hash-return-value: "hashtable-delete!: invalid hash-function # return value 3.5 for any". hash.mo:Expected error in mat hash-return-value: "hashtable-delete!: invalid hash-function # return value 1+2i for any". @@ -4995,7 +5007,7 @@ hash.mo:Expected error in mat eqv-hashtable-arguments: "make-ephemeron-eqv-hashtable: invalid size argument -1". hash.mo:Expected error in mat eqv-hashtable-arguments: "make-ephemeron-eqv-hashtable: invalid size argument #t". hash.mo:Expected error in mat eqv-hashtable-arguments: "make-ephemeron-eqv-hashtable: invalid size argument #f". ---- 8409,8537 ---- +--- 8425,8553 ---- hash.mo:Expected error in mat hash-return-value: "hashtable-delete!: invalid hash-function # return value "oops" for any". hash.mo:Expected error in mat hash-return-value: "hashtable-delete!: invalid hash-function # return value 3.5 for any". hash.mo:Expected error in mat hash-return-value: "hashtable-delete!: invalid hash-function # return value 1+2i for any". @@ -5126,7 +5138,7 @@ hash.mo:Expected error in mat eqv-hashtable-arguments: "make-ephemeron-eqv-hashtable: invalid size argument #t". hash.mo:Expected error in mat eqv-hashtable-arguments: "make-ephemeron-eqv-hashtable: invalid size argument #f". *************** -*** 8539,8570 **** +*** 8555,8586 **** hash.mo:Expected error in mat generic-hashtable: "hashtable-delete!: # is not mutable". hash.mo:Expected error in mat generic-hashtable: "hashtable-update!: # is not mutable". hash.mo:Expected error in mat generic-hashtable: "hashtable-update!: # is not mutable". @@ -5159,7 +5171,7 @@ hash.mo:Expected error in mat hash-functions: "string-ci-hash: hello is not a string". hash.mo:Expected error in mat fasl-other-hashtable: "fasl-write: invalid fasl object #". hash.mo:Expected error in mat fasl-other-hashtable: "fasl-write: invalid fasl object #". ---- 8539,8570 ---- +--- 8555,8586 ---- hash.mo:Expected error in mat generic-hashtable: "hashtable-delete!: # is not mutable". hash.mo:Expected error in mat generic-hashtable: "hashtable-update!: # is not mutable". hash.mo:Expected error in mat generic-hashtable: "hashtable-update!: # is not mutable". @@ -5193,7 +5205,7 @@ hash.mo:Expected error in mat fasl-other-hashtable: "fasl-write: invalid fasl object #". hash.mo:Expected error in mat fasl-other-hashtable: "fasl-write: invalid fasl object #". *************** -*** 8682,8689 **** +*** 8698,8705 **** 8.mo:Expected error in mat with-syntax: "invalid syntax a". 8.mo:Expected error in mat with-syntax: "duplicate pattern variable x in (x x)". 8.mo:Expected error in mat with-syntax: "duplicate pattern variable x in (x x)". @@ -5202,7 +5214,7 @@ 8.mo:Expected error in mat generate-temporaries: "generate-temporaries: improper list structure (a b . c)". 8.mo:Expected error in mat generate-temporaries: "generate-temporaries: cyclic list structure (a b c b c b ...)". 8.mo:Expected error in mat syntax->list: "syntax->list: invalid argument #". ---- 8682,8689 ---- +--- 8698,8705 ---- 8.mo:Expected error in mat with-syntax: "invalid syntax a". 8.mo:Expected error in mat with-syntax: "duplicate pattern variable x in (x x)". 8.mo:Expected error in mat with-syntax: "duplicate pattern variable x in (x x)". @@ -5212,7 +5224,7 @@ 8.mo:Expected error in mat generate-temporaries: "generate-temporaries: cyclic list structure (a b c b c b ...)". 8.mo:Expected error in mat syntax->list: "syntax->list: invalid argument #". *************** -*** 9300,9315 **** +*** 9316,9331 **** 8.mo:Expected error in mat rnrs-eval: "attempt to assign unbound identifier foo". 8.mo:Expected error in mat rnrs-eval: "invalid definition in immutable environment (define cons (quote #))". 8.mo:Expected error in mat top-level-syntax-functions: "top-level-syntax: "hello" is not a symbol". @@ -5229,7 +5241,7 @@ 8.mo:Expected error in mat top-level-syntax-functions: "define-top-level-syntax: hello is not an environment". 8.mo:Expected error in mat top-level-syntax-functions: "define-top-level-syntax: # is not a symbol". 8.mo:Expected error in mat top-level-syntax-functions: "define-top-level-syntax: cannot modify immutable environment #". ---- 9300,9315 ---- +--- 9316,9331 ---- 8.mo:Expected error in mat rnrs-eval: "attempt to assign unbound identifier foo". 8.mo:Expected error in mat rnrs-eval: "invalid definition in immutable environment (define cons (quote #))". 8.mo:Expected error in mat top-level-syntax-functions: "top-level-syntax: "hello" is not a symbol". @@ -5247,7 +5259,7 @@ 8.mo:Expected error in mat top-level-syntax-functions: "define-top-level-syntax: # is not a symbol". 8.mo:Expected error in mat top-level-syntax-functions: "define-top-level-syntax: cannot modify immutable environment #". *************** -*** 9408,9430 **** +*** 9424,9446 **** fx.mo:Expected error in mat fx=?: "fx=?: (a) is not a fixnum". fx.mo:Expected error in mat fx=?: "fx=?: is not a fixnum". fx.mo:Expected error in mat fx=?: "fx=?: <-int> is not a fixnum". @@ -5271,7 +5283,7 @@ fx.mo:Expected error in mat $fxu<: "incorrect number of arguments 1 to #". fx.mo:Expected error in mat $fxu<: "incorrect number of arguments 3 to #". fx.mo:Expected error in mat $fxu<: "$fxu<: <-int> is not a fixnum". ---- 9408,9430 ---- +--- 9424,9446 ---- fx.mo:Expected error in mat fx=?: "fx=?: (a) is not a fixnum". fx.mo:Expected error in mat fx=?: "fx=?: is not a fixnum". fx.mo:Expected error in mat fx=?: "fx=?: <-int> is not a fixnum". @@ -5296,7 +5308,7 @@ fx.mo:Expected error in mat $fxu<: "incorrect number of arguments 3 to #". fx.mo:Expected error in mat $fxu<: "$fxu<: <-int> is not a fixnum". *************** -*** 9466,9478 **** +*** 9482,9494 **** fx.mo:Expected error in mat fx-/wraparound: "fx-: <-int> is not a fixnum". fx.mo:Expected error in mat fx-/wraparound: "fx-: <-int> is not a fixnum". fx.mo:Expected error in mat fx*: "fx*: (a . b) is not a fixnum". @@ -5310,7 +5322,7 @@ fx.mo:Expected error in mat r6rs:fx*: "fx*: is not a fixnum". fx.mo:Expected error in mat r6rs:fx*: "fx*: <-int> is not a fixnum". fx.mo:Expected error in mat r6rs:fx*: "fx*: #f is not a fixnum". ---- 9466,9478 ---- +--- 9482,9494 ---- fx.mo:Expected error in mat fx-/wraparound: "fx-: <-int> is not a fixnum". fx.mo:Expected error in mat fx-/wraparound: "fx-: <-int> is not a fixnum". fx.mo:Expected error in mat fx*: "fx*: (a . b) is not a fixnum". @@ -5325,7 +5337,7 @@ fx.mo:Expected error in mat r6rs:fx*: "fx*: <-int> is not a fixnum". fx.mo:Expected error in mat r6rs:fx*: "fx*: #f is not a fixnum". *************** -*** 9527,9539 **** +*** 9543,9555 **** fx.mo:Expected error in mat fx1+: "fx1+: <-int> is not a fixnum". fx.mo:Expected error in mat fx1+: "fx1+: is not a fixnum". fx.mo:Expected error in mat fx1+: "fx1+: a is not a fixnum". @@ -5339,7 +5351,7 @@ fx.mo:Expected error in mat fxmax: "fxmax: a is not a fixnum". fx.mo:Expected error in mat fxmax: "fxmax: is not a fixnum". fx.mo:Expected error in mat fxmax: "fxmax: <-int> is not a fixnum". ---- 9527,9539 ---- +--- 9543,9555 ---- fx.mo:Expected error in mat fx1+: "fx1+: <-int> is not a fixnum". fx.mo:Expected error in mat fx1+: "fx1+: is not a fixnum". fx.mo:Expected error in mat fx1+: "fx1+: a is not a fixnum". @@ -5354,7 +5366,7 @@ fx.mo:Expected error in mat fxmax: "fxmax: is not a fixnum". fx.mo:Expected error in mat fxmax: "fxmax: <-int> is not a fixnum". *************** -*** 9639,9648 **** +*** 9655,9664 **** fx.mo:Expected error in mat fxarithmetic-shift: "fxarithmetic-shift: fixnum overflow with arguments and 10". fx.mo:Expected error in mat fxarithmetic-shift: "fxarithmetic-shift: fixnum overflow with arguments -4097 and ". fx.mo:Expected error in mat fxarithmetic-shift: "fxarithmetic-shift: fixnum overflow with arguments <-int> and 1". @@ -5365,7 +5377,7 @@ fx.mo:Expected error in mat fxbit-field: "fxbit-field: 35.0 is not a fixnum". fx.mo:Expected error in mat fxbit-field: "fxbit-field: 5.0 is not a valid start index". fx.mo:Expected error in mat fxbit-field: "fxbit-field: 8.0 is not a valid end index". ---- 9639,9648 ---- +--- 9655,9664 ---- fx.mo:Expected error in mat fxarithmetic-shift: "fxarithmetic-shift: fixnum overflow with arguments and 10". fx.mo:Expected error in mat fxarithmetic-shift: "fxarithmetic-shift: fixnum overflow with arguments -4097 and ". fx.mo:Expected error in mat fxarithmetic-shift: "fxarithmetic-shift: fixnum overflow with arguments <-int> and 1". @@ -5377,7 +5389,7 @@ fx.mo:Expected error in mat fxbit-field: "fxbit-field: 5.0 is not a valid start index". fx.mo:Expected error in mat fxbit-field: "fxbit-field: 8.0 is not a valid end index". *************** -*** 9656,9689 **** +*** 9672,9705 **** fx.mo:Expected error in mat fxbit-field: "fxbit-field: is not a valid end index". fx.mo:Expected error in mat fxbit-field: "fxbit-field: is not a valid start index". fx.mo:Expected error in mat fxbit-field: "fxbit-field: is not a valid end index". @@ -5412,7 +5424,7 @@ fx.mo:Expected error in mat fxif: "fxif: a is not a fixnum". fx.mo:Expected error in mat fxif: "fxif: 3.4 is not a fixnum". fx.mo:Expected error in mat fxif: "fxif: (a) is not a fixnum". ---- 9656,9689 ---- +--- 9672,9705 ---- fx.mo:Expected error in mat fxbit-field: "fxbit-field: is not a valid end index". fx.mo:Expected error in mat fxbit-field: "fxbit-field: is not a valid start index". fx.mo:Expected error in mat fxbit-field: "fxbit-field: is not a valid end index". @@ -5448,7 +5460,7 @@ fx.mo:Expected error in mat fxif: "fxif: 3.4 is not a fixnum". fx.mo:Expected error in mat fxif: "fxif: (a) is not a fixnum". *************** -*** 9693,9736 **** +*** 9709,9752 **** fx.mo:Expected error in mat fxif: "fxif: <-int> is not a fixnum". fx.mo:Expected error in mat fxif: "fxif: <-int> is not a fixnum". fx.mo:Expected error in mat fxif: "fxif: <-int> is not a fixnum". @@ -5493,7 +5505,7 @@ fx.mo:Expected error in mat fxcopy-bit: "fxcopy-bit: 3.4 is not a fixnum". fx.mo:Expected error in mat fxcopy-bit: "fxcopy-bit: "3" is not a fixnum". fx.mo:Expected error in mat fxcopy-bit: "fxcopy-bit: is not a fixnum". ---- 9693,9736 ---- +--- 9709,9752 ---- fx.mo:Expected error in mat fxif: "fxif: <-int> is not a fixnum". fx.mo:Expected error in mat fxif: "fxif: <-int> is not a fixnum". fx.mo:Expected error in mat fxif: "fxif: <-int> is not a fixnum". @@ -5539,7 +5551,7 @@ fx.mo:Expected error in mat fxcopy-bit: "fxcopy-bit: "3" is not a fixnum". fx.mo:Expected error in mat fxcopy-bit: "fxcopy-bit: is not a fixnum". *************** -*** 9739,9749 **** +*** 9755,9765 **** fx.mo:Expected error in mat fxcopy-bit: "fxcopy-bit: invalid bit index -1". fx.mo:Expected error in mat fxcopy-bit: "fxcopy-bit: invalid bit index ". fx.mo:Expected error in mat fxcopy-bit: "fxcopy-bit: invalid bit index ". @@ -5551,7 +5563,7 @@ fx.mo:Expected error in mat fxcopy-bit-field: "fxcopy-bit-field: "3" is not a fixnum". fx.mo:Expected error in mat fxcopy-bit-field: "fxcopy-bit-field: 3.4 is not a valid start index". fx.mo:Expected error in mat fxcopy-bit-field: "fxcopy-bit-field: 3/4 is not a valid end index". ---- 9739,9749 ---- +--- 9755,9765 ---- fx.mo:Expected error in mat fxcopy-bit: "fxcopy-bit: invalid bit index -1". fx.mo:Expected error in mat fxcopy-bit: "fxcopy-bit: invalid bit index ". fx.mo:Expected error in mat fxcopy-bit: "fxcopy-bit: invalid bit index ". @@ -5564,7 +5576,7 @@ fx.mo:Expected error in mat fxcopy-bit-field: "fxcopy-bit-field: 3.4 is not a valid start index". fx.mo:Expected error in mat fxcopy-bit-field: "fxcopy-bit-field: 3/4 is not a valid end index". *************** -*** 9803,9812 **** +*** 9819,9828 **** fx.mo:Expected error in mat fxdiv0-and-mod0: "fxmod0: (a) is not a fixnum". fx.mo:Expected error in mat fxdiv0-and-mod0: "fxmod0: undefined for 0". fx.mo:Expected error in mat fxdiv0-and-mod0: "fxmod0: undefined for 0". @@ -5575,7 +5587,7 @@ fx.mo:Expected error in mat fx+/carry: "fx+/carry: 1.0 is not a fixnum". fx.mo:Expected error in mat fx+/carry: "fx+/carry: 2.0 is not a fixnum". fx.mo:Expected error in mat fx+/carry: "fx+/carry: 3.0 is not a fixnum". ---- 9803,9812 ---- +--- 9819,9828 ---- fx.mo:Expected error in mat fxdiv0-and-mod0: "fxmod0: (a) is not a fixnum". fx.mo:Expected error in mat fxdiv0-and-mod0: "fxmod0: undefined for 0". fx.mo:Expected error in mat fxdiv0-and-mod0: "fxmod0: undefined for 0". @@ -5587,7 +5599,7 @@ fx.mo:Expected error in mat fx+/carry: "fx+/carry: 2.0 is not a fixnum". fx.mo:Expected error in mat fx+/carry: "fx+/carry: 3.0 is not a fixnum". *************** -*** 9822,9831 **** +*** 9838,9847 **** fx.mo:Expected error in mat fx+/carry: "fx+/carry: <-int> is not a fixnum". fx.mo:Expected error in mat fx+/carry: "fx+/carry: <-int> is not a fixnum". fx.mo:Expected error in mat fx+/carry: "fx+/carry: <-int> is not a fixnum". @@ -5598,7 +5610,7 @@ fx.mo:Expected error in mat fx-/carry: "fx-/carry: 1.0 is not a fixnum". fx.mo:Expected error in mat fx-/carry: "fx-/carry: 2.0 is not a fixnum". fx.mo:Expected error in mat fx-/carry: "fx-/carry: 3.0 is not a fixnum". ---- 9822,9831 ---- +--- 9838,9847 ---- fx.mo:Expected error in mat fx+/carry: "fx+/carry: <-int> is not a fixnum". fx.mo:Expected error in mat fx+/carry: "fx+/carry: <-int> is not a fixnum". fx.mo:Expected error in mat fx+/carry: "fx+/carry: <-int> is not a fixnum". @@ -5610,7 +5622,7 @@ fx.mo:Expected error in mat fx-/carry: "fx-/carry: 2.0 is not a fixnum". fx.mo:Expected error in mat fx-/carry: "fx-/carry: 3.0 is not a fixnum". *************** -*** 9841,9850 **** +*** 9857,9866 **** fx.mo:Expected error in mat fx-/carry: "fx-/carry: <-int> is not a fixnum". fx.mo:Expected error in mat fx-/carry: "fx-/carry: <-int> is not a fixnum". fx.mo:Expected error in mat fx-/carry: "fx-/carry: <-int> is not a fixnum". @@ -5621,7 +5633,7 @@ fx.mo:Expected error in mat fx*/carry: "fx*/carry: 1.0 is not a fixnum". fx.mo:Expected error in mat fx*/carry: "fx*/carry: 2.0 is not a fixnum". fx.mo:Expected error in mat fx*/carry: "fx*/carry: 3.0 is not a fixnum". ---- 9841,9850 ---- +--- 9857,9866 ---- fx.mo:Expected error in mat fx-/carry: "fx-/carry: <-int> is not a fixnum". fx.mo:Expected error in mat fx-/carry: "fx-/carry: <-int> is not a fixnum". fx.mo:Expected error in mat fx-/carry: "fx-/carry: <-int> is not a fixnum". @@ -5633,7 +5645,7 @@ fx.mo:Expected error in mat fx*/carry: "fx*/carry: 2.0 is not a fixnum". fx.mo:Expected error in mat fx*/carry: "fx*/carry: 3.0 is not a fixnum". *************** -*** 9860,9870 **** +*** 9876,9886 **** fx.mo:Expected error in mat fx*/carry: "fx*/carry: <-int> is not a fixnum". fx.mo:Expected error in mat fx*/carry: "fx*/carry: <-int> is not a fixnum". fx.mo:Expected error in mat fx*/carry: "fx*/carry: <-int> is not a fixnum". @@ -5645,7 +5657,7 @@ fx.mo:Expected error in mat fxrotate-bit-field: "fxrotate-bit-field: a is not a fixnum". fx.mo:Expected error in mat fxrotate-bit-field: "fxrotate-bit-field: invalid start index 0.0". fx.mo:Expected error in mat fxrotate-bit-field: "fxrotate-bit-field: invalid end index 2.0". ---- 9860,9870 ---- +--- 9876,9886 ---- fx.mo:Expected error in mat fx*/carry: "fx*/carry: <-int> is not a fixnum". fx.mo:Expected error in mat fx*/carry: "fx*/carry: <-int> is not a fixnum". fx.mo:Expected error in mat fx*/carry: "fx*/carry: <-int> is not a fixnum". @@ -5658,7 +5670,7 @@ fx.mo:Expected error in mat fxrotate-bit-field: "fxrotate-bit-field: invalid start index 0.0". fx.mo:Expected error in mat fxrotate-bit-field: "fxrotate-bit-field: invalid end index 2.0". *************** -*** 9887,9896 **** +*** 9903,9912 **** fx.mo:Expected error in mat fxrotate-bit-field: "fxrotate-bit-field: invalid end index ". fx.mo:Expected error in mat fxrotate-bit-field: "fxrotate-bit-field: invalid end index ". fx.mo:Expected error in mat fxrotate-bit-field: "fxrotate-bit-field: count 1 is greater than difference between end index 5 and start index 5". @@ -5669,7 +5681,7 @@ fx.mo:Expected error in mat fxreverse-bit-field: "fxreverse-bit-field: a is not a fixnum". fx.mo:Expected error in mat fxreverse-bit-field: "fxreverse-bit-field: invalid start index 0.0". fx.mo:Expected error in mat fxreverse-bit-field: "fxreverse-bit-field: invalid end index 2.0". ---- 9887,9896 ---- +--- 9903,9912 ---- fx.mo:Expected error in mat fxrotate-bit-field: "fxrotate-bit-field: invalid end index ". fx.mo:Expected error in mat fxrotate-bit-field: "fxrotate-bit-field: invalid end index ". fx.mo:Expected error in mat fxrotate-bit-field: "fxrotate-bit-field: count 1 is greater than difference between end index 5 and start index 5". @@ -5681,7 +5693,7 @@ fx.mo:Expected error in mat fxreverse-bit-field: "fxreverse-bit-field: invalid start index 0.0". fx.mo:Expected error in mat fxreverse-bit-field: "fxreverse-bit-field: invalid end index 2.0". *************** -*** 9906,9923 **** +*** 9922,9939 **** fx.mo:Expected error in mat fxreverse-bit-field: "fxreverse-bit-field: invalid end index ". fx.mo:Expected error in mat fxreverse-bit-field: "fxreverse-bit-field: invalid end index <-int>". fx.mo:Expected error in mat fxreverse-bit-field: "fxreverse-bit-field: start index 7 is greater than end index 5". @@ -5700,7 +5712,7 @@ fl.mo:Expected error in mat fl=: "fl=: (a) is not a flonum". fl.mo:Expected error in mat fl=: "fl=: a is not a flonum". fl.mo:Expected error in mat fl=: "fl=: a is not a flonum". ---- 9906,9923 ---- +--- 9922,9939 ---- fx.mo:Expected error in mat fxreverse-bit-field: "fxreverse-bit-field: invalid end index ". fx.mo:Expected error in mat fxreverse-bit-field: "fxreverse-bit-field: invalid end index <-int>". fx.mo:Expected error in mat fxreverse-bit-field: "fxreverse-bit-field: start index 7 is greater than end index 5". @@ -5720,7 +5732,7 @@ fl.mo:Expected error in mat fl=: "fl=: a is not a flonum". fl.mo:Expected error in mat fl=: "fl=: a is not a flonum". *************** -*** 9925,9931 **** +*** 9941,9947 **** fl.mo:Expected error in mat fl=: "fl=: 3 is not a flonum". fl.mo:Expected error in mat fl=: "fl=: 7/2 is not a flonum". fl.mo:Expected error in mat fl=: "fl=: 7/2 is not a flonum". @@ -5728,7 +5740,7 @@ fl.mo:Expected error in mat fl<: "fl<: (a) is not a flonum". fl.mo:Expected error in mat fl<: "fl<: a is not a flonum". fl.mo:Expected error in mat fl<: "fl<: a is not a flonum". ---- 9925,9931 ---- +--- 9941,9947 ---- fl.mo:Expected error in mat fl=: "fl=: 3 is not a flonum". fl.mo:Expected error in mat fl=: "fl=: 7/2 is not a flonum". fl.mo:Expected error in mat fl=: "fl=: 7/2 is not a flonum". @@ -5737,7 +5749,7 @@ fl.mo:Expected error in mat fl<: "fl<: a is not a flonum". fl.mo:Expected error in mat fl<: "fl<: a is not a flonum". *************** -*** 9933,9939 **** +*** 9949,9955 **** fl.mo:Expected error in mat fl<: "fl<: 3 is not a flonum". fl.mo:Expected error in mat fl<: "fl<: 7/2 is not a flonum". fl.mo:Expected error in mat fl<: "fl<: 7/2 is not a flonum". @@ -5745,7 +5757,7 @@ fl.mo:Expected error in mat fl>: "fl>: (a) is not a flonum". fl.mo:Expected error in mat fl>: "fl>: a is not a flonum". fl.mo:Expected error in mat fl>: "fl>: a is not a flonum". ---- 9933,9939 ---- +--- 9949,9955 ---- fl.mo:Expected error in mat fl<: "fl<: 3 is not a flonum". fl.mo:Expected error in mat fl<: "fl<: 7/2 is not a flonum". fl.mo:Expected error in mat fl<: "fl<: 7/2 is not a flonum". @@ -5754,7 +5766,7 @@ fl.mo:Expected error in mat fl>: "fl>: a is not a flonum". fl.mo:Expected error in mat fl>: "fl>: a is not a flonum". *************** -*** 9941,9947 **** +*** 9957,9963 **** fl.mo:Expected error in mat fl>: "fl>: 3 is not a flonum". fl.mo:Expected error in mat fl>: "fl>: 7/2 is not a flonum". fl.mo:Expected error in mat fl>: "fl>: 7/2 is not a flonum". @@ -5762,7 +5774,7 @@ fl.mo:Expected error in mat fl<=: "fl<=: (a) is not a flonum". fl.mo:Expected error in mat fl<=: "fl<=: a is not a flonum". fl.mo:Expected error in mat fl<=: "fl<=: a is not a flonum". ---- 9941,9947 ---- +--- 9957,9963 ---- fl.mo:Expected error in mat fl>: "fl>: 3 is not a flonum". fl.mo:Expected error in mat fl>: "fl>: 7/2 is not a flonum". fl.mo:Expected error in mat fl>: "fl>: 7/2 is not a flonum". @@ -5771,7 +5783,7 @@ fl.mo:Expected error in mat fl<=: "fl<=: a is not a flonum". fl.mo:Expected error in mat fl<=: "fl<=: a is not a flonum". *************** -*** 9949,9955 **** +*** 9965,9971 **** fl.mo:Expected error in mat fl<=: "fl<=: 3 is not a flonum". fl.mo:Expected error in mat fl<=: "fl<=: 7/2 is not a flonum". fl.mo:Expected error in mat fl<=: "fl<=: 7/2 is not a flonum". @@ -5779,7 +5791,7 @@ fl.mo:Expected error in mat fl>=: "fl>=: (a) is not a flonum". fl.mo:Expected error in mat fl>=: "fl>=: a is not a flonum". fl.mo:Expected error in mat fl>=: "fl>=: a is not a flonum". ---- 9949,9955 ---- +--- 9965,9971 ---- fl.mo:Expected error in mat fl<=: "fl<=: 3 is not a flonum". fl.mo:Expected error in mat fl<=: "fl<=: 7/2 is not a flonum". fl.mo:Expected error in mat fl<=: "fl<=: 7/2 is not a flonum". @@ -5788,7 +5800,7 @@ fl.mo:Expected error in mat fl>=: "fl>=: a is not a flonum". fl.mo:Expected error in mat fl>=: "fl>=: a is not a flonum". *************** -*** 9957,9996 **** +*** 9973,10012 **** fl.mo:Expected error in mat fl>=: "fl>=: 3 is not a flonum". fl.mo:Expected error in mat fl>=: "fl>=: 7/2 is not a flonum". fl.mo:Expected error in mat fl>=: "fl>=: 7/2 is not a flonum". @@ -5829,7 +5841,7 @@ fl.mo:Expected error in mat fl>=?: "fl>=?: a is not a flonum". fl.mo:Expected error in mat fl>=?: "fl>=?: a is not a flonum". fl.mo:Expected error in mat fl>=?: "fl>=?: 3 is not a flonum". ---- 9957,9996 ---- +--- 9973,10012 ---- fl.mo:Expected error in mat fl>=: "fl>=: 3 is not a flonum". fl.mo:Expected error in mat fl>=: "fl>=: 7/2 is not a flonum". fl.mo:Expected error in mat fl>=: "fl>=: 7/2 is not a flonum". @@ -5871,7 +5883,7 @@ fl.mo:Expected error in mat fl>=?: "fl>=?: a is not a flonum". fl.mo:Expected error in mat fl>=?: "fl>=?: 3 is not a flonum". *************** -*** 10000,10006 **** +*** 10016,10022 **** fl.mo:Expected error in mat fl+: "fl+: (a . b) is not a flonum". fl.mo:Expected error in mat fl+: "fl+: 1 is not a flonum". fl.mo:Expected error in mat fl+: "fl+: 2/3 is not a flonum". @@ -5879,7 +5891,7 @@ fl.mo:Expected error in mat fl-: "fl-: (a . b) is not a flonum". fl.mo:Expected error in mat fl-: "fl-: 1 is not a flonum". fl.mo:Expected error in mat fl-: "fl-: a is not a flonum". ---- 10000,10006 ---- +--- 10016,10022 ---- fl.mo:Expected error in mat fl+: "fl+: (a . b) is not a flonum". fl.mo:Expected error in mat fl+: "fl+: 1 is not a flonum". fl.mo:Expected error in mat fl+: "fl+: 2/3 is not a flonum". @@ -5888,7 +5900,7 @@ fl.mo:Expected error in mat fl-: "fl-: 1 is not a flonum". fl.mo:Expected error in mat fl-: "fl-: a is not a flonum". *************** -*** 10010,10099 **** +*** 10026,10115 **** fl.mo:Expected error in mat fl*: "fl*: (a . b) is not a flonum". fl.mo:Expected error in mat fl*: "fl*: 1 is not a flonum". fl.mo:Expected error in mat fl*: "fl*: 2/3 is not a flonum". @@ -5979,7 +5991,7 @@ fl.mo:Expected error in mat flsingle: "flsingle: a is not a flonum". fl.mo:Expected error in mat flsingle: "flsingle: 3 is not a flonum". fl.mo:Expected error in mat flsingle: "flsingle: 2.0+1.0i is not a flonum". ---- 10010,10099 ---- +--- 10026,10115 ---- fl.mo:Expected error in mat fl*: "fl*: (a . b) is not a flonum". fl.mo:Expected error in mat fl*: "fl*: 1 is not a flonum". fl.mo:Expected error in mat fl*: "fl*: 2/3 is not a flonum". @@ -6071,7 +6083,7 @@ fl.mo:Expected error in mat flsingle: "flsingle: 3 is not a flonum". fl.mo:Expected error in mat flsingle: "flsingle: 2.0+1.0i is not a flonum". *************** -*** 10112,10147 **** +*** 10128,10163 **** fl.mo:Expected error in mat flinfinite?: "flinfinite?: 3 is not a flonum". fl.mo:Expected error in mat flinfinite?: "flinfinite?: 3/4 is not a flonum". fl.mo:Expected error in mat flinfinite?: "flinfinite?: hi is not a flonum". @@ -6108,7 +6120,7 @@ fl.mo:Expected error in mat fleven?: "fleven?: a is not a flonum". fl.mo:Expected error in mat fleven?: "fleven?: 3 is not a flonum". fl.mo:Expected error in mat fleven?: "fleven?: 3.2 is not an integer". ---- 10112,10147 ---- +--- 10128,10163 ---- fl.mo:Expected error in mat flinfinite?: "flinfinite?: 3 is not a flonum". fl.mo:Expected error in mat flinfinite?: "flinfinite?: 3/4 is not a flonum". fl.mo:Expected error in mat flinfinite?: "flinfinite?: hi is not a flonum". @@ -6146,7 +6158,7 @@ fl.mo:Expected error in mat fleven?: "fleven?: 3 is not a flonum". fl.mo:Expected error in mat fleven?: "fleven?: 3.2 is not an integer". *************** -*** 10149,10156 **** +*** 10165,10172 **** fl.mo:Expected error in mat fleven?: "fleven?: 1+1i is not a flonum". fl.mo:Expected error in mat fleven?: "fleven?: +inf.0 is not an integer". fl.mo:Expected error in mat fleven?: "fleven?: +nan.0 is not an integer". @@ -6155,7 +6167,7 @@ fl.mo:Expected error in mat flodd?: "flodd?: a is not a flonum". fl.mo:Expected error in mat flodd?: "flodd?: 3 is not a flonum". fl.mo:Expected error in mat flodd?: "flodd?: 3.2 is not an integer". ---- 10149,10156 ---- +--- 10165,10172 ---- fl.mo:Expected error in mat fleven?: "fleven?: 1+1i is not a flonum". fl.mo:Expected error in mat fleven?: "fleven?: +inf.0 is not an integer". fl.mo:Expected error in mat fleven?: "fleven?: +nan.0 is not an integer". @@ -6165,7 +6177,7 @@ fl.mo:Expected error in mat flodd?: "flodd?: 3 is not a flonum". fl.mo:Expected error in mat flodd?: "flodd?: 3.2 is not an integer". *************** -*** 10158,10164 **** +*** 10174,10180 **** fl.mo:Expected error in mat flodd?: "flodd?: 3+1i is not a flonum". fl.mo:Expected error in mat flodd?: "flodd?: +inf.0 is not an integer". fl.mo:Expected error in mat flodd?: "flodd?: +nan.0 is not an integer". @@ -6173,7 +6185,7 @@ fl.mo:Expected error in mat flmin: "flmin: a is not a flonum". fl.mo:Expected error in mat flmin: "flmin: a is not a flonum". fl.mo:Expected error in mat flmin: "flmin: a is not a flonum". ---- 10158,10164 ---- +--- 10174,10180 ---- fl.mo:Expected error in mat flodd?: "flodd?: 3+1i is not a flonum". fl.mo:Expected error in mat flodd?: "flodd?: +inf.0 is not an integer". fl.mo:Expected error in mat flodd?: "flodd?: +nan.0 is not an integer". @@ -6182,7 +6194,7 @@ fl.mo:Expected error in mat flmin: "flmin: a is not a flonum". fl.mo:Expected error in mat flmin: "flmin: a is not a flonum". *************** -*** 10166,10172 **** +*** 10182,10188 **** fl.mo:Expected error in mat flmin: "flmin: a is not a flonum". fl.mo:Expected error in mat flmin: "flmin: 0.0+1.0i is not a flonum". fl.mo:Expected error in mat flmin: "flmin: 0+1i is not a flonum". @@ -6190,7 +6202,7 @@ fl.mo:Expected error in mat flmax: "flmax: a is not a flonum". fl.mo:Expected error in mat flmax: "flmax: a is not a flonum". fl.mo:Expected error in mat flmax: "flmax: 3 is not a flonum". ---- 10166,10172 ---- +--- 10182,10188 ---- fl.mo:Expected error in mat flmin: "flmin: a is not a flonum". fl.mo:Expected error in mat flmin: "flmin: 0.0+1.0i is not a flonum". fl.mo:Expected error in mat flmin: "flmin: 0+1i is not a flonum". @@ -6199,7 +6211,7 @@ fl.mo:Expected error in mat flmax: "flmax: a is not a flonum". fl.mo:Expected error in mat flmax: "flmax: 3 is not a flonum". *************** -*** 10174,10187 **** +*** 10190,10203 **** fl.mo:Expected error in mat flmax: "flmax: a is not a flonum". fl.mo:Expected error in mat flmax: "flmax: 0.0+1.0i is not a flonum". fl.mo:Expected error in mat flmax: "flmax: 0+1i is not a flonum". @@ -6214,7 +6226,7 @@ fl.mo:Expected error in mat fldenominator: "fldenominator: a is not a flonum". fl.mo:Expected error in mat fldenominator: "fldenominator: 3 is not a flonum". fl.mo:Expected error in mat fldenominator: "fldenominator: 0+1i is not a flonum". ---- 10174,10187 ---- +--- 10190,10203 ---- fl.mo:Expected error in mat flmax: "flmax: a is not a flonum". fl.mo:Expected error in mat flmax: "flmax: 0.0+1.0i is not a flonum". fl.mo:Expected error in mat flmax: "flmax: 0+1i is not a flonum". @@ -6230,7 +6242,7 @@ fl.mo:Expected error in mat fldenominator: "fldenominator: 3 is not a flonum". fl.mo:Expected error in mat fldenominator: "fldenominator: 0+1i is not a flonum". *************** -*** 10227,10233 **** +*** 10243,10249 **** cfl.mo:Expected error in mat cfl-: "cfl-: a is not a cflonum". cfl.mo:Expected error in mat cfl-: "cfl-: a is not a cflonum". cfl.mo:Expected error in mat cfl-: "cfl-: a is not a cflonum". @@ -6238,7 +6250,7 @@ cfl.mo:Expected error in mat cfl-: "cfl-: a is not a cflonum". cfl.mo:Expected error in mat cfl-: "cfl-: a is not a cflonum". cfl.mo:Expected error in mat cfl-: "cfl-: a is not a cflonum". ---- 10227,10233 ---- +--- 10243,10249 ---- cfl.mo:Expected error in mat cfl-: "cfl-: a is not a cflonum". cfl.mo:Expected error in mat cfl-: "cfl-: a is not a cflonum". cfl.mo:Expected error in mat cfl-: "cfl-: a is not a cflonum". @@ -6247,7 +6259,7 @@ cfl.mo:Expected error in mat cfl-: "cfl-: a is not a cflonum". cfl.mo:Expected error in mat cfl-: "cfl-: a is not a cflonum". *************** -*** 10237,10250 **** +*** 10253,10266 **** cfl.mo:Expected error in mat cfl/: "cfl/: a is not a cflonum". cfl.mo:Expected error in mat cfl/: "cfl/: a is not a cflonum". cfl.mo:Expected error in mat cfl/: "cfl/: a is not a cflonum". @@ -6262,7 +6274,7 @@ foreign.mo:Expected error in mat load-shared-object: "load-shared-object: invalid path 3". foreign.mo:Expected error in mat foreign-procedure: "foreign-procedure: no entry for "i do not exist"". foreign.mo:Expected error in mat foreign-procedure: "foreign-procedure: no entry for "i do not exist"". ---- 10237,10250 ---- +--- 10253,10266 ---- cfl.mo:Expected error in mat cfl/: "cfl/: a is not a cflonum". cfl.mo:Expected error in mat cfl/: "cfl/: a is not a cflonum". cfl.mo:Expected error in mat cfl/: "cfl/: a is not a cflonum". @@ -6278,7 +6290,7 @@ foreign.mo:Expected error in mat foreign-procedure: "foreign-procedure: no entry for "i do not exist"". foreign.mo:Expected error in mat foreign-procedure: "foreign-procedure: no entry for "i do not exist"". *************** -*** 10279,10286 **** +*** 10295,10302 **** foreign.mo:Expected error in mat foreign-procedure: "id: invalid foreign-procedure argument foo". foreign.mo:Expected error in mat foreign-procedure: "foreign-procedure: invalid foreign procedure handle abcde". foreign.mo:Expected error in mat foreign-procedure: "float_id: invalid foreign-procedure argument 0". @@ -6287,7 +6299,7 @@ foreign.mo:Expected error in mat foreign-sizeof: "foreign-sizeof: invalid foreign type specifier i-am-not-a-type". foreign.mo:Expected error in mat foreign-sizeof: "foreign-sizeof: invalid foreign type specifier 1". foreign.mo:Expected error in mat foreign-bytevectors: "u8*->u8*: invalid foreign-procedure argument "hello"". ---- 10279,10286 ---- +--- 10295,10302 ---- foreign.mo:Expected error in mat foreign-procedure: "id: invalid foreign-procedure argument foo". foreign.mo:Expected error in mat foreign-procedure: "foreign-procedure: invalid foreign procedure handle abcde". foreign.mo:Expected error in mat foreign-procedure: "float_id: invalid foreign-procedure argument 0". @@ -6297,7 +6309,7 @@ foreign.mo:Expected error in mat foreign-sizeof: "foreign-sizeof: invalid foreign type specifier 1". foreign.mo:Expected error in mat foreign-bytevectors: "u8*->u8*: invalid foreign-procedure argument "hello"". *************** -*** 10787,10799 **** +*** 10803,10815 **** unix.mo:Expected error in mat file-operations: "file-access-time: failed for "testlink": no such file or directory". unix.mo:Expected error in mat file-operations: "file-change-time: failed for "testlink": no such file or directory". unix.mo:Expected error in mat file-operations: "file-modification-time: failed for "testlink": no such file or directory". @@ -6311,7 +6323,7 @@ windows.mo:Expected error in mat registry: "get-registry: pooh is not a string". windows.mo:Expected error in mat registry: "put-registry!: 3 is not a string". windows.mo:Expected error in mat registry: "put-registry!: 3 is not a string". ---- 10787,10799 ---- +--- 10803,10815 ---- unix.mo:Expected error in mat file-operations: "file-access-time: failed for "testlink": no such file or directory". unix.mo:Expected error in mat file-operations: "file-change-time: failed for "testlink": no such file or directory". unix.mo:Expected error in mat file-operations: "file-modification-time: failed for "testlink": no such file or directory". @@ -6326,7 +6338,7 @@ windows.mo:Expected error in mat registry: "put-registry!: 3 is not a string". windows.mo:Expected error in mat registry: "put-registry!: 3 is not a string". *************** -*** 10821,10892 **** +*** 10837,10908 **** ieee.mo:Expected error in mat flonum->fixnum: "flonum->fixnum: result for -inf.0 would be outside of fixnum range". ieee.mo:Expected error in mat flonum->fixnum: "flonum->fixnum: result for +nan.0 would be outside of fixnum range". ieee.mo:Expected error in mat fllp: "fllp: 3 is not a flonum". @@ -6399,7 +6411,7 @@ date.mo:Expected error in mat time: "time>=?: 3 is not a time record". date.mo:Expected error in mat time: "time>=?: # is not a time record". date.mo:Expected error in mat time: "time>=?: types of