From bf9541a370add8baadf6644455cf2642d73fe8d4 Mon Sep 17 00:00:00 2001 From: Bob Burger Date: Fri, 26 Jul 2019 11:24:09 -0400 Subject: [PATCH 01/22] fixed typo in LOG original commit: e44cd987c5e4d95043602887cb1ef67ad619f813 --- LOG | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/LOG b/LOG index 1e340c71b6..d227b31abb 100644 --- a/LOG +++ b/LOG @@ -1378,7 +1378,7 @@ prim5.c, system.stex - restore {Free,Open,Net}BSD build, support Windows cross-compile via MinGW, add configuration options, and add helper makefile targets - expenditor.c, thread.c, stats.c, statics.c, scheme.c, main.c, types.h, + expeditor.c, thread.c, stats.c, statics.c, scheme.c, main.c, types.h, externs.h, globals.h, nocurses.h, version.h, system.h, segment.h, a6ob.def, ta6ob.def, a6nb.def, ta6nb.def, i3nt.def, ti3nt.def, c/Mf-*, build.bat, makefiles/Makefile.in, makefiles/Mf-install.in, From 121be1049f4e0cd0d8aec334c3b0f52f9fb215cb Mon Sep 17 00:00:00 2001 From: Juan Francisco Cantero Hurtado Date: Sat, 10 Aug 2019 18:34:21 +0200 Subject: [PATCH 02/22] Fix typos original commit: 468adc892df9d4a0b4c8f282e11a608636a87049 --- BUILDING | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/BUILDING b/BUILDING index 1a7b85ddc2..e7cfe04c55 100644 --- a/BUILDING +++ b/BUILDING @@ -221,9 +221,9 @@ trouble, try running configure with --libkernel so that the build avoids running ld directly. On OpenBSD, Chez Scheme must be built and installed on a filesystem -that is mounted with wxneeded. +that is mounted with wxallowed. -On NetNSD, note that the makefiles run "paxctl +m" to enable WX pages +On NetBSD, note that the makefiles run "paxctl +m" to enable WX pages (i.e., pages that have both write and execute enabled). WINDOWS From 9a9cf2a1e529a5ccc22fee7c6257fcef8e097642 Mon Sep 17 00:00:00 2001 From: Bob Burger Date: Thu, 15 Aug 2019 10:19:58 -0400 Subject: [PATCH 03/22] fixed tab character in makefiles original commit: f1e91e76cd8e448aee26f3172cefae8ef14ea6e6 --- LOG | 2 ++ c/Mf-a6nt | 2 +- c/Mf-i3nt | 2 +- c/Mf-ta6nt | 2 +- c/Mf-ti3nt | 2 +- 5 files changed, 6 insertions(+), 4 deletions(-) diff --git a/LOG b/LOG index d227b31abb..07d7311872 100644 --- a/LOG +++ b/LOG @@ -1391,3 +1391,5 @@ scheme.c - remove dead stores in files compress-io.c, new-io.c +- fixed tab character in makefiles + c/Mf-*nt diff --git a/c/Mf-a6nt b/c/Mf-a6nt index 3e96e0e64a..6dab00245b 100644 --- a/c/Mf-a6nt +++ b/c/Mf-a6nt @@ -55,7 +55,7 @@ ${KernelO}: ${kernelobj} ${zlibDep} ${LZ4Dep} ../zlib/configure.log: echo "all:" >> ../zlib/Makefile - echo '\t$$(MAKE) -f win32/Makefile.gcc CC="$(CC)" CFLAGS="$(CFLAGS)" AR="$(AR)" RANLIB="$(RANLIB)" RC="$(WINDRES)"' >> ../zlib/Makefile + echo ' $$(MAKE) -f win32/Makefile.gcc CC="$(CC)" CFLAGS="$(CFLAGS)" AR="$(AR)" RANLIB="$(RANLIB)" RC="$(WINDRES)"' >> ../zlib/Makefile touch ../zlib/configure.log ../lz4/lib/liblz4.a: ${LZ4Sources} diff --git a/c/Mf-i3nt b/c/Mf-i3nt index dee0ff05bb..8f0e8fee1f 100644 --- a/c/Mf-i3nt +++ b/c/Mf-i3nt @@ -55,7 +55,7 @@ ${KernelO}: ${kernelobj} ${zlibDep} ${LZ4Dep} ../zlib/configure.log: echo "all:" >> ../zlib/Makefile - echo '\t$$(MAKE) -f win32/Makefile.gcc CC="$(CC)" CFLAGS="$(CFLAGS)" AR="$(AR)" RANLIB="$(RANLIB)" RC="$(WINDRES)"' >> ../zlib/Makefile + echo ' $$(MAKE) -f win32/Makefile.gcc CC="$(CC)" CFLAGS="$(CFLAGS)" AR="$(AR)" RANLIB="$(RANLIB)" RC="$(WINDRES)"' >> ../zlib/Makefile touch ../zlib/configure.log ../lz4/lib/liblz4.a: ${LZ4Sources} diff --git a/c/Mf-ta6nt b/c/Mf-ta6nt index 1c9e689884..c872906788 100644 --- a/c/Mf-ta6nt +++ b/c/Mf-ta6nt @@ -55,7 +55,7 @@ ${KernelO}: ${kernelobj} ${zlibDep} ${LZ4Dep} ../zlib/configure.log: echo "all:" >> ../zlib/Makefile - echo '\t$$(MAKE) -f win32/Makefile.gcc CC="$(CC)" CFLAGS="$(CFLAGS)" AR="$(AR)" RANLIB="$(RANLIB)" RC="$(WINDRES)"' >> ../zlib/Makefile + echo ' $$(MAKE) -f win32/Makefile.gcc CC="$(CC)" CFLAGS="$(CFLAGS)" AR="$(AR)" RANLIB="$(RANLIB)" RC="$(WINDRES)"' >> ../zlib/Makefile touch ../zlib/configure.log ../lz4/lib/liblz4.a: ${LZ4Sources} diff --git a/c/Mf-ti3nt b/c/Mf-ti3nt index 030a3d0338..9ac4353547 100644 --- a/c/Mf-ti3nt +++ b/c/Mf-ti3nt @@ -55,7 +55,7 @@ ${KernelO}: ${kernelobj} ${zlibDep} ${LZ4Dep} ../zlib/configure.log: echo "all:" >> ../zlib/Makefile - echo '\t$$(MAKE) -f win32/Makefile.gcc CC="$(CC)" CFLAGS="$(CFLAGS)" AR="$(AR)" RANLIB="$(RANLIB)" RC="$(WINDRES)"' >> ../zlib/Makefile + echo ' $$(MAKE) -f win32/Makefile.gcc CC="$(CC)" CFLAGS="$(CFLAGS)" AR="$(AR)" RANLIB="$(RANLIB)" RC="$(WINDRES)"' >> ../zlib/Makefile touch ../zlib/configure.log ../lz4/lib/liblz4.a: ${LZ4Sources} From fd172d93b32a6e82ed293ea768fda06e1ef578cd Mon Sep 17 00:00:00 2001 From: Bob Burger Date: Thu, 22 Aug 2019 10:10:06 -0400 Subject: [PATCH 04/22] use case-insensitive search for ".exe" in Windows original commit: 20f86fea125ecf41b2246ad3ba9e9bb3f8a79c04 --- LOG | 2 ++ c/scheme.c | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/LOG b/LOG index 07d7311872..49df9f3ea8 100644 --- a/LOG +++ b/LOG @@ -1393,3 +1393,5 @@ compress-io.c, new-io.c - fixed tab character in makefiles c/Mf-*nt +- use case-insensitive search for ".exe" on Windows + c/scheme.c diff --git a/c/scheme.c b/c/scheme.c index 31319ea184..8ab8aefa7a 100644 --- a/c/scheme.c +++ b/c/scheme.c @@ -1107,7 +1107,7 @@ extern void Sbuild_heap(kernel, custom_init) const char *kernel; void (*custom_i iptr n; n = strlen(name) - 4; - if (n >= 0 && (strcmp(name + n, ".exe") == 0 || strcmp(name + n, ".EXE") == 0)) { + if (n >= 0 && (_stricmp(name + n, ".exe") == 0)) { strcpy(buf, name); buf[n] = 0; name = buf; From ef89a1fa7bee3d91c6c702acea4a6a0b94a935f6 Mon Sep 17 00:00:00 2001 From: Matthew Flatt Date: Fri, 13 Sep 2019 08:08:20 -0600 Subject: [PATCH 05/22] fix __collect_safe on x86_64 for floating point args/results Ensure that floating-point registers used for arguments and results are preserved while activating or deactivating a thread. original commit: 1118aef3496943287323a0e83e53c55284239d66 --- LOG | 2 + mats/foreign.ms | 45 ++++++++++++++++ release_notes/release_notes.stex | 8 ++- s/x86_64.ss | 91 ++++++++++++++++++-------------- 4 files changed, 104 insertions(+), 42 deletions(-) diff --git a/LOG b/LOG index 49df9f3ea8..fe670876d0 100644 --- a/LOG +++ b/LOG @@ -1395,3 +1395,5 @@ c/Mf-*nt - use case-insensitive search for ".exe" on Windows c/scheme.c +- fix __collect_safe for x86_64 and floating-point arguments or results + x86_64.ss, foreign.ms, release_notes.stex diff --git a/mats/foreign.ms b/mats/foreign.ms index 7dc06569ab..7e2b7ff552 100644 --- a/mats/foreign.ms +++ b/mats/foreign.ms @@ -2969,6 +2969,51 @@ (check-union [x i64 43] [y int 0]) (check-union [x float 58.0] [y int 0]) (check-union [x double 68.0] [y int 0]) + + ;; Check that `__collect_safe` saves argument and result floating-point registers + ;; while activating and deactivating a thread + (let () + (define-ftype T (struct [d double] [i integer-8] [n int])) + (define sum_pre_double_double_double_double_double_double_double_double + (foreign-procedure __collect_safe + "f4_sum_pre_double_double_double_double_double_double_double_double_struct_double_i8_int" + (double double double double double double double double (& T)) + double)) + (let* ([p (foreign-alloc (ftype-sizeof T))] + [a (make-ftype-pointer T p)]) + (ftype-set! T (d) a 1.25) + (ftype-set! T (i) a 10) + (ftype-set! T (n) a 100) + (let loop ([i 1000000]) + (cond + [(zero? i) (foreign-free p) #t] + [else + (let ([v (sum_pre_double_double_double_double_double_double_double_double 8.25 9.25 10.25 11.25 12.25 13.25 14.25 15.25 a)]) + (and (= 205.25 v) + (loop (sub1 i))))])))) + (let () + (define-ftype T (struct [d double] [i integer-8] [n int])) + (define-ftype callback (function __collect_safe ((& T)) double)) + (define cb_send (foreign-procedure __collect_safe + "f4_cb_send_struct_double_i8_int" + ((* callback)) double)) + (let ([cb (make-ftype-pointer + callback + (lambda (r) + (+ (ftype-ref T (d) r) + (ftype-ref T (i) r) + (ftype-ref T (n) r))))]) + (let loop ([i 1000000]) + (cond + [(zero? i) + (unlock-object + (foreign-callable-code-object + (ftype-pointer-address cb))) + #t] + [else + (let ([v (cb_send cb)]) + (and (= v 112.25) + (loop (sub1 i))))])))) ) (mat collect-safe diff --git a/release_notes/release_notes.stex b/release_notes/release_notes.stex index 5d35d4eb11..27f32a9abb 100644 --- a/release_notes/release_notes.stex +++ b/release_notes/release_notes.stex @@ -1695,7 +1695,13 @@ in fasl files does not generally make sense. %----------------------------------------------------------------------------- \section{Bug Fixes}\label{section:bugfixes} -\subsection{\protect\code{putenv} memory leak (9.5.3)} +\subsection{\protect\scheme{__collect_safe}, x86\_64, and floating-point arguments or results (9.5.3)} + +The \scheme{__collect_safe} mode for a foreign call or callable now +correctly preserves floating-point registers used for arguments or +results while activating or deactivating a thread on x86\_64. + +\subsection{\protect\scheme{putenv} memory leak (9.5.3)} \scheme{putenv} now calls the host system's \scheme{setenv} instead of \scheme{putenv} on non-Windows hosts and avoids allocating memory that diff --git a/s/x86_64.ss b/s/x86_64.ss index f769f1a6fb..9d7015cb00 100644 --- a/s/x86_64.ss +++ b/s/x86_64.ss @@ -2718,37 +2718,37 @@ (set! ,reg ,(%inline sll ,reg (immediate 16))) ,(loop tmp 2 x-offset) (set! ,reg ,(%inline + ,reg ,tmp))))]))]))))] - [add-int-regs - (lambda (ints iint vint regs) + [add-regs + (lambda (ints ir vr regs) (cond [(fx= 0 ints) regs] [else - (add-int-regs (fx- ints 1) (fx+ iint 1) vint - (cons (vector-ref vint iint) regs))]))] + (add-regs (fx- ints 1) (fx+ ir 1) vr + (cons (vector-ref vr ir) regs))]))] [do-args (lambda (types vint vfp) (if-feature windows - (let loop ([types types] [locs '()] [regs '()] [i 0] [isp 0]) + (let loop ([types types] [locs '()] [regs '()] [fp-regs '()] [i 0] [isp 0]) (if (null? types) - (values isp 0 locs regs) + (values isp 0 locs regs fp-regs) (nanopass-case (Ltype Type) (car types) [(fp-double-float) (if (< i 4) (let ([reg (vector-ref vint i)]) (loop (cdr types) (cons (load-double-reg2 (vector-ref vfp i) reg) locs) - (cons reg regs) (fx+ i 1) isp)) + (cons reg regs) (cons (vector-ref vfp i) fp-regs) (fx+ i 1) isp)) (loop (cdr types) (cons (load-double-stack isp) locs) - regs i (fx+ isp 8)))] + regs fp-regs i (fx+ isp 8)))] [(fp-single-float) (if (< i 4) (loop (cdr types) (cons (load-single-reg (vector-ref vfp i)) locs) - regs (fx+ i 1) isp) + regs (cons (vector-ref vfp i) fp-regs) (fx+ i 1) isp) (loop (cdr types) (cons (load-single-stack isp) locs) - regs i (fx+ isp 8)))] + regs fp-regs i (fx+ isp 8)))] [(fp-ftd& ,ftd) (cond [(memv ($ftd-size ftd) '(1 2 4 8)) @@ -2762,17 +2762,17 @@ ;; float or double (loop (cdr types) (cons (load-content-regs '(sse) ($ftd-size ftd) i i vint vfp) locs) - (add-int-regs 1 i vint regs) (fx+ i 1) isp)] + (add-regs 1 i vint regs) (add-regs 1 i vfp fp-regs) (fx+ i 1) isp)] [else ;; integer (loop (cdr types) (cons (load-content-regs '(integer) ($ftd-size ftd) i i vint vfp) locs) - (add-int-regs 1 i vint regs) (fx+ i 1) isp)])] + (add-regs 1 i vint regs) fp-regs(fx+ i 1) isp)])] [else ;; pass as value on the stack (loop (cdr types) (cons (load-content-stack isp ($ftd-size ftd)) locs) - regs i (fx+ isp (align ($ftd-size ftd) 8)))])] + regs fp-regs i (fx+ isp (align ($ftd-size ftd) 8)))])] [else ;; pass by reference in register or by reference on the stack (cond @@ -2781,42 +2781,42 @@ (let ([reg (vector-ref vint i)]) (loop (cdr types) (cons (load-int-reg (car types) reg) locs) - (cons reg regs) (fx+ i 1) isp))] + (cons reg regs) fp-regs (fx+ i 1) isp))] [else ;; pass by reference on the stack (loop (cdr types) (cons (load-int-stack isp) locs) - regs i (fx+ isp 8))])])] + regs fp-regs i (fx+ isp 8))])])] [else (if (< i 4) (let ([reg (vector-ref vint i)]) (loop (cdr types) (cons (load-int-reg (car types) reg) locs) - (cons reg regs) + (cons reg regs) fp-regs (fx+ i 1) isp)) (loop (cdr types) (cons (load-int-stack isp) locs) - regs i (fx+ isp 8)))]))) - (let loop ([types types] [locs '()] [regs '()] [iint 0] [ifp 0] [isp 0]) + regs fp-regs i (fx+ isp 8)))]))) + (let loop ([types types] [locs '()] [regs '()] [fp-regs '()] [iint 0] [ifp 0] [isp 0]) (if (null? types) - (values isp ifp locs regs) + (values isp ifp locs regs fp-regs) (nanopass-case (Ltype Type) (car types) [(fp-double-float) (if (< ifp 8) (loop (cdr types) (cons (load-double-reg (vector-ref vfp ifp)) locs) - regs iint (fx+ ifp 1) isp) + regs (cons (vector-ref vfp ifp) fp-regs) iint (fx+ ifp 1) isp) (loop (cdr types) (cons (load-double-stack isp) locs) - regs iint ifp (fx+ isp 8)))] + regs fp-regs iint ifp (fx+ isp 8)))] [(fp-single-float) (if (< ifp 8) (loop (cdr types) (cons (load-single-reg (vector-ref vfp ifp)) locs) - regs iint (fx+ ifp 1) isp) + regs (cons (vector-ref vfp ifp) fp-regs) iint (fx+ ifp 1) isp) (loop (cdr types) (cons (load-single-stack isp) locs) - regs iint ifp (fx+ isp 8)))] + regs fp-regs iint ifp (fx+ isp 8)))] [(fp-ftd& ,ftd) (let* ([classes (classify-eightbytes ftd)] [ints (count 'integer classes)] @@ -2826,23 +2826,23 @@ ;; pass on the stack (loop (cdr types) (cons (load-content-stack isp ($ftd-size ftd)) locs) - regs iint ifp (fx+ isp (align ($ftd-size ftd) 8)))] + regs fp-regs iint ifp (fx+ isp (align ($ftd-size ftd) 8)))] [else ;; pass in registers (loop (cdr types) (cons (load-content-regs classes ($ftd-size ftd) iint ifp vint vfp) locs) - (add-int-regs ints iint vint regs) + (add-regs ints iint vint regs) (add-regs fps ifp vfp fp-regs) (fx+ iint ints) (fx+ ifp fps) isp)]))] [else (if (< iint 6) (let ([reg (vector-ref vint iint)]) (loop (cdr types) (cons (load-int-reg (car types) reg) locs) - (cons reg regs) + (cons reg regs) fp-regs (fx+ iint 1) ifp isp)) (loop (cdr types) (cons (load-int-stack isp) locs) - regs iint ifp (fx+ isp 8)))])))))]) + regs fp-regs iint ifp (fx+ isp 8)))])))))]) (define (add-deactivate adjust-active? t0 live* result-live* e) (cond [adjust-active? @@ -2961,14 +2961,14 @@ [fill-result-here? (result-fits-in-registers? result-classes)] [adjust-active? (if-feature pthreads (memq 'adjust-active conv*) #f)]) (with-values (do-args (if fill-result-here? (cdr arg-type*) arg-type*) (make-vint) (make-vfp)) - (lambda (frame-size nfp locs live*) + (lambda (frame-size nfp locs live* fp-live*) (with-values (add-save-fill-target fill-result-here? frame-size locs) (lambda (frame-size locs) (returnem frame-size locs (lambda (t0) (let* ([t (if adjust-active? %deact t0)] ; need a register if `adjust-active?` [c-call - (add-deactivate adjust-active? t0 live* + (add-deactivate adjust-active? t0 (append fp-live* live*) (get-result-regs fill-result-here? result-type result-classes) (if-feature windows (%seq @@ -3298,12 +3298,14 @@ [int* (list %rax %rdx)] [fp* (list %Cfpretval %Cfparg2)] [accum '()] - [live* '()]) + [live* '()] + [fp-live* '()]) (cond [(null? result-classes) (values (lambda () (if (pair? (cdr accum)) `(seq ,(car accum) ,(cadr accum)) (car accum))) - live*)] + live* + fp-live*)] [(eq? (car result-classes) 'integer) (loop (cdr result-classes) (fx+ offset 8) @@ -3311,7 +3313,8 @@ fp* (cons `(set! ,(car int*) ,(%mref ,%sp ,offset)) accum) - (cons (car int*) live*))] + (cons (car int*) live*) + fp-live*)] [(eq? (car result-classes) 'sse) (loop (cdr result-classes) (fx+ offset 8) @@ -3319,29 +3322,35 @@ (cdr fp*) (cons `(inline ,(make-info-loadfl (car fp*)) ,%load-double ,%sp ,%zero (immediate ,offset)) accum) - live*)]))] + live* + (cons (car fp*) fp-live*))]))] [else (values (lambda () ;; Return pointer that was filled; destination was the first argument `(set! ,%Cretval ,(%mref ,%sp ,(if-feature windows (if adjust-active? 96 80) 48)))) - (list %Cretval))])] + (list %Cretval) + '())])] [(fp-double-float) (values (lambda (x) `(inline ,(make-info-loadfl %Cfpretval) ,%load-double ,x ,%zero ,(%constant flonum-data-disp))) - '())] + '() + (list %Cfpretval))] [(fp-single-float) (values (lambda (x) `(inline ,(make-info-loadfl %Cfpretval) ,%load-double->single ,x ,%zero ,(%constant flonum-data-disp))) - '())] + '() + (list %Cfpretval))] [(fp-void) (values (lambda () `(nop)) + '() '())] [else - (values(lambda (x) - `(set! ,%Cretval ,x)) - (list %Cretval))])) + (values (lambda (x) + `(set! ,%Cretval ,x)) + (list %Cretval) + '())])) (define (unactivate result-regs) (let ([e `(seq (set! ,%Carg1 ,(%mref ,%sp ,(+ (push-registers-size result-regs) (if-feature windows 72 176)))) @@ -3361,7 +3370,7 @@ [synthesize-first? (and result-classes (result-fits-in-registers? result-classes))] [locs (do-stack (if synthesize-first? (cdr arg-type*) arg-type*) adjust-active?)]) - (let-values ([(get-result result-regs) (do-result result-type result-classes adjust-active?)]) + (let-values ([(get-result result-regs result-fp-regs) (do-result result-type result-classes adjust-active?)]) (values (lambda () (%seq @@ -3418,7 +3427,7 @@ ((lambda (e) (if adjust-active? (%seq - ,(unactivate result-regs) + ,(unactivate (append result-fp-regs result-regs)) ,e) e)) (%seq From 7d145e37a8b1cd21ed84065c3f236cf30e76e3bd Mon Sep 17 00:00:00 2001 From: dybvig Date: Sat, 21 Sep 2019 15:37:29 -0700 Subject: [PATCH 06/22] Various enhancements and fixes highlighted by profiling performance and functionality improvements (including support for measuring coverage), primitive argument-checking fixes, and object-file changes resulting in reduced load times (and some backward incompatibility): - annotations are now preserved in object files for debug only, for profiling only, for both, or not at all, depending on the settings of generate-inspector-information and compile-profile. in particular, when inspector information is not enabled but profiling is, source information does not leak into error messages and inspector output, though it is still available via the profile tools. The mechanics of this involved repurposing the fasl a? parameter to hold an annotation flags value when it is not #f and remaking annotations with new flags if necessary before emitting them. compile.ss, fasl.ss, misc.ms - altered a number of mats to produce correct results even when the 's' directory is profiled. misc.ms, cp0.ms, record.ms - profile-release-counters is now generation-friendly; that is, it doesn't look for dropped code objects in generations that have not been collected since the last call to profile-release-counters. also, it no longer allocates memory when it releases counters. pdhtml.ss, gc.c, gcwrapper.c, globals.h, prim5.c - removed unused entry points S_ifile, S_ofile, and S_iofile alloc.c, externs.h - mats that test loading profile info into the compiler's database to guide optimization now weed out preexisting entries, in case the 's' directory is profiled. 4.ms, mat.ss, misc.ms, primvars.ms - counters for dropped code objects are now released at the start of each mat group. mat.ss - replaced ehc (enable-heap-check) option with hci (heap-check-interval) option that allows heap checks to be performed periodically rather than on each collection. hci=0 is equivalent to ehc=f (disabling heap checks) and hci=1 is equivalent to ehc=t (enabling heap checks every collection), while hci=100 enables heap checks only every 100th collection. allx and bullyx mats use this feature to reduce heap-checking overhead to a more reasonable level. this is particularly important when the 's' directory is profiled, since the amount of static memory to be checked is greatly increased due to the counters. mats/Mf-base, mat.ss, primvars.ms - added a mat that calls #%show-allocation, which was otherwise not being tested. misc.ms - removed a broken primvars mat and updated two others. in each case, the mat was looking for information about primitives in the wrong (i.e., old) place and silently succeeding when it didn't find any primitives to tests. the revised mats (along with a few others) now check to make sure at least one identifier has the information they look for. the removed mat was checking for library information that is now compiled in, so the mat is now unnecessary. the others were (not) doing argument-error checks. fixing these turned up a handful of problems that have also been fixed: a couple of unbound variables in the mat driver, two broken primdata declarations, a tardy argument check by profile-load-data, and a bug in char-ready?, which was requiring an argument rather than defaulting it to the current input port. primdata.ss, pdhtml.ss, io.ms, primdvars.ms, 4.ms, 6.ms, misc.ms, patch* - added initial support for recording coverage information. when the new parameter generate-covin-files is set, the compiler generates .covin files containing the universe of all source objects for which profile forms are present in the expander output. when profiling and generation of covin files are enabled in the 's' directory, the mats optionally generate .covout files for each mat file giving the subset of the universe covered by the mat file, along with an all.covout in each mat output directory aggregating the coverage for the directory and another all.covout in the top-level mat directory aggregating the coverage for all directories. back.ss, compile.ss, cprep.ss, primdata.ss, s/Mf-base, mat.ss, mats/Mf-base, mats/primvars.ms - support for generating covout files is now built in. with-coverage-output gathers and dumps coverage information, and aggregate-coverage-output combines (aggregates) covout files. pdhtml.ss, primdata.ss, compile.ss, mat.ss, mats/Mf-base, primvars.ms - profile-clear now adjusts active coverage trackers to avoid losing coverage information. pdhtml.ss, prim5.c - nested with-coverage calls are now supported. pdhtml.ss - switched to a more compact representation for covin and covout files; reduces disk space (compressed or not) by about a factor of four and read time by about a factor of two with no increase in write time. primdata.ss, pdhtml.ss, cprep.ss, compile.ss, mat.ss, mats/Mf-base - added support for determining coverage for an entire run, including coverage for expressions hit during boot time. 'all' mats now produce run.covout files in each output directory, and 'allx' mats produce an aggregate run.covout file in the mat directory. pdhtml.ss, mat.ss, mats/Mf-base - profile-release-counters now adjusts active coverage trackers to account for the counters that have been released. pdhtml.ss, prim5.c - replaced the artificial "examples" target with a real "build-examples" target so make won't think it always has to mats that depend upon the examples directory having been compiled. mats make clean now runs make clean in the examples directory. mats/Mf-base importing a library from an object file now just visits the object file rather than doing a full load so that the run-time code for the library is not retained. The run-time code is still read because the current fasl format forces the entire file to be read, but not retaining the code can lower heap size and garbage-collection cost, particularly when many object-code libraries are imported. The downside is that the file must be revisited if the run-time code turns out to be required. This change exposed several places where the code was failing to check if a revisit is needed. syntax.ss, 7.ms, 8.ms, misc.ms, root-experr* - fixed typos: was passing unquoted load rather than quoted load to $load-library along one path (where it is loading source code and therefore irrelevant), and was reporting src-path rather than obj-path in a message about failing to define a library. syntax.ss - compile-file and friends now put all recompile information in the first fasl object after the header so the library manager can find it without loading the entire fasl file. The library manager now does so. It also now checks to see if library object files need to be recreated before loading them rather than loading them and possibly recompiling them after discovering they are out of date, since the latter requires loading the full object file even if it's out of date, while the former takes advantage of the ability to extract just recompile information. as well as reducing overhead, this eliminates possibly undesirable side effects, such as creation and registration of out-of-date nongenerative record-type descriptors. because the library manager expects to find recompile information at the front of an object file, it will not find all recompile information if object files are "catted" together. also, compile-file has to hold in memory the object code for all expressions in the file so that it can emit the unified recompile information, rather than writing to the object file incrementally, which can significantly increase the memory required to compile a large file full of individual top-level forms. This does not affect top-level programs, which were already handled as a whole, or a typical library file that contains just a single library form. compile.ss, syntax.ss - the library manager now checks include files before library dependencies when compile-imported-libraries is false (as it already did when compile-imported-libraries is true) in case a source change affects the set of imported libraries. (A library change can affect the set of include files as well, but checking dependencies before include files can cause unneeded libraries to be loaded.) The include-file check is based on recompile-info rather than dependencies, but the library checks are still based on dependencies. syntax.ss - fixed check for binding of scheme-version. (the check prevents premature treatment of recompile-info records as Lexpand forms to be passed to $interpret-backend.) scheme.c - strip-fasl-file now preserves recompile-info when compile-time info is stripped. strip.ss - removed include-req* from library/ct-info and ctdesc records; it is no longer needed now that all recompile information is maintained separately. expand-lang.ss, syntax.ss, compile.ss, cprep.ss, syntax.ss - changed the fasl format and reworked a lot of code in the expander, compiler, fasl writer, and fasl reader to allow the fasl reader to skip past run-time information when it isn't needed and compile-time information when it isn't needed. Skipping past still involves reading and decoding when encrypted, but the fasl reader no longer parses or allocates code and data in the portions to be skipped. Side effects of associating record uids with rtds are also avoided, as are the side effects of interning symbols present only in the skipped data. Skipping past code objects also reduces or eliminates the need to synchronize data and instruction caches. Since the fasl reader no longer returns compile-time (visit) or run-time (revisit) code and data when not needed, the fasl reader no longer wraps these objects in a pair with a 0 or 1 visit or revisit marker. To support this change, the fasl writer generates separate top-level fasl entries (and graphs) for separate forms in the same top-level source form (e.g., begin or library). This reliably breaks eq-ness of shared structure across these forms, which was previously broken only when visit or revisit code was loaded at different times (this is an incompatible change). Because of the change, fasl "groups" are no longer needed, so they are no longer handled. 7.ss, cmacros.ss, compile.ss, expand-lang.ss, strip.ss, externs.h, fasl.c, scheme.c, hash.ms - the change above is surfaced in an optional fasl-read "situation" argument (visit, revisit, or load). The default is load. visit causes it to skip past revisit code and data; revisit causes it to skip past visit code and data; and load causes it not to skip past either. visit-revisit data produced by (eval-when (visit revisit) ---) is never skipped. 7.ss, primdata.ss, io.stex - to improve compile-time and run-time error checking, the Lexpand recompile-info, library/rt-info, library-ct-info, and program-info forms have been replaced with list-structured forms, e.g., (recompile-info ,rcinfo). expand-lang.ss, compile.ss, cprep.ss, interpret.ss, syntax.ss - added visit-compiled-from-port and revisit-compiled-from-port to complement the existing load-compiled-from-port. 7.ss, primdata.ss, 7.ms, system.stex - increased amount read when seeking an lz4-encrypted input file from 32 to 1024 bytes at a time compress-io.c - replaced the fasl a? parameter value #t with an "all" flag value so it's value is consistently a mask. cmacros.ss, fasl.ss, compile.ss - split off profile mats into a separate file misc.ms, profile.ms (new), root-experr*, mats/Mf-base - added coverage percent computations to mat allx/bullyx output mat.ss, mats/Mf-base, primvars.ms - replaced coverage tables with more generic and generally useful source tables, which map source objects to arbitrary values. pdhtml.ss, compile.ss, cprep.ss, primdata.ss, mat.ss, mats/Mf-base, primvars.ms, profile.ms, syntax.stex - reduced profile counting overhead by using calls to fold-left instead of calls to apply and map and by using fixnum operations for profile counts on 64-bit machines. pdhtml.ss - used a critical section to fix a race condition in the calculations of profile counts that sometimes resulted in bogus (including negative) counts, especially when the 's' directory is profiled. pdhtml.ss - added discard flag to declaration for hashtable-size primdata.ss - redesigned the printed representation of source tables and rewrote get-source-table! to read and store incrementally to reduce memory overhead. compile.ss - added generate-covin-files to the set of parameters preserved by compile-file, etc. compile.ss, system.stex - moved covop argument before the undocumented machine and hostop arguments to compile-port and compile-to-port. removed the undocumented ofn argument from compile-to-port; using (port-name ip) instead. compile.ss, primdata.ss, 7.ms, system.stex - compile-port now tries to come up with a file position to supply to make-read, which it can do if the port's positions are character positions (presently string ports) or if the port is positioned at zero. compile.ss - audited the argument-type-error fuzz mat exceptions and fixed a host of problems this turned up (entries follow). added #f as an invalid argument for every type for which #f is indeed invalid to catch places where the maybe- prefix was missing on the argument type. the mat tries hard to determine if the condition raised (if any) as the result of an invalid argument is appropriate and redirects the remainder to the mat-output (.mo) file prefixed with 'Expected error', causing them to show up in the expected error output so developers will be encouraged to audit them in the future. primvars.ms, mat.ss - added an initial symbol? test on machine type names so we produce an invalid machine type error message rather than something confusing like "machine type #f is not supported". compile.ss - fixed declarations for many primitives that were specified as accepting arguments of more general types than they actually accept, such as number -> real for various numeric operations, symbol -> endianness for various bytevector operations, time -> time-utc for time-utc->date, and list -> list-of-string-pairs for default-library-search-handler. also replaced some of the sub-xxxx types with specific types such as sub-symbol -> endianness in utf16->string, but only where they were causing issues with the primvars argument-type-error fuzz mat. (this should be done more generally.) primdata.ss - fixed incorrect who arguments (was map instead of fold-right, current-date instead of time-utc->date); switched to using define-who/set-who! generally. 4.ss, date.ss - append! now checks all arguments before any mutation 5_2.ss - with-source-path now properly supplies itself as who for the string? argument check; callers like load now do their own checks. 7.ss - added missing integer? check to $fold-bytevector-native-ref whose lack could have resulted in a compile-time error. cp0.ss - fixed typo in output-port-buffer-mode error message io.ss - fixed who argument (was fx< rather than fx maybe-timeout) primdata.ss original commit: 88501743001393fa82e89c90da9185fc0086fbcb --- LOG | 355 +++++++++ c/alloc.c | 58 -- c/compress-io.c | 2 +- c/externs.h | 8 +- c/fasl.c | 142 ++-- c/gc.c | 3 + c/gcwrapper.c | 4 + c/globals.h | 1 + c/prim5.c | 25 +- c/scheme.c | 18 +- configure | 4 - csug/io.stex | 64 +- csug/syntax.stex | 166 ++++- csug/system.stex | 168 ++++- makefiles/Makefile-workarea.in | 22 +- makefiles/Makefile.in | 30 +- mats/4.ms | 15 +- mats/6.ms | 18 +- mats/7.ms | 37 +- mats/8.ms | 4 +- mats/Mf-base | 93 ++- mats/cp0.ms | 8 +- mats/hash.ms | 11 +- mats/mat.ss | 222 ++++-- mats/misc.ms | 711 +----------------- mats/patch-compile-0-f-f-t | 16 +- mats/patch-compile-0-f-t-f | 40 +- mats/patch-compile-0-t-f-f | 760 +++++++++---------- mats/patch-compile-0-t-f-t | 12 +- mats/patch-compile-0-t-t-f | 28 +- mats/patch-interpret-0-f-f-f | 89 ++- mats/patch-interpret-0-f-t-f | 85 ++- mats/patch-interpret-0-t-f-f | 81 +- mats/patch-interpret-0-t-t-f | 81 +- mats/patch-interpret-3-f-f-f | 18 +- mats/patch-interpret-3-f-t-f | 18 +- mats/patch-interpret-3-t-f-f | 18 +- mats/patch-interpret-3-t-t-f | 18 +- mats/primvars.ms | 439 ++++++----- mats/profile.ms | 935 +++++++++++++++++++++++ mats/record.ms | 8 +- mats/root-experr-compile-0-f-f-f | 173 +++-- mats/root-experr-compile-2-f-f-f | 173 +++-- mats/root-experr-compile-3-f-f-f | 8 +- release_notes/release_notes.stex | 143 +++- s/4.ss | 82 +- s/5_2.ss | 22 +- s/7.ss | 157 ++-- s/Mf-base | 25 +- s/back.ss | 5 + s/cmacros.ss | 22 +- s/compile.ss | 1196 ++++++++++++++++-------------- s/cp0.ss | 3 +- s/cprep.ss | 25 +- s/date.ss | 126 ++-- s/expand-lang.ss | 20 +- s/fasl.ss | 42 +- s/interpret.ss | 8 +- s/io.ss | 29 +- s/library.ss | 2 +- s/pdhtml.ss | 396 +++++++++- s/primdata.ss | 150 ++-- s/prims.ss | 6 +- s/read.ss | 37 +- s/strip.ss | 86 +-- s/syntax.ss | 511 +++++++------ scheme.1.in | 7 +- 67 files changed, 5203 insertions(+), 3086 deletions(-) create mode 100644 mats/profile.ms diff --git a/LOG b/LOG index fe670876d0..14147a9476 100644 --- a/LOG +++ b/LOG @@ -1397,3 +1397,358 @@ c/scheme.c - fix __collect_safe for x86_64 and floating-point arguments or results x86_64.ss, foreign.ms, release_notes.stex +- annotations are now preserved in object files for debug + only, for profiling only, for both, or not at all, depending + on the settings of generate-inspector-information and + compile-profile. in particular, when inspector information + is not enabled but profiling is, source information does + not leak into error messages and inspector output, though it is + still available via the profile tools. The mechanics of this + involved repurposing the fasl a? parameter to hold an annotation + flags value when it is not #f and remaking annotations with + new flags if necessary before emitting them. + compile.ss, fasl.ss, misc.ms +- altered a number of mats to produce correct results even + when the 's' directory is profiled. + misc.ms, cp0.ms, record.ms +- profile-release-counters is now generation-friendly; that is, + it doesn't look for dropped code objects in generations that have + not been collected since the last call to profile-release-counters. + also, it no longer allocates memory when it releases counters. + pdhtml.ss, + gc.c, gcwrapper.c, globals.h, prim5.c +- removed unused entry points S_ifile, S_ofile, and S_iofile + alloc.c, externs.h +- mats that test loading profile info into the compiler's database + to guide optimization now weed out preexisting entries, in case + the 's' directory is profiled. + 4.ms, mat.ss, misc.ms, primvars.ms +- counters for dropped code objects are now released at the start + of each mat group. + mat.ss +- replaced ehc (enable-heap-check) option with hci (heap-check-interval) + option that allows heap checks to be performed periodically rather + than on each collection. hci=0 is equivalent to ehc=f (disabling + heap checks) and hci=1 is equivalent to ehc=t (enabling heap + checks every collection), while hci=100 enables heap checks only + every 100th collection. allx and bullyx mats use this feature + to reduce heap-checking overhead to a more reasonable level. this + is particularly important when the 's' directory is profiled, + since the amount of static memory to be checked is greatly increased + due to the counters. + mats/Mf-base, mat.ss, primvars.ms +- added a mat that calls #%show-allocation, which was otherwise not + being tested. + misc.ms +- removed a broken primvars mat and updated two others. in each case, + the mat was looking for information about primitives in the wrong + (i.e., old) place and silently succeeding when it didn't find any + primitives to tests. the revised mats (along with a few others) now + check to make sure at least one identifier has the information they + look for. the removed mat was checking for library information that + is now compiled in, so the mat is now unnecessary. the others were + (not) doing argument-error checks. fixing these turned up a handful of + problems that have also been fixed: a couple of unbound variables in the + mat driver, two broken primdata declarations, a tardy argument check + by profile-load-data, and a bug in char-ready?, which was requiring + an argument rather than defaulting it to the current input port. + primdata.ss, pdhtml.ss, io.ms, + primdvars.ms, 4.ms, 6.ms, misc.ms, patch* +- added initial support for recording coverage information. when the + new parameter generate-covin-files is set, the compiler generates + .covin files containing the universe of all source objects for which + profile forms are present in the expander output. when profiling + and generation of covin files are enabled in the 's' directory, the + mats optionally generate .covout files for each mat file giving + the subset of the universe covered by the mat file, along with an + all.covout in each mat output directory aggregating the coverage + for the directory and another all.covout in the top-level mat + directory aggregating the coverage for all directories. + back.ss, compile.ss, cprep.ss, primdata.ss, s/Mf-base, + mat.ss, mats/Mf-base, mats/primvars.ms +- support for generating covout files is now built in. with-coverage-output + gathers and dumps coverage information, and aggregate-coverage-output + combines (aggregates) covout files. + pdhtml.ss, primdata.ss, compile.ss, + mat.ss, mats/Mf-base, primvars.ms +- profile-clear now adjusts active coverage trackers to avoid losing + coverage information. + pdhtml.ss, + prim5.c +- nested with-coverage calls are now supported. + pdhtml.ss +- switched to a more compact representation for covin and covout files; + reduces disk space (compressed or not) by about a factor of four + and read time by about a factor of two with no increase in write time. + primdata.ss, pdhtml.ss, cprep.ss, compile.ss, + mat.ss, mats/Mf-base +- added support for determining coverage for an entire run, including + coverage for expressions hit during boot time. 'all' mats now produce + run.covout files in each output directory, and 'allx' mats produce + an aggregate run.covout file in the mat directory. + pdhtml.ss, + mat.ss, mats/Mf-base +- profile-release-counters now adjusts active coverage trackers to + account for the counters that have been released. + pdhtml.ss, + prim5.c +- replaced the artificial "examples" target with a real "build-examples" + target so make won't think it always has to mats that depend upon + the examples directory having been compiled. mats make clean now + runs make clean in the examples directory. + mats/Mf-base +- importing a library from an object file now just visits the object + file rather than doing a full load so that the run-time code for + the library is not retained. The run-time code is still read + because the current fasl format forces the entire file to be read, + but not retaining the code can lower heap size and garbage-collection + cost, particularly when many object-code libraries are imported. + The downside is that the file must be revisited if the run-time + code turns out to be required. This change exposed several + places where the code was failing to check if a revisit is needed. + syntax.ss, + 7.ms, 8.ms, misc.ms, root-experr* +- fixed typos: was passing unquoted load rather than quoted load + to $load-library along one path (where it is loading source code + and therefore irrelevant), and was reporting src-path rather than + obj-path in a message about failing to define a library. + syntax.ss +- compile-file and friends now put all recompile information in + the first fasl object after the header so the library manager can + find it without loading the entire fasl file. The library manager + now does so. It also now checks to see if library object files + need to be recreated before loading them rather than loading them and + possibly recompiling them after discovering they are out of date, since + the latter requires loading the full object file even if it's out of + date, while the former takes advantage of the ability to extract just + recompile information. as well as reducing overhead, this eliminates + possibly undesirable side effects, such as creation and registration + of out-of-date nongenerative record-type descriptors. because the + library manager expects to find recompile information at the front of + an object file, it will not find all recompile information if object + files are "catted" together. also, compile-file has to hold in memory + the object code for all expressions in the file so that it can emit the + unified recompile information, rather than writing to the object file + incrementally, which can significantly increase the memory required + to compile a large file full of individual top-level forms. This does + not affect top-level programs, which were already handled as a whole, + or a typical library file that contains just a single library form. + compile.ss, syntax.ss +- the library manager now checks include files before library dependencies + when compile-imported-libraries is false (as it already did when + compile-imported-libraries is true) in case a source change affects + the set of imported libraries. (A library change can affect the set + of include files as well, but checking dependencies before include + files can cause unneeded libraries to be loaded.) The include-file + check is based on recompile-info rather than dependencies, but the + library checks are still based on dependencies. + syntax.ss +- fixed check for binding of scheme-version. (the check prevents + premature treatment of recompile-info records as Lexpand forms + to be passed to $interpret-backend.) + scheme.c +- strip-fasl-file now preserves recompile-info when compile-time info + is stripped. + strip.ss +- removed include-req* from library/ct-info and ctdesc records; it + is no longer needed now that all recompile information is maintained + separately. + expand-lang.ss, syntax.ss, compile.ss, cprep.ss, syntax.ss +- changed the fasl format and reworked a lot of code in the expander, + compiler, fasl writer, and fasl reader to allow the fasl reader + to skip past run-time information when it isn't needed and + compile-time information when it isn't needed. Skipping past + still involves reading and decoding when encrypted, but the fasl + reader no longer parses or allocates code and data in the portions + to be skipped. Side effects of associating record uids with rtds + are also avoided, as are the side effects of interning symbols + present only in the skipped data. Skipping past code objects + also reduces or eliminates the need to synchronize data and + instruction caches. Since the fasl reader no longer returns + compile-time (visit) or run-time (revisit) code and data when not + needed, the fasl reader no longer wraps these objects in a pair + with a 0 or 1 visit or revisit marker. To support this change, + the fasl writer generates separate top-level fasl entries (and + graphs) for separate forms in the same top-level source form + (e.g., begin or library). This reliably breaks eq-ness of shared + structure across these forms, which was previously broken only + when visit or revisit code was loaded at different times (this + is an incompatible change). Because of the change, fasl "groups" + are no longer needed, so they are no longer handled. + 7.ss, cmacros.ss, compile.ss, expand-lang.ss, strip.ss, + externs.h, fasl.c, scheme.c, + hash.ms +- the change above is surfaced in an optional fasl-read "situation" + argument (visit, revisit, or load). The default is load. visit + causes it to skip past revisit code and data; revisit causes it + to skip past visit code and data; and load causes it not to skip + past either. visit-revisit data produced by (eval-when (visit + revisit) ---) is never skipped. + 7.ss, primdata.ss, + io.stex +- to improve compile-time and run-time error checking, the + Lexpand recompile-info, library/rt-info, library-ct-info, and + program-info forms have been replaced with list-structured forms, + e.g., (recompile-info ,rcinfo). + expand-lang.ss, compile.ss, cprep.ss, interpret.ss, syntax.ss +- added visit-compiled-from-port and revisit-compiled-from-port + to complement the existing load-compiled-from-port. + 7.ss, primdata.ss, + 7.ms, + system.stex +- increased amount read when seeking an lz4-encrypted input + file from 32 to 1024 bytes at a time + compress-io.c +- replaced the fasl a? parameter value #t with an "all" flag value + so it's value is consistently a mask. + cmacros.ss, fasl.ss, compile.ss +- split off profile mats into a separate file + misc.ms, profile.ms (new), root-experr*, mats/Mf-base +- added coverage percent computations to mat allx/bullyx output + mat.ss, mats/Mf-base, primvars.ms +- replaced coverage tables with more generic and generally useful + source tables, which map source objects to arbitrary values. + pdhtml.ss, compile.ss, cprep.ss, primdata.ss, + mat.ss, mats/Mf-base, primvars.ms, profile.ms, + syntax.stex +- reduced profile counting overhead by using calls to fold-left + instead of calls to apply and map and by using fixnum operations + for profile counts on 64-bit machines. + pdhtml.ss +- used a critical section to fix a race condition in the calculations + of profile counts that sometimes resulted in bogus (including + negative) counts, especially when the 's' directory is profiled. + pdhtml.ss +- added discard flag to declaration for hashtable-size + primdata.ss +- redesigned the printed representation of source tables and rewrote + get-source-table! to read and store incrementally to reduce memory + overhead. + compile.ss +- added generate-covin-files to the set of parameters preserved + by compile-file, etc. + compile.ss, + system.stex +- moved covop argument before the undocumented machine and hostop + arguments to compile-port and compile-to-port. removed the + undocumented ofn argument from compile-to-port; using + (port-name ip) instead. + compile.ss, primdata.ss, + 7.ms, + system.stex +- compile-port now tries to come up with a file position to supply + to make-read, which it can do if the port's positions are character + positions (presently string ports) or if the port is positioned + at zero. + compile.ss +- audited the argument-type-error fuzz mat exceptions and fixed a + host of problems this turned up (entries follow). added #f as + an invalid argument for every type for which #f is indeed invalid + to catch places where the maybe- prefix was missing on the argument + type. the mat tries hard to determine if the condition raised + (if any) as the result of an invalid argument is appropriate and + redirects the remainder to the mat-output (.mo) file prefixed + with 'Expected error', causing them to show up in the expected + error output so developers will be encouraged to audit them in + the future. + primvars.ms, mat.ss +- added an initial symbol? test on machine type names so we produce + an invalid machine type error message rather than something + confusing like "machine type #f is not supported". + compile.ss +- fixed declarations for many primitives that were specified as + accepting arguments of more general types than they actually + accept, such as number -> real for various numeric operations, + symbol -> endianness for various bytevector operations, + time -> time-utc for time-utc->date, and list -> list-of-string-pairs + for default-library-search-handler. also replaced some of the + sub-xxxx types with specific types such as sub-symbol -> endianness + in utf16->string, but only where they were causing issues with + the primvars argument-type-error fuzz mat. (this should be done + more generally.) + primdata.ss +- fixed incorrect who arguments (was map instead of fold-right, + current-date instead of time-utc->date); switched to using + define-who/set-who! generally. + 4.ss, date.ss +- append! now checks all arguments before any mutation + 5_2.ss +- with-source-path now properly supplies itself as who for the + string? argument check; callers like load now do their own checks. + 7.ss +- added missing integer? check to $fold-bytevector-native-ref whose + lack could have resulted in a compile-time error. + cp0.ss +- fixed typo in output-port-buffer-mode error message + io.ss +- fixed who argument (was fx< rather than fx maybe-timeout) + primdata.ms diff --git a/c/alloc.c b/c/alloc.c index a589b33c9a..c0e52d5e34 100644 --- a/c/alloc.c +++ b/c/alloc.c @@ -656,64 +656,6 @@ ptr S_exactnum(a, b) ptr a, b; { return p; } -ptr S_ifile(icount, name, fd, info, flags, ilast, ibuf) - iptr flags, icount; char *ilast; iptr fd; ptr name, ibuf, info; { - ptr tc = get_thread_context(); - ptr p; - - thread_find_room(tc, type_typed_object, size_port, p); - PORTTYPE(p) = flags | type_port; - PORTNAME(p) = name; - /* PORTHANDLER is really a ptr only when PORTTYPE & PORT_FLAG_PROC_HANDLER is true */ - PORTHANDLER(p) = (ptr)fd; - PORTINFO(p) = info; - PORTICNT(p) = icount; - PORTILAST(p) = (ptr)ilast; - PORTIBUF(p) = ibuf; - /* leave output buffer and last uninitialized for input only ports */ - PORTOCNT(p) = 0; - return p; -} - -ptr S_ofile(ocount, name, fd, info, flags, olast, obuf) - iptr flags, ocount; char *olast; iptr fd; ptr name, obuf, info; { - ptr tc = get_thread_context(); - ptr p; - - thread_find_room(tc, type_typed_object, size_port, p); - PORTTYPE(p) = flags | type_port; - PORTNAME(p) = name; - /* PORTHANDLER is really a ptr only when PORTTYPE & PORT_FLAG_PROC_HANDLER is true */ - PORTHANDLER(p) = (ptr)fd; - PORTINFO(p) = info; - PORTOCNT(p) = ocount; - PORTOLAST(p) = (ptr)olast; - PORTOBUF(p) = obuf; - /* leave input buffer and last uninitialized for output only ports */ - PORTICNT(p) = 0; - return p; -} - -ptr S_iofile(icount, ocount, name, fd, info, flags, ilast, ibuf, olast, obuf) - iptr flags, icount, ocount; char *ilast, *olast; iptr fd; ptr name, ibuf, obuf, info; { - ptr tc = get_thread_context(); - ptr p; - - thread_find_room(tc, type_typed_object, size_port, p); - PORTTYPE(p) = flags | type_port; - PORTNAME(p) = name; - /* PORTHANDLER is really a ptr only when PORTTYPE & PORT_FLAG_PROC_HANDLER is true */ - PORTHANDLER(p) = (ptr)fd; - PORTINFO(p) = info; - PORTICNT(p) = icount; - PORTILAST(p) = (ptr)ilast; - PORTIBUF(p) = ibuf; - PORTOCNT(p) = ocount; - PORTOLAST(p) = (ptr)olast; - PORTOBUF(p) = obuf; - return p; -} - /* S_string returns a new string of length n. If s is not NULL, it is * copied into the new string. If n < 0, then s must be non-NULL, * and the length of s (by strlen) determines the length of the string */ diff --git a/c/compress-io.c b/c/compress-io.c index 960dfb85b5..d4d4e9ef55 100644 --- a/c/compress-io.c +++ b/c/compress-io.c @@ -561,7 +561,7 @@ long S_glzseek(glzFile glz, long offset, INT whence) { lz4->stream_pos = 0; } while ((size_t)offset > lz4->stream_pos) { - char buffer[32]; + static char buffer[1024]; size_t amt = (size_t)offset - lz4->stream_pos; if (amt > sizeof(buffer)) amt = sizeof(buffer); if (glzread_lz4(lz4, buffer, (UINT)amt) < 0) diff --git a/c/externs.h b/c/externs.h index 2c6cb919c9..ddd51603b8 100644 --- a/c/externs.h +++ b/c/externs.h @@ -89,12 +89,6 @@ extern ptr S_mkcontinuation PROTO((ISPC s, IGEN g, ptr nuate, ptr stack, extern ptr S_inexactnum PROTO((double rp, double ip)); extern ptr S_exactnum PROTO((ptr a, ptr b)); extern ptr S_thread PROTO((ptr tc)); -extern ptr S_ifile PROTO((iptr icount, ptr name, iptr fd, ptr info, iptr flags, char *ilast, - ptr ibuf)); -extern ptr S_ofile PROTO((iptr ocount, ptr name, iptr fd, ptr info, iptr flags, char *olast, - ptr obuf)); -extern ptr S_iofile PROTO((iptr icount, iptr ocount, ptr name, iptr fd, ptr info, iptr flags, - char *ilast, ptr ibuf, char *olast, ptr obuf)); extern ptr S_string PROTO((const char *s, iptr n)); extern ptr S_bignum PROTO((iptr n, IBOOL sign)); extern ptr S_code PROTO((ptr tc, iptr type, iptr n)); @@ -103,7 +97,7 @@ extern ptr S_weak_cons PROTO((ptr car, ptr cdr)); /* fasl.c */ extern void S_fasl_init PROTO((void)); -ptr S_fasl_read PROTO((ptr file, IBOOL gzflag, ptr path)); +ptr S_fasl_read PROTO((ptr file, IBOOL gzflag, IFASLCODE situation, ptr path)); ptr S_bv_fasl_read PROTO((ptr bv, ptr path)); /* S_boot_read's f argument is really gzFile, but zlib.h is not included everywhere */ ptr S_boot_read PROTO((glzFile file, const char *path)); diff --git a/c/fasl.c b/c/fasl.c index b08ffe33b9..10fead8377 100644 --- a/c/fasl.c +++ b/c/fasl.c @@ -20,10 +20,13 @@ * * -> * * - * -> {header}\0\0\0chez + * -> {header}\0\0\0chez( ...) * - * -> {fasl-size} # size in bytes of following - * + * -> * + * + * -> {fasl-size} # size is the size in bytes of the following + * + * -> {visit}{revisit}{visit-revisit} * * -> {pair}... * @@ -63,7 +66,7 @@ * * -> {library-code} * - * -> {graph} + * -> {graph} * * -> {graph-def} * @@ -211,7 +214,7 @@ typedef struct faslFileObj { static INT uf_read PROTO((unbufFaslFile uf, octet *s, iptr n)); static octet uf_bytein PROTO((unbufFaslFile uf)); static uptr uf_uptrin PROTO((unbufFaslFile uf)); -static ptr fasl_entry PROTO((ptr tc, unbufFaslFile uf)); +static ptr fasl_entry PROTO((ptr tc, IFASLCODE situation, unbufFaslFile uf)); static ptr bv_fasl_entry PROTO((ptr tc, ptr bv, unbufFaslFile uf)); static void fillFaslFile PROTO((faslFile f)); static void bytesin PROTO((octet *s, iptr n, faslFile f)); @@ -286,7 +289,7 @@ void S_fasl_init() { #endif } -ptr S_fasl_read(ptr file, IBOOL gzflag, ptr path) { +ptr S_fasl_read(ptr file, IBOOL gzflag, IFASLCODE situation, ptr path) { ptr tc = get_thread_context(); ptr x; struct unbufFaslFileObj uffo; @@ -300,7 +303,7 @@ ptr S_fasl_read(ptr file, IBOOL gzflag, ptr path) { uffo.type = UFFO_TYPE_FD; uffo.fd = GET_FD(file); } - x = fasl_entry(tc, &uffo); + x = fasl_entry(tc, situation, &uffo); tc_mutex_release() return x; } @@ -325,7 +328,7 @@ ptr S_boot_read(glzFile file, const char *path) { uffo.path = Sstring_utf8(path, -1); uffo.type = UFFO_TYPE_GZ; uffo.file = file; - return fasl_entry(tc, &uffo); + return fasl_entry(tc, fasl_type_visit_revisit, &uffo); } #define GZ_IO_SIZE_T unsigned int @@ -377,6 +380,21 @@ static INT uf_read(unbufFaslFile uf, octet *s, iptr n) { return 0; } +static void uf_skipbytes(unbufFaslFile uf, iptr n) { + switch (uf->type) { + case UFFO_TYPE_GZ: + if (S_glzseek(uf->file, n, SEEK_CUR) == -1) { + S_error1("", "error seeking ~a", uf->path); + } + break; + case UFFO_TYPE_FD: + if (LSEEK(uf->fd, n, SEEK_CUR) == -1) { + S_error1("", "error seeking ~a", uf->path); + } + break; + } +} + static octet uf_bytein(unbufFaslFile uf) { octet buf[1]; if (uf_read(uf, buf, 1) < 0) @@ -418,55 +436,71 @@ char *S_lookup_machine_type(uptr n) { return "unknown"; } -static ptr fasl_entry(ptr tc, unbufFaslFile uf) { +static ptr fasl_entry(ptr tc, IFASLCODE situation, unbufFaslFile uf) { ptr x; ptr strbuf = S_G.null_string; - octet tybuf[1]; IFASLCODE ty; - struct faslFileObj ffo; octet buf[SBUFSIZ]; + octet tybuf[1]; IFASLCODE ty; iptr size; - if (uf_read(uf, tybuf, 1) < 0) return Seof_object; - ty = tybuf[0]; + for (;;) { + if (uf_read(uf, tybuf, 1) < 0) return Seof_object; + ty = tybuf[0]; - while (ty == fasl_type_header) { - uptr n; ICHAR c; + while (ty == fasl_type_header) { + uptr n; ICHAR c; + + /* check for remainder of magic number */ + if (uf_bytein(uf) != 0 || + uf_bytein(uf) != 0 || + uf_bytein(uf) != 0 || + uf_bytein(uf) != 'c' || + uf_bytein(uf) != 'h' || + uf_bytein(uf) != 'e' || + uf_bytein(uf) != 'z') + S_error1("", "malformed fasl-object header (missing magic word) found in ~a", uf->path); + + if ((n = uf_uptrin(uf)) != scheme_version) + S_error2("", "incompatible fasl-object version ~a found in ~a", S_string(S_format_scheme_version(n), -1), uf->path); + + if ((n = uf_uptrin(uf)) != machine_type_any && n != machine_type) + S_error2("", "incompatible fasl-object machine-type ~a found in ~a", S_string(S_lookup_machine_type(n), -1), uf->path); + + if (uf_bytein(uf) != '(') + S_error1("", "malformed fasl-object header (missing open paren) found in ~a", uf->path); + + while ((c = uf_bytein(uf)) != ')') + if (c < 0) S_error1("", "malformed fasl-object header (missing close paren) found in ~a", uf->path); - /* check for remainder of magic number */ - if (uf_bytein(uf) != 0 || - uf_bytein(uf) != 0 || - uf_bytein(uf) != 0 || - uf_bytein(uf) != 'c' || - uf_bytein(uf) != 'h' || - uf_bytein(uf) != 'e' || - uf_bytein(uf) != 'z') - S_error1("", "malformed fasl-object header found in ~a", uf->path); + ty = uf_bytein(uf); + } - if ((n = uf_uptrin(uf)) != scheme_version) - S_error2("", "incompatible fasl-object version ~a found in ~a", S_string(S_format_scheme_version(n), -1), uf->path); + switch (ty) { + case fasl_type_visit: + case fasl_type_revisit: + case fasl_type_visit_revisit: + break; + default: + S_error2("", "malformed fasl-object header (missing situation, got ~s) found in ~a", FIX(ty), uf->path); + return (ptr)0; + } - if ((n = uf_uptrin(uf)) != machine_type_any && n != machine_type) - S_error2("", "incompatible fasl-object machine-type ~a found in ~a", S_string(S_lookup_machine_type(n), -1), uf->path); + if (uf_bytein(uf) != fasl_type_fasl_size) + S_error1("", "malformed fasl-object header (missing fasl-size) found in ~a", uf->path); - if (uf_bytein(uf) != '(') - S_error1("", "malformed fasl-object header found in ~a", uf->path); + size = uf_uptrin(uf); - while ((c = uf_bytein(uf)) != ')') - if (c < 0) S_error1("", "malformed fasl-object header found in ~a", uf->path); + if (ty == situation || situation == fasl_type_visit_revisit || ty == fasl_type_visit_revisit) { + struct faslFileObj ffo; octet buf[SBUFSIZ]; - ty = uf_bytein(uf); + ffo.size = size; + ffo.buf = buf; + ffo.next = ffo.end = ffo.buf; + ffo.uf = uf; + faslin(tc, &x, S_G.null_vector, &strbuf, &ffo); + S_flush_instruction_cache(tc); + return x; + } else { + uf_skipbytes(uf, size); + } } - - if (ty != fasl_type_fasl_size) - S_error1("", "malformed fasl-object header found in ~a", uf->path); - - ffo.size = uf_uptrin(uf); - - ffo.buf = buf; - ffo.next = ffo.end = ffo.buf; - ffo.uf = uf; - - faslin(tc, &x, S_G.null_vector, &strbuf, &ffo); - - S_flush_instruction_cache(tc); - return x; } static ptr bv_fasl_entry(ptr tc, ptr bv, unbufFaslFile uf) { @@ -479,7 +513,6 @@ static ptr bv_fasl_entry(ptr tc, ptr bv, unbufFaslFile uf) { ffo.uf = uf; faslin(tc, &x, S_G.null_vector, &strbuf, &ffo); - S_flush_instruction_cache(tc); return x; } @@ -640,7 +673,6 @@ static void faslin(ptr tc, ptr *x, ptr t, ptr *pstrbuf, faslFile f) { faslin(tc, &EXACTNUM_REAL_PART(*x), t, pstrbuf, f); faslin(tc, &EXACTNUM_IMAG_PART(*x), t, pstrbuf, f); return; - case fasl_type_group: case fasl_type_vector: case fasl_type_immutable_vector: { iptr n; ptr *p; @@ -957,18 +989,6 @@ static void faslin(ptr tc, ptr *x, ptr t, ptr *pstrbuf, faslFile f) { case fasl_type_graph_ref: *x = Svector_ref(t, uptrin(f)); return; - case fasl_type_visit: { - ptr p; - *x = p = Scons(FIX(visit_tag), FIX(0)); - faslin(tc, &INITCDR(p), t, pstrbuf, f); - return; - } - case fasl_type_revisit: { - ptr p; - *x = p = Scons(FIX(revisit_tag), FIX(0)); - faslin(tc, &INITCDR(p), t, pstrbuf, f); - return; - } default: S_error2("", "invalid object type ~d in fasl file ~a", FIX(ty), f->uf->path); } diff --git a/c/gc.c b/c/gc.c index 82fb705eda..ec2ec5d4b1 100644 --- a/c/gc.c +++ b/c/gc.c @@ -1244,6 +1244,9 @@ void GCENTRY(ptr tc, IGEN mcg, IGEN tg) { } S_resize_oblist(); + + /* tell profile_release_counters to look for bwp'd counters at least through tg */ + if (S_G.prcgeneration < tg) S_G.prcgeneration = tg; } #define sweep_space(s, body)\ diff --git a/c/gcwrapper.c b/c/gcwrapper.c index 5516e86fd7..a49c8be2c0 100644 --- a/c/gcwrapper.c +++ b/c/gcwrapper.c @@ -33,6 +33,7 @@ void S_gc_init() { S_checkheap = 0; /* 0 for disabled, 1 for enabled */ S_checkheap_errors = 0; /* count of errors detected by checkheap */ checkheap_noisy = 0; /* 0 for error output only; 1 for more noisy output */ + S_G.prcgeneration = static_generation; if (S_checkheap) { printf(checkheap_noisy ? "NB: check_heap is enabled and noisy\n" : "NB: check_heap_is_enabled\n"); @@ -801,6 +802,9 @@ void S_do_gc(IGEN mcg, IGEN tg) { } } + /* tell profile_release_counters to scan only through new_g */ + if (S_G.prcgeneration == old_g) S_G.prcgeneration = new_g; + /* finally reset max_nonstatic_generation */ S_G.min_free_gen = S_G.new_min_free_gen; S_G.max_nonstatic_generation = new_g; diff --git a/c/globals.h b/c/globals.h index 7e570628be..27f4429679 100644 --- a/c/globals.h +++ b/c/globals.h @@ -127,6 +127,7 @@ EXTERN struct S_G_struct { uptr countof_size[countof_types]; ptr static_id; ptr countof_names; + IGEN prcgeneration; /* intern.c */ iptr *oblist_length_pointer; diff --git a/c/prim5.c b/c/prim5.c index 541c79d2b0..a2f10a96b7 100644 --- a/c/prim5.c +++ b/c/prim5.c @@ -116,7 +116,7 @@ static ptr s_multibytetowidechar PROTO((unsigned cp, ptr inbv)); static ptr s_widechartomultibyte PROTO((unsigned cp, ptr inbv)); #endif static ptr s_profile_counters PROTO((void)); -static void s_set_profile_counters PROTO((ptr counters)); +static ptr s_profile_release_counters PROTO((void)); #define require(test,who,msg,arg) if (!(test)) S_error1(who, msg, arg) @@ -1446,8 +1446,25 @@ static ptr s_profile_counters(void) { return S_G.profile_counters; } -static void s_set_profile_counters(ptr counters) { - S_G.profile_counters = counters; +/* s_profile_release_counters assumes and maintains the property that each pair's + tail is not younger than the pair and thereby avoids dirty sets. */ +static ptr s_profile_release_counters(void) { + ptr tossed, *p_keep, *p_toss, ls; + p_keep = &S_G.profile_counters; + p_toss = &tossed; + for (ls = *p_keep; ls != Snil && (MaybeSegInfo(ptr_get_segment(ls)))->generation <= S_G.prcgeneration; ls = Scdr(ls)) { + if (Sbwp_objectp(CAAR(ls))) { + *p_toss = ls; + p_toss = &Scdr(ls); + } else { + *p_keep = ls; + p_keep = &Scdr(ls); + } + } + *p_keep = ls; + *p_toss = Snil; + S_G.prcgeneration = 0; + return tossed; } void S_dump_tc(ptr tc) { @@ -1670,7 +1687,7 @@ void S_prim5_init() { Sforeign_symbol("(cs)s_widechartomultibyte", (void *)s_widechartomultibyte); #endif Sforeign_symbol("(cs)s_profile_counters", (void *)s_profile_counters); - Sforeign_symbol("(cs)s_set_profile_counters", (void *)s_set_profile_counters); + Sforeign_symbol("(cs)s_profile_release_counters", (void *)s_profile_release_counters); } static ptr s_get_reloc(co) ptr co; { diff --git a/c/scheme.c b/c/scheme.c index 8ab8aefa7a..cc9e5a65aa 100644 --- a/c/scheme.c +++ b/c/scheme.c @@ -846,20 +846,8 @@ static INT zgetstr(file, s, max) glzFile file; char *s; iptr max; { static IBOOL loadecho = 0; #define LOADSKIP 0 -static void handle_visit_revisit(tc, p) ptr tc; ptr p; { - ptr a = Scar(p); - - if (a == FIX(visit_tag) || a == FIX(revisit_tag)) { - ptr d = Scdr(p); - if (Sprocedurep(d)) { - S_initframe(tc, 0); - INITCDR(p) = boot_call(tc, d, 0); - } - } -} - static int set_load_binary(iptr n) { - if (SYMVAL(S_G.scheme_version_id) == sunbound) return 0; // set by back.ss + if (!Ssymbolp(SYMVAL(S_G.scheme_version_id))) return 0; // set by back.ss ptr make_load_binary = SYMVAL(S_G.make_load_binary_id); if (Sprocedurep(make_load_binary)) { S_G.load_binary = Scall3(make_load_binary, Sstring_utf8(bd[n].path, -1), Sstring_to_symbol("load"), Sfalse); @@ -912,12 +900,8 @@ static void load(tc, n, base) ptr tc; iptr n; IBOOL base; { if (Sprocedurep(y)) { S_initframe(tc, 0); INITVECTIT(x, j) = boot_call(tc, y, 0); - } else if (Spairp(y)) { - handle_visit_revisit(tc, y); } } - } else if (Spairp(x)) { - handle_visit_revisit(tc, x); } if (loadecho) { S_prin1(x); diff --git a/configure b/configure index e3c64f79cd..623181eb58 100755 --- a/configure +++ b/configure @@ -48,10 +48,6 @@ disablecurses=no : ${ARFLAGS:="rc"} : ${RANLIB:="ranlib"} : ${WINDRES:="windres"} -: ${AR:="ar"} -: ${ARFLAGS:="ruv"} -: ${RANLIB:="ranlib"} -: ${WINDRES:="windres"} zlibInc=-I../zlib LZ4Inc=-I../lz4/lib zlibDep=../zlib/libz.a diff --git a/csug/io.stex b/csug/io.stex index 736df4432c..0742fcbfdb 100644 --- a/csug/io.stex +++ b/csug/io.stex @@ -1642,11 +1642,17 @@ the buffered input or a portion thereof is returned; otherwise \entryheader \formdef{read-token}{\categoryprocedure}{(read-token)} \formdef{read-token}{\categoryprocedure}{(read-token \var{textual-input-port})} +\formdef{read-token}{\categoryprocedure}{(read-token \var{textual-input-port} \var{sfd} \var{bfp})} \returns see below \listlibraries \endentryheader \noindent +\var{sfd} must be a source-file descriptor. +\var{bfp} must be an exact nonnegative integer and should be the +character position of the next character to be read from +\var{textual-input-port}. + Parsing of a Scheme datum is conceptually performed in two steps. First, the sequence of characters that form the datum are grouped into \scheme{tokens}, such as symbols, numbers, left parentheses, and @@ -1671,13 +1677,18 @@ One token is read from the input port and returned as four values: \item[\var{value}:] the token value, \item[\var{start}:] the position of the first character of the token, -relative to the starting position of the input port, and +relative to the starting position of the input port (or \scheme{#f}, +if the position cannot be determined), and \item[\var{end}:] the first position beyond the token, -relative to the starting position of the input port. +relative to the starting position of the input port (or \scheme{#f}, +if the position cannot be determined). \end{description} \noindent +The input port is left pointing to the first character position beyond +the token. + When the token type fully specifies the token, \scheme{read-token} returns \scheme{#f} for the value. The token types are listed below with the corresponding \var{value} @@ -1715,8 +1726,18 @@ in parentheses. The set of token types is likely to change in future releases of the system; check the release notes for details on such changes. -The input port is left pointing to the first character position beyond -the token, i.e., \var{end} characters from the starting position. +Specifying \var{sfd} and \var{bfp} improves the quality of error messages, +guarantees \var{start} and \var{end} can be determined, +and eliminates the overhead of asking for a file position on each call +to \scheme{read-token}. +In most cases, \var{bfp} should be 0 for the first call +to \scheme{read-token} at the start of a file, +and it should be the fourth return value (\var{end}) of the preceding +call to \scheme{read-token} for each subsequent +call. +This protocol is necessary to handle files containing multiple-byte +characters, since file positions do not necessarily correspond +to character positions. \schemedisplay (define s (open-input-string "(a b c)")) @@ -3358,7 +3379,6 @@ input port, must be used instead. %---------------------------------------------------------------------------- \entryheader \formdef{fasl-write}{\categoryprocedure}{(fasl-write \var{obj} \var{binary-output-port})} -\formdef{fasl-read}{\categoryprocedure}{(fasl-read \var{binary-input-port})} \returns unspecified \listlibraries \endentryheader @@ -3370,11 +3390,45 @@ An exception is raised with condition-type \scheme{&assertion} if \var{obj} or any portion of \var{obj} has no external fasl representation, e.g., if \var{obj} is or contains a procedure. +\schemedisplay +(define bop (open-file-output-port "tmp.fsl")) +(fasl-write '(a b c) bop) +(close-port bop) + +(define bip (open-file-input-port "tmp.fsl")) +(fasl-read bip) ;=> (a b c) +(fasl-read bip) ;=> #!eof +(close-port bip) +\endschemedisplay + + +%---------------------------------------------------------------------------- +\entryheader +\formdef{fasl-read}{\categoryprocedure}{(fasl-read \var{binary-input-port})} +\formdef{fasl-read}{\categoryprocedure}{(fasl-read \var{binary-input-port \var{situation}})} +\returns unspecified +\listlibraries +\endentryheader + +\noindent +If present, \var{situation} must be one of the symbols \scheme{load}, +\scheme{visit}, or \scheme{revisit}. +It defaults to \scheme{load}. + \scheme{fasl-read} reads one object from \var{binary-input-port}, which must be positioned at the front of an object written in fasl format. \scheme{fasl-read} returns the eof object if the file is positioned at the end of file. +If the situation is \scheme{visit}, \scheme{fasl-read} skips over +any revisit (run-time-only) objects, and +if the situation is \scheme{revisit}, \scheme{fasl-read} skips over +any visit (compile-time-only) objects. +It doesn't skip any if the situation is \scheme{load}. +Similarly, objects marked as both visit and revisit (e.g., object code +corresponding to source code within an \scheme{eval-when} form with +situation \scheme{load} or situations \scheme{visit} and \scheme{revisit}) +are never skipped. \schemedisplay (define bop (open-file-output-port "tmp.fsl")) diff --git a/csug/syntax.stex b/csug/syntax.stex index b22950adb6..d3f67ebd15 100644 --- a/csug/syntax.stex +++ b/csug/syntax.stex @@ -1767,7 +1767,7 @@ marked \scheme{profile} are used for profiling. \entryheader \formdef{make-source-object}{\categoryprocedure}{(make-source-object \var{sfd} \var{bfp} \var{efp})} \formdef{make-source-object}{\categoryprocedure}{(make-source-object \var{sfd} \var{bfp} \var{efp} \var{line} \var{column})} -\returns a source-object +\returns a source object \listlibraries \endentryheader @@ -2007,3 +2007,167 @@ Adjust this parameter to control the way that source locations are extracted from source objects, possibly using recorded information, caches, and the filesystem in a way different from \scheme{locate-source-object-object}. + + +\section{Source Tables\label{SECTSYNTAXSOURCETABLES}} + +Source tables provide an efficient way to associate information +with source objects both in memory and on disk, such as the coverage information +saved to \scheme{.covin} files when +\index{\scheme{generate-covin-files}}\scheme{generate-covin-files} is +set to \scheme{#t} +and the profile counts associated with source objects by +\index{\scheme{with-profile-tracker}}\scheme{with-profile-tracker} +(Section~\ref{SECTMISCPROFILE}). + +Source tables are manipulated via hashtable-like accessors and setters +(Section~\ref{SECTMISCHASHTABLES}, {\TSPLFOUR} Section~\ref{TSPL:SECTHASHTABLES}), e.g., +\index{\scheme{source-table-ref}}\scheme{source-table-ref} and \index{\scheme{source-table-set!}}\scheme{source-table-set!}. +They can be saved to files via +\index{\scheme{put-source-table}}\scheme{put-source-table} +and restored via +\index{\scheme{get-source-table!}}\scheme{get-source-table!}. + +%---------------------------------------------------------------------------- +\entryheader +\formdef{make-source-table}{\categoryprocedure}{(make-source-table)} +\returns a source table +\listlibraries +\endentryheader + +A source table contains associations between source objects and arbitrary +values. For purposes of the source-table operations described below, two +source objects are the same if they have the same source-file descriptor, +equal beginning file positions and equal ending file positions. +Two source-file descriptors are the same if they have the same path and +checksum. + +%---------------------------------------------------------------------------- +\entryheader +\formdef{source-table?}{\categoryprocedure}{(source-table? \var{obj})} +\returns \scheme{#t} if \var{obj} is a source-table; \scheme{#f} otherwise +\listlibraries +\endentryheader + + +%---------------------------------------------------------------------------- +\entryheader +\formdef{source-table-set!}{\categoryprocedure}{(source-table-set! \var{source-table} \var{source-object} \var{obj})} +\returns unspecified +\listlibraries +\endentryheader + +\scheme{source-table-set!} associates \var{source-object} +with \var{obj} in \var{source-table}, replacing the +existing association, if any. + + +%---------------------------------------------------------------------------- +\entryheader +\formdef{source-table-ref}{\categoryprocedure}{(source-table-ref \var{source-table} \var{source-object} \var{default})} +\returns see below +\listlibraries +\endentryheader + +\noindent +\var{default} may be any Scheme value. + +\scheme{source-table-ref} returns the value +associated with \var{source-object} in \var{source-table}. +If no value is associated with \var{source-object} in \var{source-table}, +\scheme{source-table-ref} returns \var{default}. + + +%---------------------------------------------------------------------------- +\entryheader +\formdef{source-table-contains?}{\categoryprocedure}{(source-table-contains? \var{source-table} \var{source-object})} +\returns \scheme{#t} if an association for \var{source-object} exists in \var{source-table}, \scheme{#f} otherwise +\listlibraries +\endentryheader + + +%---------------------------------------------------------------------------- +\entryheader +\formdef{source-table-cell}{\categoryprocedure}{(source-table-cell \var{source-table} \var{source-object} \var{default})} +\returns a pair (see below) +\listlibraries +\endentryheader + +\noindent +\var{default} may be any Scheme value. + +If no value is associated with \var{source-object} in \var{source-table}, +\scheme{source-table-cell} modifies \var{source-table} to associate \var{source-object} with +\var{default}. +Regardless, it returns a pair whose car is \var{source-object} and whose cdr is +the associated value. +Changing the cdr of this pair effectively updates the table to +associate \var{source-object} with a new value. +The car field of the pair should not be modified. + + +%---------------------------------------------------------------------------- +\entryheader +\formdef{source-table-delete!}{\categoryprocedure}{(source-table-delete! \var{source-table} \var{source-object})} +\returns unspecified +\listlibraries +\endentryheader + +\scheme{source-table-delete!} drops the association +for \var{source-object} from \var{source-table}, if +one exists. + + +%---------------------------------------------------------------------------- +\entryheader +\formdef{source-table-size}{\categoryprocedure}{(source-table-size \var{source-table})} +\returns the number of entries in \var{source-table} +\listlibraries +\endentryheader + + +%---------------------------------------------------------------------------- +\entryheader +\formdef{put-source-table}{\categoryprocedure}{(put-source-table \var{textual-output-port} \var{source-table})} +\returns unspecified +\listlibraries +\endentryheader + +\noindent +This procedure writes a representation of the information stored in \var{source-table} to the port. + + +%---------------------------------------------------------------------------- +\entryheader +\formdef{get-source-table!}{\categoryprocedure}{(get-source-table! \var{textual-input-port} \var{source-table})} +\formdef{get-source-table!}{\categoryprocedure}{(get-source-table! \var{textual-input-port} \var{source-table} \var{combine})} +\returns unspecified +\listlibraries +\endentryheader + +The port must be positioned at a representation of source-table +information written by some previous call to \scheme{put-source-table}, +which reads the information and merges it into \scheme{source-table}. + +If present and non-false, \var{combine} must be a procedure and +should accept two arguments. +It is called whenever associations for the same source object are +present both in \var{source-table} and in the information read from +the port. +In this case, \var{combine} is passed two arguments: the associated +value from \var{source-table} and the associated value from the +port (in that order) and must return one value, which is recorded +as the new associated value for the source object in \var{source-table}. + +If \var{combine} is not present, \var{combine} is \scheme{#f}, or +no association for a source object read from the port already exists +in \var{source-table}, the value read from the port is recorded as +the associated value of the source object in \var{source-table}. + +\schemedisplay +(define st (make-source-table)) +(call-with-port (open-input-file "profile.out1") + (lambda (ip) (get-source-table! ip st))) +(call-with-port (open-input-file "profile.out2") + (lambda (ip) (get-source-table! ip st +))) +\endschemedisplay diff --git a/csug/system.stex b/csug/system.stex index 3c403b52a7..e8c1b2c43a 100644 --- a/csug/system.stex +++ b/csug/system.stex @@ -996,6 +996,45 @@ of \var{input-port} as previously created by functions like \scheme{compile-file The return value is the value of the last expression whose compiled form is in \var{input-port}. If \var{input-port} is empty, then the result value is unspecified. +The port left at end-of-file but is not closed. + + +%---------------------------------------------------------------------------- +\entryheader +\formdef{visit-compiled-from-port}{\categoryprocedure}{(visit-compiled-from-port \var{input-port})} +\returns result of the last compiled expression processed +\listlibraries +\endentryheader + +\noindent +\scheme{visit-compiled-from-port} reads and evaluates the object-code contents +of \var{input-port} as previously created by functions like \scheme{compile-file}, +\scheme{compile-script}, \scheme{compile-library}, and +\scheme{compile-to-port}. In the process, it skips any revisit (run-time-only) code. + +The return value is the value of the last expression whose last non-revisit compiled +form is in \var{input-port}. If there are no such forms, then the +result value is unspecified. +The port left at end-of-file but is not closed. + + +%---------------------------------------------------------------------------- +\entryheader +\formdef{revisit-compiled-from-port}{\categoryprocedure}{(revisit-compiled-from-port \var{input-port})} +\returns result of the last compiled expression processed +\listlibraries +\endentryheader + +\noindent +\scheme{revisit-compiled-from-port} reads and evaluates the object-code contents +of \var{input-port} as previously created by functions like \scheme{compile-file}, +\scheme{compile-script}, \scheme{compile-library}, and +\scheme{compile-to-port}. In the process, it skips any visit (compile-time-only) code. + +The return value is the value of the last expression whose last non-visit compiled +form is in \var{input-port}. If there are no such forms, then the +result value is unspecified. +The port left at end-of-file but is not closed. %---------------------------------------------------------------------------- @@ -1128,6 +1167,7 @@ cp0-outer-unroll-limit generate-inspector-information generate-procedure-source-information compile-profile +generate-covin-files generate-interrupt-trap enable-cross-library-optimization \endschemedisplay @@ -1379,30 +1419,35 @@ as an object file for the resulting combination of libraries. \formdef{compile-port}{\categoryprocedure}{(compile-port \var{input-port} \var{output-port})} \formdef{compile-port}{\categoryprocedure}{(compile-port \var{input-port} \var{output-port} \var{sfd})} \formdef{compile-port}{\categoryprocedure}{(compile-port \var{input-port} \var{output-port} \var{sfd} \var{wpo-port})} +\formdef{compile-port}{\categoryprocedure}{(compile-port \var{input-port} \var{output-port} \var{sfd} \var{wpo-port} \var{covop})} \returns unspecified \listlibraries \endentryheader \noindent \var{input-port} must be a textual input port. -\var{output-port} and, if present, \var{wpo-port} must be binary output ports. -If present, \var{sfd} must be a source-file descriptor. +\var{output-port} and, if present and non-false, \var{wpo-port} must be binary output ports. +If present and non-false, \var{sfd} must be a source-file descriptor. +If present and non-false, \var{covop} must be a textual output port. \scheme{compile-port} is like \scheme{compile-file} except that it takes input from an arbitrary textual input port and sends output to an arbitrary binary output port. -If \var{sfd} is present, it is passed to the reader so that source information +If \var{sfd} is supplied, it is passed to the reader so that source information can be associated with the expressions read from \var{input-port}. It is also used to associate block-profiling information with the input file name encapsulated within \var{sfd}. -If \var{wpo-port} is present, it sends whole-program optimization information -to \var{wpo-port} for use by \scheme{compile-whole-program}. +If \var{wpo-port} is supplied, \scheme{compile-port} sends whole-program optimization information +to \var{wpo-port} for use by \scheme{compile-whole-program}, as if +(and regardless of whether) \scheme{generate-wpo-files} is set. +If \var{covop} is supplied, \scheme{compile-port} sends coverage information to +\var{covop}, as if (and regardless of whether) \scheme{generate-covin-files} is set. -None of the ports is closed automatically after compilation; it is assumed -that the program that opens the ports and invokes \scheme{compile-port} +The ports are closed automatically after compilation under the assumption +the program that opens the ports and invokes \scheme{compile-port} will take care of closing the ports. -The output will be compressed only if \var{binary-output-port} is set up -to do compression, e.g., if it was opened with the \scheme{compressed} +Output will be compressed only if an output port is already set up to be +compressed, e.g., if it was opened with the \scheme{compressed} file option. %---------------------------------------------------------------------------- @@ -1410,6 +1455,7 @@ file option. \formdef{compile-to-port}{\categoryprocedure}{(compile-to-port \var{obj-list} \var{output-port})} \formdef{compile-to-port}{\categoryprocedure}{(compile-to-port \var{obj-list} \var{output-port} \var{sfd})} \formdef{compile-to-port}{\categoryprocedure}{(compile-to-port \var{obj-list} \var{output-port} \var{sfd} \var{wpo-port})} +\formdef{compile-to-port}{\categoryprocedure}{(compile-to-port \var{obj-list} \var{output-port} \var{sfd} \var{wpo-port} \var{covop})} \returns see below \listlibraries \endentryheader @@ -1429,15 +1475,17 @@ input from a list of objects and sends output to an arbitrary binary output port. \var{sfd} is used to associate block-profiling information with the input file name encapsulated within \var{sfd}. -If \var{wpo-port} is present, it sends whole-program optimization information -to \var{wpo-port} for use by \scheme{compile-whole-program}. +If \var{wpo-port} is present, \var{compile-to-port} sends whole-program optimization information +to \var{wpo-port} for use by \scheme{compile-whole-program}, as if +(and regardless of whether) \scheme{generate-wpo-files} is set. +If \var{covop} is present, \var{compile-to-port} sends coverage information to +\var{covop}, as if (and regardless of whether) \scheme{generate-covin-files} is set. -The output port is not closed automatically after compilation; it is assumed -that the program that opens the port and invokes \scheme{compile-to-port} +The ports are not closed automatically after compilation under the assumption +the program that opens the port and invokes \scheme{compile-to-port} will take care of closing the port. - -The output will be compressed only if \var{binary-output-port} is set up -to do compression, e.g., if it was opened with the \scheme{compressed} +Output will be compressed only if an output port is already set up to be +compressed, e.g., if it was opened with the \scheme{compressed} file option. When \var{obj-list} contains a single list-structured element whose @@ -2774,12 +2822,17 @@ With source profiling enabled, the compiler instruments the code it produces to count the number of times each source-code expression is executed. This information can be -displayed in HTML format or packaged in a list for -arbitrary user-defined processing. +displayed in HTML format, or it can be packaged in a list or +source table for arbitrary user-defined processing. It can also be dumped to a file to be loaded subsequently into the compiler's database of profile information for use in source-level optimizations, such as reordering the clauses of a \scheme{case} or \scheme{exclusive-cond} form. +In connection with coverage-information (covin) files generated by the +compiler when +\index{\scheme{generate-covin-files}}\scheme{generate-covin-files} +is \scheme{#t}, profile information can also be used to gauge coverage +of a source-code base by a set of tests. The association between source-code expressions and profile counts is usually established via annotations produced by the reader and @@ -3045,6 +3098,29 @@ counters explicitly via the procedure \index{\scheme{profile-release-counters}}\scheme{profile-release-counters}. +%---------------------------------------------------------------------------- +\entryheader +\formdef{generate-covin-files}{\categorythreadparameter}{generate-covin-files} +\listlibraries +\endentryheader + +When this parameter is set to \scheme{#t}, the compiler generates +``coverage-information'' (covin) files that can be used in connection with +profile information to measure coverage of a source-code base by a +set of tests. +One covin file is created for each object file, with the object-file +extension replaced by the extension \scheme{.covin}. +Each covin file contains the printed representation of a source table +(Section~\ref{SECTSYNTAXSOURCETABLES}), compressed when the parameter +\scheme{compile-compressed} is true, mapping each profiled source +expression found during the compilation of the corresponding source +file to a count of zero. +This information can be read via +\index{\scheme{get-source-table!}}\scheme{get-source-table!} and used +as a universe of source expressions to identify source expressions +that are not evaluated during the running of a set of tests. + + \entryheader \formdef{profile}{\categorysyntax}{(profile \var{source-object})} \returns unspecified @@ -3124,6 +3200,62 @@ descriptors. It might be used, for example, to dump profile information to a fasl file on one machine for subsequent processing on another. +\index{\scheme{with-profile-tracker}}\scheme{with-profile-tracker} +can be used to obtain the same set of counts as a source table. + + +%---------------------------------------------------------------------------- +\entryheader +\formdef{with-profile-tracker}{\categoryprocedure}{(with-profile-tracker \var{thunk})} +\formdef{with-profile-tracker}{\categoryprocedure}{(with-profile-tracker \var{preserve-existing?} \var{thunk})} +\returns a source table and the values returned by \var{thunk} +\listlibraries +\endentryheader + +\var{thunk} must be a procedure and should accept zero arguments. +It may return any number of values. + +\scheme{with-profile-tracker} invokes \var{thunk} without arguments. +If \var{thunk} returns $n$ values \scheme{\var{x_1}, \var{x_2}, \dots, \var{x_n}}, \scheme{with-profile-tracker} +returns $n+1$ values \scheme{\var{st}, \var{x_1}, \var{x_2}, \dots, \var{x_n}}, where \var{st} is a +source table associating source objects with profile counts. +If \var{preserve-existing?} is absent or \scheme{#f}, each count +represents the number of times the source expression represented +by the associated source object is evaluated during the invocation +of \var{thunk}. +Otherwise, each count represents the number of times the source +expression represented by the associated source object is evaluated +before or during the invocation of \var{thunk}. + +Profile data otherwise cleared by a call to +\index{\scheme{profile-clear}}\scheme{profile-clear} or +\index{\scheme{profile-release-counters}}\scheme{profile-release-counters} +during the invocation of \var{thunk} is included in the +resulting table. +That is, invoking these procedures while \var{thunk} is running has +no effect on the resulting counts. +On the other hand, profile data cleared before \scheme{with-profile-tracker} +is invoked is not included in the resulting table. + +The idiom \scheme{(with-profile-tracker #t values)} can be used to obtain +the current set of profile counts as a source table. + + +%---------------------------------------------------------------------------- +\entryheader +\formdef{source-table-dump}{\categoryprocedure}{(source-table-dump \var{source-table})} +\returns a list of pairs of source objects and their associated values in \var{source-table} +\listlibraries +\endentryheader + +This procedure can be used to convert a source-table produced by +\index{\scheme{with-profile-tracker}}\scheme{with-profile-tracker} or some other mechanism into the form returned +by \index{\scheme{profile-dump}}\scheme{profile-dump} for use as an argument to +\index{\scheme{profile-dump-html}}\scheme{profile-dump-html}, +\index{\scheme{profile-dump-list}}\scheme{profile-dump-list}, +or +\index{\scheme{profile-dump-data}}\scheme{profile-dump-data}. + %---------------------------------------------------------------------------- \entryheader \formdef{profile-dump-html}{\categoryprocedure}{(profile-dump-html)} diff --git a/makefiles/Makefile-workarea.in b/makefiles/Makefile-workarea.in index 8aa0f98882..e330fd7d08 100644 --- a/makefiles/Makefile-workarea.in +++ b/makefiles/Makefile-workarea.in @@ -16,32 +16,48 @@ MAKEFLAGS += --no-print-directory PREFIX= +.PHONY: build build: (cd c && $(MAKE)) (cd s && $(MAKE) bootstrap) +.PHONY: install install: build $(MAKE) -f Mf-install +.PHONY: uninstall uninstall: $(MAKE) -f Mf-install uninstall +.PHONY: test test: build (cd mats && $(MAKE) allx) @echo "test run complete. check $(PREFIX)mats/summary for errors." +.PHONY: coverage +coverage: + rm -f s/bootstrap + (cd c && $(MAKE)) + (cd s && $(MAKE) bootstrap p=t c=t) + (cd mats && $(MAKE) allx c=t) + +.PHONY: bootfiles bootfiles: build $(MAKE) -f Mf-boot -create-bintar: build +.PHONY: bintar +bintar: build (cd bintar && $(MAKE)) -create-rpm: create-bintar +.PHONY: rpm +rpm: bintar (cd rpm && $(MAKE)) -create-pkg: create-bintar +.PHONY: pkg +pkg: bintar (cd pkg && $(MAKE)) +.PHONY: clean clean: rm -f petite.1 scheme.1 (cd s && $(MAKE) clean) diff --git a/makefiles/Makefile.in b/makefiles/Makefile.in index 882e49fb7f..3c4ce64a2f 100644 --- a/makefiles/Makefile.in +++ b/makefiles/Makefile.in @@ -15,50 +15,68 @@ MAKEFLAGS += --no-print-directory +.PHONY: build build: (cd $(workarea) && $(MAKE) build) +.PHONY: run run: env SCHEMEHEAPDIRS=$(workarea)/boot/$(m) $(workarea)/bin/$(m)/scheme +.PHONY: install install: (cd $(workarea) && $(MAKE) install) +.PHONY: uninstall uninstall: (cd $(workarea) && $(MAKE) uninstall) +.PHONY: test test: (cd $(workarea) && $(MAKE) test PREFIX=$(workarea)/) +.PHONY: coverage +coverage: + (cd $(workarea) && $(MAKE) coverage) + +.PHONY: bootfiles bootfiles: (cd $(workarea) && $(MAKE) bootfiles) # Supply XM= to build boot files for +.PHONY: boot boot: build mkdir -p boot/$(XM) (cd $(workarea) && $(MAKE) -f Mf-boot $(XM).boot) # Supply ORIG= to build using existing at +.PHONY: from-orig from-orig: (cd $(m)/s && $(MAKE) -f Mf-cross m=$(m) xm=$(m) base=$(ORIG)/$(m)) $(MAKE) build +.PHONY: docs docs: build (cd csug && $(MAKE) m=$(m)) (cd release_notes && $(MAKE) m=$(m)) -create-bintar: - (cd $(workarea) && $(MAKE) create-bintar) +.PHONY: bintar +bintar: + (cd $(workarea) && $(MAKE) bintar) -create-rpm: - (cd $(workarea) && $(MAKE) create-rpm) +.PHONY: rpm +rpm: + (cd $(workarea) && $(MAKE) rpm) -create-pkg: - (cd $(workarea) && $(MAKE) create-pkg) +.PHONY: pkg +pkg: + (cd $(workarea) && $(MAKE) pkg) +.PHONY: clean clean: (cd $(workarea) && $(MAKE) clean) +.PHONY: distclean distclean: (cd csug && if [ -e Makefile ] ; then $(MAKE) reallyreallyclean ; fi) rm -f csug/Makefile diff --git a/mats/4.ms b/mats/4.ms index f2a6bac8a6..a9a7ef4ab4 100644 --- a/mats/4.ms +++ b/mats/4.ms @@ -452,7 +452,7 @@ ; make sure no collection occurs before profile data is dumped (parameterize ([compile-profile #t] [collect-request-handler void]) (load "testfile.ss" compile) - (profile-dump-data "testfile.pd")) + (profile-dump-data "testfile.pd" (remp preexisting-profile-dump-entry? (profile-dump)))) ; make sure collections are restarted (collect))) "(11 10 1 10 0)\n") @@ -467,6 +467,17 @@ (begin (profile-clear-database) #t) + (begin + (profile-load-data "testfile.pd" "testfile.pd") + #t) + (equal? + (with-output-to-string + (lambda () + (load "testfile.ss" compile))) + "(1 11 1 10 0)\n") + (begin + (profile-clear-database) + #t) ) (mat case @@ -560,7 +571,7 @@ (parameterize ([compile-profile #t]) (load "testfile.ss" compile)))) "AAAAAAAAAAB") (begin - (profile-dump-data "testfile.pd") + (profile-dump-data "testfile.pd" (remp preexisting-profile-dump-entry? (profile-dump))) (profile-load-data "testfile.pd") #t) (equal? diff --git a/mats/6.ms b/mats/6.ms index 667ecb6b4d..235c8d86fd 100644 --- a/mats/6.ms +++ b/mats/6.ms @@ -727,6 +727,11 @@ (eqv? (read-char x) #\a) (char-ready? x) (eof-object? (read-char x)))) + (parameterize ([current-input-port (open-input-string "a")]) + (and (char-ready?) + (eqv? (read-char) #\a) + (char-ready?) + (eof-object? (read-char)))) ) (mat clear-input-port ; test interactively @@ -1614,25 +1619,24 @@ #t) (error? (let* ([ip (open-file-input-port "testfile.ss")] - [sfd (#%$source-file-descriptor "testfile.ss" ip)] + [sfd (make-source-file-descriptor "testfile.ss" ip #t)] [ip (transcoded-port ip (native-transcoder))]) (dynamic-wind void - (lambda () (read-token ip sfd)) + (lambda () (read-token ip sfd 0)) (lambda () (close-input-port ip))))) (let () (with-output-to-file "testfile.ss" (lambda () (display "\neat\n")) 'replace) #t) - ; $transcoded-source-port is no more - #;(equal? + (equal? (let-values ([vals (let* ([ip (open-file-input-port "testfile.ss")] - [sfd (#%$source-file-descriptor "testfile.ss" ip)] - [ip (#%$transcoded-source-port ip (native-transcoder))]) + [sfd (make-source-file-descriptor "testfile.ss" ip #t)] + [ip (transcoded-port ip (native-transcoder))]) (dynamic-wind void - (lambda () (read-token ip sfd)) + (lambda () (read-token ip sfd 0)) (lambda () (close-input-port ip))))]) vals) '(atomic eat 1 4)) diff --git a/mats/7.ms b/mats/7.ms index 031320da77..d757a308a1 100644 --- a/mats/7.ms +++ b/mats/7.ms @@ -117,7 +117,27 @@ (define-values (o get) (open-bytevector-output-port)) (compile-to-port '((define lcfp1 'worked) 'loaded) o) (eq? 'loaded (load-compiled-from-port (open-bytevector-input-port (get))))) - (eq? 'worked lcfp1) + (begin + (define lcfp-bv + (let-values ([(o get) (open-bytevector-output-port)]) + (compile-to-port + '((printf "revisit\n") + (define-syntax $lcfp-a (begin (printf "visit\n") (lambda (x) 0))) + (eval-when (visit revisit) (printf "visit-revisit\n")) + (eval-when (visit) 'visit-return) + 'revisit-return) + o) + (get))) + #t) + (equal? + (with-output-to-string (lambda () (printf "result = ~s\n" (load-compiled-from-port (open-bytevector-input-port lcfp-bv))))) + "revisit\nvisit\nvisit-revisit\nresult = revisit-return\n") + (equal? + (with-output-to-string (lambda () (printf "result = ~s\n" (visit-compiled-from-port (open-bytevector-input-port lcfp-bv))))) + "visit\nvisit-revisit\nresult = visit-return\n") + (equal? + (with-output-to-string (lambda () (printf "result = ~s\n" (revisit-compiled-from-port (open-bytevector-input-port lcfp-bv))))) + "revisit\nvisit-revisit\nresult = revisit-return\n") ) (mat compile-to-file @@ -1168,7 +1188,7 @@ (define b1 "23.5") (define-syntax b2 (identifier-syntax (cons b1 b1)))) (define c (lambda (x) (import b) (vector b2 x))))) - op #f #f ',(machine-type) hostop)))))) + op #f #f #f ',(machine-type) hostop)))))) "testfile-hop1") (with-output-to-file "testfile-hop2.ss" (lambda () @@ -2710,14 +2730,14 @@ evaluating module init "testfile-cwl-b5") "()\n") - (error? ; attempting to re-install run-time part of library (testfile-cwl-a5) + (error? ; attempting to re-install compile-time (or run-time) part of library (testfile-cwl-a5) (separate-eval '(let () (import (testfile-cwl-c5)) (import (testfile-cwl-b5)) (list (fib+fact 10) (ack+fact 3 4))))) - (error? ; attempting to re-install run-time part of library (testfile-cwl-a5) + (error? ; attempting to re-install compile-time (or run-time) part of library (testfile-cwl-a5) (separate-eval '(eval '(list (fib+fact 10) (ack+fact 3 4)) (environment '(chezscheme) '(testfile-cwl-c5) '(testfile-cwl-b5))))) @@ -2738,7 +2758,7 @@ evaluating module init (separate-compile 'cwl-d5) #t) - (error? ; attempting to re-install run-time part of library (testfile-cwl-a5) with uid #{testfile-cwl-a5 ???} + (error? ; attempting to re-install compile-time (or run-time) part of library (testfile-cwl-a5) (separate-eval '(load "testfile-cwl-d5.so"))) (begin @@ -2763,14 +2783,14 @@ evaluating module init (delete-file "testfile-cwl-a5.so") (delete-file "testfile-cwl-a5.wpo") - (error? ; attempting to re-install run-time part of library (testfile-cwl-a5) with uid #{testfile-cwl-a5 ???} + (error? ; attempting to re-install compile-time (or run-time) part of library (testfile-cwl-a5) (separate-eval '(let () (import (testfile-cwl-c5)) (import (testfile-cwl-b5)) (list (fib+fact 10) (ack+fact 3 4))))) - (error? ; attempting to re-install run-time part of library (testfile-cwl-a5) with uid #{testfile-cwl-a5 ???} + (error? ; attempting to re-install compile-time (or run-time) part of library (testfile-cwl-a5) (separate-eval '(let () (import (testfile-cwl-b5)) @@ -4165,6 +4185,7 @@ evaluating module init "import: found corresponding object file \"testfile-lm-a.so\"\n" "import: object file is not older\n" "import: loading object file \"testfile-lm-a.so\"\n" + "attempting to 'revisit' previously 'visited' \"testfile-lm-a.so\" for library (testfile-lm-a) run-time info\n" "rt-a rhs\n" "c = 456\n")) (equal? @@ -4180,6 +4201,7 @@ evaluating module init "import: found corresponding object file \"testfile-lm-c.so\"\n" "import: object file is not older\n" "import: loading object file \"testfile-lm-c.so\"\n" + "import: attempting to 'revisit' previously 'visited' \"testfile-lm-c.so\" for library (testfile-lm-c) run-time info\n" "import: attempting to 'revisit' previously 'visited' \"testfile-lm-a.so\" for library (testfile-lm-a) run-time info\n" "rt-a rhs\n" "456\n")) @@ -4197,6 +4219,7 @@ evaluating module init "import: object file is not older\n" "import: loading object file \"testfile-lm-b.so\"\n" "import: attempting to 'visit' previously 'revisited' \"testfile-lm-a.so\" for library (testfile-lm-a) compile-time info\n" + "import: attempting to 'revisit' previously 'visited' \"testfile-lm-b.so\" for library (testfile-lm-b) run-time info\n" "\"odd\"\n")) (equal? (separate-eval diff --git a/mats/8.ms b/mats/8.ms index 08efa6a475..38a4f5ceac 100644 --- a/mats/8.ms +++ b/mats/8.ms @@ -8487,7 +8487,7 @@ "inside testfile-a3-9\n") (equal? (with-output-to-string (lambda () (load "testfile-a3-10.so"))) - "outside (testfile-a3-8)\ninside testfile-a3-10\n") + "inside testfile-a3-10\n") ) (mat library4 @@ -10381,7 +10381,7 @@ (parameterize ([console-output-port (open-output-string)]) (eval '(lambda () (import (testfile-imno2)) y)) (get-output-string (console-output-port))) - "import: did not find source file \"testfile-imno2.chezscheme.sls\"\nimport: found source file \"testfile-imno2.ss\"\nimport: did not find corresponding object file \"testfile-imno2.so\"\nimport: loading source file \"testfile-imno2.ss\"\nimport: did not find source file \"testfile-imno1.chezscheme.sls\"\nimport: found source file \"testfile-imno1.ss\"\nimport: found corresponding object file \"testfile-imno1.so\"\nimport: object file is not older\nimport: loading object file \"testfile-imno1.so\"\n") + "import: did not find source file \"testfile-imno2.chezscheme.sls\"\nimport: found source file \"testfile-imno2.ss\"\nimport: did not find corresponding object file \"testfile-imno2.so\"\nimport: loading source file \"testfile-imno2.ss\"\nimport: did not find source file \"testfile-imno1.chezscheme.sls\"\nimport: found source file \"testfile-imno1.ss\"\nimport: found corresponding object file \"testfile-imno1.so\"\nimport: object file is not older\nimport: loading object file \"testfile-imno1.so\"\nattempting to 'revisit' previously 'visited' \"testfile-imno1.so\" for library (testfile-imno1) run-time info\n") (eq? (import-notify #f) (void)) ) diff --git a/mats/Mf-base b/mats/Mf-base index db0fd1aed7..0aee37026e 100644 --- a/mats/Mf-base +++ b/mats/Mf-base @@ -106,10 +106,10 @@ cis = $(defaultcis) defaultspi = f spi = $(defaultspi) -# ehc defines the value to which $enable-check-heap is set: -# f for #f, t for #t -defaultehc = f -ehc = $(defaultehc) +# hci defines the value to which heap-check-interval (mat.ss) is set: +# 0 to disable, > 0 to enable +defaulthci = 0 +hci = $(defaulthci) # eoc determines whether object counts are enabled defaulteoc = t @@ -123,8 +123,15 @@ cl = $(defaultcl) defaultecpf = t ecpf = $(defaultecpf) +# c determines whether mat coverage (.covout) files are created +defaultc = f +c = $(defaultc) + +# set of coverage files to load +coverage-files = ../boot/$m/petite.covin ../boot/$m/scheme.covin + # set of mats to run -mats = primvars 3 4 5_1 5_2 5_3 5_4 5_5 bytevector thread\ +mats = primvars 3 4 5_1 5_2 5_3 5_4 5_5 bytevector thread profile\ misc cp0 5_6 5_7 5_8 6 io format 7 record hash enum 8 fx fl cfl foreign\ ftype unix windows examples ieee date exceptions oop @@ -140,15 +147,15 @@ src = $(mats:%=%.ms) # prettysrc is src to use for pretty-print test; we leave out mat files # with cycles, e.g., primvars.ms, misc.ms, 4.ms, 5_1.ms, hash.ms -prettysrc = 3.ms 5_3.ms 5_4.ms 5_5.ms bytevector.ms\ - thread.ms 5_6.ms 5_7.ms 5_8.ms 6.ms io.ms format.ms 7.ms record.ms enum.ms 8.ms\ +prettysrc = 3.ms 5_3.ms 5_4.ms 5_5.ms bytevector.ms thread.ms profile.ms\ + 5_6.ms 5_7.ms 5_8.ms 6.ms io.ms format.ms 7.ms record.ms enum.ms 8.ms\ fx.ms fl.ms cfl.ms foreign.ms unix.ms windows.ms examples.ms ieee.ms date.ms\ exceptions.ms $(objdir)/%.mo : %.ms mat.so echo '(optimize-level $o)'\ '(#%$$suppress-primitive-inlining #${spi})'\ - '(#%$$enable-check-heap #${ehc})'\ + '(heap-check-interval ${hci})'\ '(#%$$enable-check-prelex-flags #${ecpf})'\ '(compile-profile #$p)'\ '(collect-trip-bytes ${ctb})'\ @@ -161,6 +168,7 @@ $(objdir)/%.mo : %.ms mat.so '(enable-cp0 #${cp0})'\ '(set! *scheme* "${Scheme}")'\ '(current-eval ${eval})'\ + '(when #$c (coverage-table (load-coverage-files ${coverage-files:%="%"})))'\ '(time ((mat-file "$(objdir)") "$*"))'\ '(unless (= (#%$$check-heap-errors) 0)'\ ' (fprintf (console-error-port) "check heap detected errors---grep standard output for !!!\n")'\ @@ -171,7 +179,7 @@ $(objdir)/%.mo : %.ms mat.so %.mo : %.ms mat.so echo '(optimize-level $o)'\ '(#%$$suppress-primitive-inlining #${spi})'\ - '(#%$$enable-check-heap #${ehc})'\ + '(heap-check-interval ${hci})'\ '(#%$$enable-check-prelex-flags #${ecpf})'\ '(compile-profile #$p)'\ '(collect-trip-bytes ${ctb})'\ @@ -184,6 +192,7 @@ $(objdir)/%.mo : %.ms mat.so '(enable-cp0 #${cp0})'\ '(set! *scheme* "${Scheme}")'\ '(current-eval ${eval})'\ + '(when #$c (coverage-table (load-coverage-files ${coverage-files:%="%"})))'\ '(time ((mat-file ".") "$*"))'\ '(parameterize ([source-directories (quote ("." "../s"))]) (when #${pdhtml} (profile-dump-html)))'\ '(unless (= (#%$$check-heap-errors) 0)'\ @@ -225,6 +234,21 @@ fastreport: $(MAKE) doerrors $(MAKE) doreport +docoverage: mat.so + if [ "$c" = "t" ] ; then\ + echo '(reset-handler abort) (combine-coverage-files "$(objdir)/all.covout" (quote ($(mats:%="$(objdir)/%.covout"))))' | ${Scheme} -q ${patchfile} mat.so ;\ + echo '(reset-handler abort) (coverage-percent "$(objdir)/all.covout" ${coverage-files:%="%"})' | ${Scheme} -q ${patchfile} mat.so ;\ + echo '(reset-handler abort) (coverage-percent "$(objdir)/run.covout" ${coverage-files:%="%"})' | ${Scheme} -q ${patchfile} mat.so ;\ + fi + +doallcoverage: mat.so + if [ "$c" = "t" ] ; then\ + echo '(reset-handler abort) (combine-coverage-files "all.covout" (map symbol->string (quote ($(shell echo */all.covout)))))' | ${Scheme} -q ${patchfile} mat.so ;\ + echo '(reset-handler abort) (coverage-percent "all.covout" ${coverage-files:%="%"})' | ${Scheme} -q ${patchfile} mat.so ;\ + echo '(reset-handler abort) (combine-coverage-files "run.covout" (map symbol->string (quote ($(shell echo */run.covout)))))' | ${Scheme} -q ${patchfile} mat.so ;\ + echo '(reset-handler abort) (coverage-percent "run.covout" ${coverage-files:%="%"})' | ${Scheme} -q ${patchfile} mat.so ;\ + fi + partialx: $(MAKE) allxhelp o=0 $(MAKE) allxhelp o=3 @@ -242,8 +266,9 @@ allx: prettyclean $(MAKE) allxhelp o=3 eval=interpret cl=6 $(MAKE) allxhelp o=0 eval=interpret cp0=t rmg=2 $(MAKE) allxhelp o=3 eval=interpret cp0=t rmg=2 - $(MAKE) allxhelp o=0 eoc=f ehc=t cl=9 - $(MAKE) allxhelp o=3 eval=interpret ehc=t rmg=2 + $(MAKE) allxhelp o=0 eoc=f hci=101 cl=9 + $(MAKE) allxhelp o=3 eval=interpret hci=101 rmg=2 + $(MAKE) doallcoverage just-reports: for EVAL in compile interpret ; do\ @@ -264,16 +289,17 @@ bullyx: bully: -$(MAKE) allxhelpnotall spi=t cp0=f - -$(MAKE) allxhelp spi=f cp0=f cl=9 ctb='(/ (collect-trip-bytes) 64)' ehc=t + -$(MAKE) allxhelp spi=f cp0=f cl=9 ctb='(/ (collect-trip-bytes) 64)' hci=503 -$(MAKE) allxhelp spi=t cp0=f cis=t cmg=1 - -$(MAKE) allxhelp spi=f cp0=f cis=t cmg=6 ehc=t + -$(MAKE) allxhelp spi=f cp0=f cis=t cmg=6 hci=101 -$(MAKE) allxhelp spi=t cp0=t ctb='(/ (collect-trip-bytes) 64)' cgr=6 - -$(MAKE) allxhelp spi=t cp0=f p=t eoc=f ehc=t - -$(MAKE) allxhelp spi=f cp0=t cl=9 p=t ehc=t + -$(MAKE) allxhelp spi=t cp0=f p=t eoc=f hci=101 + -$(MAKE) allxhelp spi=f cp0=t cl=9 p=t hci=101 -$(MAKE) allxhelp eval=interpret spi=f cp0=f -$(MAKE) allxhelp eval=interpret spi=f cp0=t - -$(MAKE) allxhelp eval=interpret spi=t cp0=f ctb='(/ (collect-trip-bytes) 64)' ehc=t - -$(MAKE) allxhelp eval=interpret spi=t cp0=t cgr=2 ehc=t p=t + -$(MAKE) allxhelp eval=interpret spi=t cp0=f ctb='(/ (collect-trip-bytes) 64)' hci=503 + -$(MAKE) allxhelp eval=interpret spi=t cp0=t cgr=2 hci=101 p=t + $(MAKE) doallcoverage allxhelp: $(MAKE) doheader @@ -283,7 +309,7 @@ allxhelp: doheader: printf "%s" "-------- o=$o" >> summary if [ "$(spi)" != "$(defaultspi)" ] ; then printf " spi=$(spi)" >> summary ; fi - if [ "$(ehc)" != "$(defaultehc)" ] ; then printf " ehc=$(ehc)" >> summary ; fi + if [ "$(hci)" != "$(defaulthci)" ] ; then printf " hci=$(hci)" >> summary ; fi if [ "$(ecpf)" != "$(defaultecpf)" ] ; then printf " ecpf(ecpf)" >> summary ; fi if [ "$(cp0)" != "$(defaultcp0)" ] ; then printf " cp0=$(cp0)" >> summary ; fi if [ "$(cis)" != "$(defaultcis)" ] ; then printf " cis=$(cis)" >> summary ; fi @@ -309,23 +335,25 @@ allxhelpnotall: $(MAKE) doheader hdrmsg="not all" -$(MAKE) $(MAKE) dosummary + $(MAKE) docoverage all0: ; $(MAKE) all o=0 all1: ; $(MAKE) all o=1 all2: ; $(MAKE) all o=2 all3: ; $(MAKE) all o=3 -all: makescript$o $(src) oop.ss ht.ss mat.so cat_flush ${fobj} m4test.in m4test.out prettytest.ss ftype.h freq.in freq.out ${patchfile} examples +all: makescript$o $(src) oop.ss ht.ss mat.so cat_flush ${fobj} m4test.in m4test.out prettytest.ss ftype.h freq.in freq.out ${patchfile} build-examples ${Scheme} --verbose -q mat.so ${patchfile} < script.all$o $(MAKE) doerrors $(MAKE) doreport + $(MAKE) docoverage script.all$o: Mf-base script.all$o makescript$o: echo '(optimize-level $o)'\ '(#%$$suppress-primitive-inlining #${spi})'\ - '(#%$$enable-check-heap #${ehc})'\ + '(heap-check-interval ${hci})'\ '(#%$$enable-check-prelex-flags #${ecpf})'\ '(compile-profile #$p)'\ '(collect-trip-bytes ${ctb})'\ @@ -338,12 +366,15 @@ script.all$o makescript$o: '(enable-cp0 #${cp0})'\ '(set! *scheme* "${Scheme}")'\ '(current-eval ${eval})'\ - '(time (for-each (mat-file "$(objdir)")'\ - ' (quote ($(mats:%="%")))))'\ - '(parameterize ([source-directories (quote ("." "../s"))]) (when #${pdhtml} (profile-dump-html)))'\ - '(unless (= (#%$$check-heap-errors) 0)'\ - ' (fprintf (console-error-port) "check heap detected errors---grep standard output for !!!\n")'\ - ' (abort))'\ + '(when #$c (coverage-table (load-coverage-files ${coverage-files:%="%"})))'\ + '(record-run-coverage "$(objdir)/run.covout"'\ + ' (lambda ()'\ + ' (time (for-each (lambda (x) (time ((mat-file "$(objdir)") x)))'\ + ' (quote ($(mats:%="%")))))'\ + ' (parameterize ([source-directories (quote ("." "../s"))]) (when #${pdhtml} (profile-dump-html)))'\ + ' (unless (= (#%$$check-heap-errors) 0)'\ + ' (fprintf (console-error-port) "check heap detected errors---grep standard output for !!!\n")'\ + ' (abort))))'\ > script.all$o source: @@ -373,7 +404,7 @@ bullyprettytest.ss: ${src} mat.so: ${patchfile} foreign.mo ${objdir}/foreign.mo: ${fobj} thread.mo ${objdir}/thread.mo: ${fobj} -examples.mo ${objdir}/examples.mo: m4test.in m4test.out freq.in freq.out examples +examples.mo ${objdir}/examples.mo: m4test.in m4test.out freq.in freq.out build-examples 6.mo ${objdir}/6.mo: prettytest.ss io.mo ${objdir}/io.mo: prettytest.ss unix.mo ${objdir}/unix.mo io.mo ${objdir}/io.mo 6.mo ${objdir}/6.mo: cat_flush @@ -381,15 +412,17 @@ oop.mo ${objdir}/oop.mo: oop.ss ftype.mo ${objdir}/ftype.mo: ftype.h hash.mo ${objdir}/hash.mo: ht.ss -examples: +build-examples: ( cd ../examples && ${MAKE} Scheme=${Scheme} ) + touch build-examples prettyclean: - rm -f *.o ${mdclean} *.so *.mo experr* errors* report* summary testfile* testscript\ + rm -f *.o ${mdclean} *.so *.mo *.covout experr* errors* report* summary testfile* testscript\ ${fobj} prettytest.ss cat_flush so_locations\ - script.all? *.html experr*.rej experr*.orig + build-examples script.all? *.html experr*.rej experr*.orig rm -rf testdir* rm -rf output-* + ( cd ../examples && ${MAKE} Scheme=${Scheme} clean ) clean: prettyclean rm -f Make.out diff --git a/mats/cp0.ms b/mats/cp0.ms index 3968c86043..b31e5221fe 100644 --- a/mats/cp0.ms +++ b/mats/cp0.ms @@ -876,7 +876,7 @@ 'a) ; verify optimization of or pattern (equivalent-expansion? - (parameterize ([#%$suppress-primitive-inlining #f] [run-cp0 (lambda (cp0 x) (cp0 x))] [optimize-level 2]) + (parameterize ([#%$suppress-primitive-inlining #f] [run-cp0 (lambda (cp0 x) (cp0 x))] [optimize-level 2] [compile-profile #f]) (expand/optimize '(lambda (x y) (if (not (or (fx< x y) (fx> y x))) x y)))) '(lambda (x.0 y.1) @@ -884,7 +884,7 @@ y.1 x.0))) (equivalent-expansion? - (parameterize ([#%$suppress-primitive-inlining #f] [run-cp0 (lambda (cp0 x) (cp0 x))] [optimize-level 2]) + (parameterize ([#%$suppress-primitive-inlining #f] [run-cp0 (lambda (cp0 x) (cp0 x))] [optimize-level 2] [compile-profile #f]) (expand/optimize '(lambda (x y) (if (or (fx< x y) (fx> y x)) x y)))) '(lambda (x y) (if (if (#2%fx< x y) #t (#2%fx> y x)) x y))) @@ -2707,7 +2707,7 @@ ; does push (make-message-condition y) because it is pure, even though one of the vars (z) is assigned '(lambda (y) (let ([z #f]) (#3%list (lambda () (set! z 15) z) (#3%make-message-condition y))))) (equivalent-expansion? - (parameterize ([#%$suppress-primitive-inlining #f] [run-cp0 (lambda (cp0 x) (cp0 x))] [optimize-level 2]) + (parameterize ([#%$suppress-primitive-inlining #f] [run-cp0 (lambda (cp0 x) (cp0 x))] [optimize-level 2] [compile-profile #f]) (expand/optimize '(let () (define-record foo ((immutable boolean x))) @@ -2720,7 +2720,7 @@ #t e2)) (equivalent-expansion? - (parameterize ([#%$suppress-primitive-inlining #f] [run-cp0 (lambda (cp0 x) (cp0 x))] [optimize-level 3]) + (parameterize ([#%$suppress-primitive-inlining #f] [run-cp0 (lambda (cp0 x) (cp0 x))] [optimize-level 3] [compile-profile #f]) (expand/optimize '(let () (define-record foo ((immutable boolean x))) diff --git a/mats/hash.ms b/mats/hash.ms index d7663a2106..d1871f3a11 100644 --- a/mats/hash.ms +++ b/mats/hash.ms @@ -3739,19 +3739,20 @@ (with-output-to-file "testfile.ss" (lambda () (pretty-print - '(begin - (define-syntax $feh-ls + '(module ($feh-ls $feh-ht) + (define-syntax ls (let ([ls '(1 2 3)]) (lambda (x) #`(quote #,(datum->syntax #'* ls))))) + (define $feh-ls ls) (define $feh-ht (let () (define-syntax a (let ([ht (make-eq-hashtable)]) (eq-hashtable-set! ht 'q 'p) - (eq-hashtable-set! ht $feh-ls (cdr $feh-ls)) - (eq-hashtable-set! ht (cdr $feh-ls) (cddr $feh-ls)) - (eq-hashtable-set! ht (cddr $feh-ls) $feh-ls) + (eq-hashtable-set! ht ls (cdr ls)) + (eq-hashtable-set! ht (cdr ls) (cddr ls)) + (eq-hashtable-set! ht (cddr ls) ls) (lambda (x) #`(quote #,(datum->syntax #'* ht))))) a))))) 'replace) diff --git a/mats/mat.ss b/mats/mat.ss index 30b2e55d42..4b057e2881 100644 --- a/mats/mat.ss +++ b/mats/mat.ss @@ -40,8 +40,6 @@ (define enable-cp0 (make-parameter #f)) -(define mat-run) -(define mat-file) (define-syntax mat/cf (syntax-rules (testfile) [(_ (testfile ?path) expr ...) @@ -55,9 +53,9 @@ #t)] [(_ expr ...) (mat/cf (testfile "testfile") expr ...)])) -(let () +(define mat-output (make-parameter (current-output-port))) -(define *mat-output* (current-output-port)) +(let () (define mat-load (lambda (in) @@ -74,8 +72,8 @@ (if (warning? c) (raise-continuable c) (begin - (fprintf *mat-output* "Error reading mat input: ") - (display-condition c *mat-output*) + (fprintf (mat-output) "Error reading mat input: ") + (display-condition c (mat-output)) (reset)))) (lambda () (load in)))))))) @@ -174,10 +172,10 @@ (call-with-values (lambda () (#%$locate-source sfd fp #t)) (case-lambda - [() (fprintf *mat-output* "~a at char ~a of ~a~%" msg fp (source-file-descriptor-path sfd))] - [(path line char) (fprintf *mat-output* "~a at line ~a, char ~a of ~a~%" msg line char path)])))) - (fprintf *mat-output* "~a~%" msg)) - (flush-output-port *mat-output*)))) + [() (fprintf (mat-output) "~a at char ~a of ~a~%" msg fp (source-file-descriptor-path sfd))] + [(path line char) (fprintf (mat-output) "~a at line ~a, char ~a of ~a~%" msg line char path)])))) + (fprintf (mat-output) "~a~%" msg)) + (flush-output-port (mat-output))))) (define ununicode ; sanitizer for expected exception messages to make sure we don't end up @@ -192,6 +190,38 @@ [(fx> (char->integer c) 127) (fprintf op "U+~x" (char->integer c)) (f)] [else (write-char c op) (f)])))))) +(define store-coverage + (lambda (universe-ct ct path) + (call-with-port + (open-file-output-port path + (file-options replace compressed) + (buffer-mode block) + (current-transcoder)) + (lambda (op) + (put-source-table op + (if (eq? universe-ct ct) + ct + (let ([new-ct (make-source-table)]) + (for-each + (lambda (p) + (let ([src (car p)] [count (cdr p)]) + (when (source-table-contains? universe-ct src) + (source-table-set! new-ct src count)))) + (source-table-dump ct)) + new-ct))))))) + +(define load-coverage + (lambda (ct) + (lambda (path) + (call-with-port + (open-file-input-port path + (file-options compressed) + (buffer-mode block) + (current-transcoder)) + (lambda (ip) (get-source-table! ip ct +)))))) + +(set! coverage-table (make-parameter #f)) + (set! mat-file (lambda (dir) (unless (string? dir) @@ -199,71 +229,105 @@ (unless (file-exists? dir) (mkdir dir)) (lambda (mat) (unless (string? mat) - (errorf 'mat-file "~s is not a string" fn)) + (errorf 'mat-file "~s is not a string" mat)) (let ([ifn (format "~a.ms" mat)] [ofn (format "~a/~a.mo" dir mat)]) (printf "matting ~a with output to ~a~%" ifn ofn) (delete-file ofn #f) - (fluid-let ([*mat-output* (open-output-file ofn)]) + (parameterize ([mat-output (open-output-file ofn)]) (dynamic-wind (lambda () #f) - (lambda () (mat-load ifn)) - (lambda () (close-output-port *mat-output*)))))))) + (lambda () + (let ([go (lambda () (mat-load ifn))] [universe-ct (coverage-table)]) + (if universe-ct + (let-values ([(ct . ignore) (with-profile-tracker go)]) + (store-coverage universe-ct ct (format "~a/~a.covout" dir mat))) + (go)))) + (lambda () (close-output-port (mat-output))))))))) + +(set! record-run-coverage + (lambda (covout th) + (let ([universe-ct (coverage-table)]) + (if universe-ct + (let-values ([(ct . ignore) (with-profile-tracker #t th)]) + (store-coverage universe-ct ct covout)) + (th))))) + +(set! load-coverage-files + (lambda path* + (let ([ct (make-source-table)]) + (for-each (load-coverage ct) path*) + ct))) + +(set! combine-coverage-files + (lambda (covout covout*) + (let ([ct (make-source-table)]) + (for-each (load-coverage ct) covout*) + (store-coverage ct ct covout)))) + +(set! coverage-percent + (lambda (covout . covin*) + (let ([n (source-table-size (load-coverage-files covout))] + [d (source-table-size (apply load-coverage-files covin*))]) + (printf "~a: covered ~s of ~s source expressions (~s%)\n" + covout n d (round (/ (* n 100) d)))))) (set! mat-run - (case-lambda - [(name) - (fprintf *mat-output* "Warning: empty mat for ~s.~%" name)] - [(name . clauses) - (fprintf *mat-output* "~%Starting mat ~s.~%" name) - (do ([clauses clauses (cdr clauses)] - [count 1 (+ count 1)]) - ((null? clauses) 'done) - (let ([clause (caar clauses)] [source (cadar clauses)]) - (with-exception-handler - (lambda (c) - (if (warning? c) - (raise-continuable c) - (begin - (fprintf *mat-output* "Error printing mat clause: ") - (display-condition c *mat-output*) - (reset)))) - (lambda () - (pretty-print clause *mat-output*) - (flush-output-port *mat-output*))) - (if (and (list? clause) - (= (length clause) 2) - (memq (car clause) '(sanitized-error? error? warning?))) - (let ([expect (case (car clause) [(sanitized-error? error?) 'error] [(warning?) 'warning])]) - (if (and (= (optimize-level) 3) (eq? expect 'error)) - (fprintf *mat-output* "Ignoring error check at optimization level 3.~%") - (let ([ans (mat-one-exp expect (lambda () (eval (cadr clause))) (eq? (car clause) 'sanitized-error?))]) - (cond - [(and (pair? ans) (eq? (car ans) expect)) - (fprintf *mat-output* - "Expected ~s in mat ~s: \"~a\".~%" - expect name (ununicode (cdr ans)))] - [else - (mat-error source "Bug in mat ~s clause ~s" name count)])))) - (let ([ans (mat-one-exp #f (lambda () (eval clause)) #f)]) + (case-lambda + [(name) + (fprintf (mat-output) "Warning: empty mat for ~s.~%" name)] + [(name . clauses) + (fprintf (mat-output) "~%Starting mat ~s.~%" name) + ; release counters for reclaimed code objects between mat groups to reduce gc time + (when (compile-profile) (profile-release-counters)) + (do ([clauses clauses (cdr clauses)] + [count 1 (+ count 1)]) + ((null? clauses) 'done) + (let ([clause (caar clauses)] [source (cadar clauses)]) + (with-exception-handler + (lambda (c) + (if (warning? c) + (raise-continuable c) + (begin + (fprintf (mat-output) "Error printing mat clause: ") + (display-condition c (mat-output)) + (reset)))) + (lambda () + (pretty-print clause (mat-output)) + (flush-output-port (mat-output)))) + (if (and (list? clause) + (= (length clause) 2) + (memq (car clause) '(sanitized-error? error? warning?))) + (let ([expect (case (car clause) [(sanitized-error? error?) 'error] [(warning?) 'warning])]) + (if (and (= (optimize-level) 3) (eq? expect 'error)) + (fprintf (mat-output) "Ignoring error check at optimization level 3.~%") + (let ([ans (mat-one-exp expect (lambda () (eval (cadr clause))) (eq? (car clause) 'sanitized-error?))]) (cond - [(pair? ans) - (mat-error source - "Error in mat ~s clause ~s: \"~a\"" - name - count - (cdr ans))] - [(eq? ans 'false) - (mat-error source - "Bug in mat ~s clause ~s" - name - count)] - [(eq? ans 'true) (void)] - [else - (mat-error source - "Bug (nonboolean, nonstring return value) in mat ~s clause ~s" - name - count)])))))])) - + [(and (pair? ans) (eq? (car ans) expect)) + (fprintf (mat-output) + "Expected ~s in mat ~s: \"~a\".~%" + expect name (ununicode (cdr ans)))] + [else + (mat-error source "Bug in mat ~s clause ~s" name count)])))) + (let ([ans (mat-one-exp #f (lambda () (eval clause)) #f)]) + (cond + [(pair? ans) + (mat-error source + "Error in mat ~s clause ~s: \"~a\"" + name + count + (cdr ans))] + [(eq? ans 'false) + (mat-error source + "Bug in mat ~s clause ~s" + name + count)] + [(eq? ans 'true) (void)] + [else + (mat-error source + "Bug (nonboolean, nonstring return value) in mat ~s clause ~s" + name + count)])))))])) + );let (define equivalent-expansion? @@ -296,8 +360,7 @@ (and (fxvector? y) (fx= (fxvector-length x) (fxvector-length y)) (let f ([i (fx- (fxvector-length x) 1)]) - (if (fx< i 0) - k + (or (fx< i 0) (and (fx= (fxvector-ref x i) (fxvector-ref y i)) (f (fx1- i))))))] [(box? x) (and (box? y) (e? (unbox x) (unbox y)))] @@ -376,7 +439,7 @@ (list->string (subst #\\ #\/ (string->list p))) p))) -(module (separate-eval run-script separate-compile) +(module separate-eval-tools (separate-eval run-script separate-compile) (define (slurp ip) (with-output-to-string (lambda () @@ -421,6 +484,7 @@ [(x) (separate-compile 'compile-file x)] [(cf x) ($separate-eval 'separate-compile `((,cf ,(if (symbol? x) (format "testfile-~a" x) x))))]))) +(import separate-eval-tools) #;(collect-request-handler (begin @@ -486,3 +550,21 @@ (sleep (make-time 'time-duration 1000000 1)) (loop)))) #t)) + +(define preexisting-profile-dump-entry? + (let ([ht (make-eq-hashtable)]) + (for-each (lambda (x) (eq-hashtable-set! ht (car x) #t)) (profile-dump)) + (lambda (x) (eq-hashtable-contains? ht (car x))))) + +(define heap-check-interval (make-parameter 0)) + +(collect-request-handler + (let ([counter 0]) + (lambda () + (parameterize ([#%$enable-check-heap + (let ([interval (heap-check-interval)]) + (and (not (fx= interval 0)) + (let ([n (fxmod (fx+ counter 1) interval)]) + (set! counter n) + (fx= n 0))))]) + (collect))))) diff --git a/mats/misc.ms b/mats/misc.ms index a87b01dfb0..3050feb536 100644 --- a/mats/misc.ms +++ b/mats/misc.ms @@ -1511,639 +1511,6 @@ 0)) ) -(mat compile-profile - (error? ; invalid argument - (compile-profile 'src)) - (eqv? - (parameterize ([compile-profile #t]) - (compile-profile)) - 'source) - (eqv? - (parameterize ([compile-profile 'source]) - (compile-profile)) - 'source) - (eqv? - (parameterize ([compile-profile 'block]) - (compile-profile)) - 'block) - (error? ; incorrect argument count - (profile-dump '())) - (error? ; incorrect argument count - (profile-clear '())) - (error? ; incorrect argument count - (profile-dump-list #t '() 3)) - (error? ; invalid dump - (profile-dump-list #f 17)) - (error? ; invalid dump - (profile-dump-list #f '(17))) - (error? ; invalid dump - (profile-dump-list #f '((a . 17)))) - (error? ; invalid dump - (profile-dump-list #f `((,(make-source-object (source-file-descriptor "abc" 34) 0 3) . q)))) - (error? ; incorrect argument count - (profile-dump-html "" '() 3)) - (error? ; not a string - (profile-dump-html '(prefix))) - (error? ; invalid dump - (profile-dump-html "profile" 17)) - (error? ; invalid dump - (profile-dump-html "profile" '(17))) - (error? ; invalid dump - (profile-dump-html "profile" '((a . 17)))) - (error? ; invalid dump - (profile-dump-html "profile" `((,(make-source-object (source-file-descriptor "abc" 34) 0 3) . q)))) - (error? ; incorrect argument count - (profile-dump-data)) - (error? ; incorrect argument count - (profile-dump-data "profile.data" '() 'q)) - (error? ; not a string - (profile-dump-data #t)) - (error? ; invalid dump - (profile-dump-data "profile.data" 17)) - (error? ; invalid dump - (profile-dump-data "profile.data" '(17))) - (error? ; invalid dump - (profile-dump-data "profile.data" '((a . 17)))) - (error? ; invalid dump - (profile-dump-data "profile.data" `((,(make-source-object (source-file-descriptor "abc" 34) 0 3) . q)))) - (error? ; not a string - (profile-load-data 'what?)) - (eqv? (parameterize ([compile-profile #t]) - (compile - '(let () - (define (f x) (if (= x 0) 1 (* x (f (- x 1))))) - (f 3)))) - 6) - (eqv? (parameterize ([compile-profile #t]) - (compile - '(let () - (define fat+ - (lambda (x y) - (if (zero? y) - x - (fat+ (1+ x) (1- y))))) - (define fatfib - (lambda (x) - (if (< x 2) - 1 - (fat+ (fatfib (1- x)) (fatfib (1- (1- x))))))) - (fatfib 20)))) - 10946) - (equal? - (parameterize ([compile-profile #t]) - (compile - '(let () - (define $values (lambda (n) (lambda () (apply values (make-list n))))) - (define foo - (lambda (n) - (call/cc - (lambda (k) - (with-exception-handler - (lambda (c) (collect) (k 'okay)) - (lambda () - (define f (case-lambda)) - (let ([x (random 10)]) - (call-with-values ($values n) f)))))))) - (list (foo 0) (foo 1) (foo 3) (foo 10) (foo 100) (foo 1000))))) - '(okay okay okay okay okay okay)) - ; no longer recording (useless) profiling information when source file & position aren't available - #;(let ([ls (profile-dump)]) - (and (list? ls) - (not (null? ls)))) - (eqv? (profile-clear) (void)) - (or (eq? (compile-profile) 'source) (andmap zero? (map cdr (profile-dump)))) - (begin (set! cp-fatfib (void)) #t) ; release fatfib - - (begin (define $old-cp (compile-profile)) #t) - ; this collect is here to make it more likely that we won't get a generation 1 - ; collection cementing in place the code that defines cp-fact - (begin (collect 1) #t) - (mat/cf (testfile "testfile") - (eval-when (compile) (compile-profile 'source)) - (define (cp-fact x) (if (= x 0) 1 (* x (cp-fact (- x 1)))))) - (eq? (compile-profile) $old-cp) - ; drop code that defines cp-fact so it won't show up in profile-dump-list in - ; hopes of resolving potential issue with comparison to pdl further down - (begin (collect (collect-maximum-generation)) #t) - (= (cp-fact 10) 3628800) - (begin - (define-values (pdl pdl2) - (with-interrupts-disabled - (values - (profile-dump-list #t (profile-dump)) - (profile-dump-list)))) - #t) - (equal? pdl pdl2) - (not (null? pdl)) - (begin - (rm-rf "testdir") - (mkdir "testdir") - (parameterize ([gensym-prefix 0]) (profile-dump-html "testdir/" (profile-dump))) - #t) - (file-exists? "testdir/profile.html") - (file-exists? "testdir/testfile.ss.html") - - (begin (define $old-cp (compile-profile)) #t) - (mat/cf (testfile "testfile-block") - (eval-when (compile) (compile-profile 'block)) - (define (cp-fact-block x) (if (= x 0) 1 (* x (cp-fact-block (- x 1)))))) - (eq? (compile-profile) $old-cp) - (= (cp-fact-block 10) 3628800) - (or (equal? (compile-profile) 'source) (equal? (profile-dump-list) pdl)) - (begin - (profile-dump-html) - #t) - (file-exists? "profile.html") - (file-exists? "testfile.ss.html") - (not (file-exists? "testfile2.ss.html")) - - (eqv? (profile-clear) (void)) - - (mat/cf (testfile "testfile") - (eval-when (compile) (compile-profile #t)) - (define (cp-fact x) (if (= x 0) 1 (* x (cp-fact (- x 1)))))) - (= (cp-fact 10) 3628800) - (eqv? (profile-dump-data "testfile1.pd") (void)) - (file-exists? "testfile1.pd") - (eqv? (profile-load-data "testfile1.pd") (void)) - (begin - (define $cp-ip (open-file-input-port "testfile.ss")) - (define $cp-sfd (make-source-file-descriptor "testfile.ss" $cp-ip)) - (define $qw (lambda (bfp efp) (profile-query-weight (make-source-object $cp-sfd bfp efp)))) - #t) - - (eqv? (close-port $cp-ip) (void)) - - (eqv? ($qw 0 0) 0.0) ; bfp, efp combination not in database - (eqv? ; file not in database - (let* ([ip (open-file-input-port "Mf-base")] - [sfd (make-source-file-descriptor "Mf-base" ip)]) - (close-port ip) - (profile-query-weight (make-source-object sfd 0 0))) - #f) - ((lambda (x) (and (memv x (list 0.0 (/ 1.0 11.0))) #t)) ($qw 0 42)) - ((lambda (x) (and (memv x (list 0.0 (/ 1.0 11.0))) #t)) ($qw 43 102)) - (eqv? ($qw 63 101) 1.0) - (eqv? ($qw 75 76) (fl/ 1.0 11.0)) - (eqv? ($qw 77 100) (fl/ 10.0 11.0)) - ((lambda (x) (and (memv x (list 0.0 (/ 1.0 11.0))) #t)) ($qw 103 127)) - (eqv? ($qw 119 126) 0.0) - (eqv? ($qw 120 125) 0.0) - (eqv? (profile-clear) (void)) - (= (cp-fact 5) 120) - (eqv? (profile-dump-data "testfile2.pd") (void)) - (eqv? (profile-load-data "testfile2.pd") (void)) - ((lambda (x) (and (memv x (list 0.0 (/ 1.0 11.0) (fl/ (/ 1.0 11.0) 2.0))) #t)) ($qw 0 42)) - (eqv? ($qw 21 40) 0.0) - ((lambda (x) (and (memv x (list 0.0 (/ 1.0 11.0) (fl/ (/ 1.0 11.0) 2.0))) #t)) ($qw 43 102)) - (eqv? ($qw 63 101) 1.0) - (eqv? ($qw 75 76) (fl/ (fl+ (/ 1.0 11.0) (fl/ 1.0 6.0)) 2.0)) - (eqv? ($qw 77 100) (fl/ (fl+ (fl/ 10.0 11.0) (fl/ 5.0 6.0)) 2.0)) - ((lambda (x) (and (memv x (list 0.0 (/ 1.0 11.0) (fl/ (/ 1.0 11.0) 2.0))) #t)) ($qw 103 127)) - (eqv? ($qw 119 126) 0.0) - (eqv? ($qw 120 125) 0.0) - (eqv? (profile-clear) (void)) - - ; make sure all is well when compiled with source profile info - (mat/cf (testfile "testfile") - (eval-when (compile) (compile-profile 'block)) - (define (cp-fact x) (if (= x 0) 1 (* x (cp-fact (- x 1)))))) - (eqv? (profile-dump-data "testfile3.pd") (void)) - (file-exists? "testfile3.pd") - (eqv? (profile-load-data "testfile3.pd") (void)) - ; and again with block profile info - (mat/cf (testfile "testfile") - (eval-when (compile) (compile-profile #f)) - (define (cp-fact x) (if (= x 0) 1 (* x (cp-fact (- x 1)))))) - (= (cp-fact 5) 120) - - (eqv? (profile-clear-database) (void)) - (eqv? ($qw 0 42) #f) - (eqv? ($qw 77 100) #f) - - ; make sure record-ref, record-type, and record-cd are properly handled by - ; find-source in pdhtml - (mat/cf - (eval-when (compile) (compile-profile #t)) - (library (A) (export make-foo foo? foo-x) (import (chezscheme)) (define-record-type foo (fields x))) - (let () - (import (A)) - (define add-foo-xs - (lambda ls - (let f ([ls ls] [sum 0]) - (if (null? ls) sum (f (cdr ls) (+ (foo-x (car ls)) sum)))))) - ; make sure this is still around when we call profile-dump-list - (set! $add-foo-xs add-foo-xs) - (pretty-print (add-foo-xs (make-foo 1) (make-foo 2) (make-foo 3))))) - (not (null? (profile-dump-list))) - (eqv? (profile-clear) (void)) - (begin (set! $add-foo-xs #f) #t) - - (vector? (profile-palette)) - (vector? - (parameterize ([profile-palette (vector-map - (lambda (p) (cons "white" (car p))) - (profile-palette))]) - (profile-palette))) - (parameterize ([profile-palette - '#(("black" . "white") - ("red" . "white") - ("blue" . "black"))]) - (= (vector-length (profile-palette)) 3)) - (error? (profile-palette '#())) - (error? (profile-palette '#(("black" . "white")))) - (error? (profile-palette '#(("black" . "white") ("red" . "white")))) - (error? - (profile-palette - '#(("black" . "white") - #("red" "white") - ("blue" . "black")))) - (error? - (profile-palette - '#(("black" . "white") - ("red" . "white") - ("blue" . black)))) - (error? - (profile-palette - '#(("black" . "white") - ("red" . "white") - (#x0000ff . "black")))) - ; test for proper counts in the presence of control operators - (begin - (define $return) - (define $retry) - (with-output-to-file "testfile-cp1.ss" - (lambda () - (display-string "\ -(define $frumble - (lambda (ls) - (if (null? ls) - 1 - (let ([n (car ls)]) - (if (eqv? n 0) - (call/cc (lambda (k) (set! $retry k) ($return 0))) - (let ([q ($frumble (cdr ls))]) - (add1 (* q n)))))))) -")) - 'replace) - (profile-clear) - (parameterize ([enable-cp0 #t] [#%$suppress-primitive-inlining #f] [optimize-level 2] [compile-profile #t]) - (load "testfile-cp1.ss" compile)) - #t) - (eqv? - ($frumble (make-list 100 5)) - 9860761315262647567646607066034827870915080438862787559628486633300781) - (equal? - (filter (lambda (x) (equal? (cadr x) "testfile-cp1.ss")) (profile-dump-list)) - '((101 "testfile-cp1.ss" 36 258 3 5) - (101 "testfile-cp1.ss" 40 50 3 9) - (101 "testfile-cp1.ss" 41 46 3 10) - (101 "testfile-cp1.ss" 47 49 3 16) - (100 "testfile-cp1.ss" 69 257 5 9) - (100 "testfile-cp1.ss" 78 86 5 18) - (100 "testfile-cp1.ss" 79 82 5 19) - (100 "testfile-cp1.ss" 83 85 5 23) - (100 "testfile-cp1.ss" 99 256 6 11) - (100 "testfile-cp1.ss" 103 113 6 15) - (100 "testfile-cp1.ss" 104 108 6 16) - (100 "testfile-cp1.ss" 109 110 6 21) - (100 "testfile-cp1.ss" 111 112 6 23) - (100 "testfile-cp1.ss" 193 255 8 15) - (100 "testfile-cp1.ss" 202 221 8 24) - (100 "testfile-cp1.ss" 203 211 8 25) - (100 "testfile-cp1.ss" 212 220 8 34) - (100 "testfile-cp1.ss" 213 216 8 35) - (100 "testfile-cp1.ss" 217 219 8 39) - (100 "testfile-cp1.ss" 240 254 9 17) - (100 "testfile-cp1.ss" 241 245 9 18) - (100 "testfile-cp1.ss" 246 253 9 23) - (100 "testfile-cp1.ss" 247 248 9 24) - (100 "testfile-cp1.ss" 249 250 9 26) - (100 "testfile-cp1.ss" 251 252 9 28) - (1 "testfile-cp1.ss" 0 260 1 1) - (1 "testfile-cp1.ss" 19 259 2 3) - (1 "testfile-cp1.ss" 59 60 4 9) - (0 "testfile-cp1.ss" 128 178 7 15) - (0 "testfile-cp1.ss" 129 136 7 16) - (0 "testfile-cp1.ss" 137 177 7 24) - (0 "testfile-cp1.ss" 149 164 7 36) - (0 "testfile-cp1.ss" 162 163 7 49) - (0 "testfile-cp1.ss" 165 176 7 52) - (0 "testfile-cp1.ss" 166 173 7 53) - (0 "testfile-cp1.ss" 174 175 7 61))) - (eqv? - (call/cc - (lambda (k) - (set! $return k) - (let ([ans ($frumble (append (make-list 50 5) (list 0) (make-list 50 7)))]) - ($return ans)))) - 0) - (equal? - (filter (lambda (x) (equal? (cadr x) "testfile-cp1.ss")) (profile-dump-list)) - '((152 "testfile-cp1.ss" 36 258 3 5) - (152 "testfile-cp1.ss" 40 50 3 9) - (152 "testfile-cp1.ss" 41 46 3 10) - (152 "testfile-cp1.ss" 47 49 3 16) - (151 "testfile-cp1.ss" 69 257 5 9) - (151 "testfile-cp1.ss" 78 86 5 18) - (151 "testfile-cp1.ss" 79 82 5 19) - (151 "testfile-cp1.ss" 83 85 5 23) - (151 "testfile-cp1.ss" 99 256 6 11) - (151 "testfile-cp1.ss" 103 113 6 15) - (151 "testfile-cp1.ss" 104 108 6 16) - (151 "testfile-cp1.ss" 109 110 6 21) - (151 "testfile-cp1.ss" 111 112 6 23) - (150 "testfile-cp1.ss" 193 255 8 15) - (150 "testfile-cp1.ss" 202 221 8 24) - (150 "testfile-cp1.ss" 203 211 8 25) - (150 "testfile-cp1.ss" 212 220 8 34) - (150 "testfile-cp1.ss" 213 216 8 35) - (150 "testfile-cp1.ss" 217 219 8 39) - (100 "testfile-cp1.ss" 240 254 9 17) - (100 "testfile-cp1.ss" 241 245 9 18) - (100 "testfile-cp1.ss" 246 253 9 23) - (100 "testfile-cp1.ss" 247 248 9 24) - (100 "testfile-cp1.ss" 249 250 9 26) - (100 "testfile-cp1.ss" 251 252 9 28) - (1 "testfile-cp1.ss" 0 260 1 1) - (1 "testfile-cp1.ss" 19 259 2 3) - (1 "testfile-cp1.ss" 59 60 4 9) - (1 "testfile-cp1.ss" 128 178 7 15) - (1 "testfile-cp1.ss" 129 136 7 16) - (1 "testfile-cp1.ss" 137 177 7 24) - (1 "testfile-cp1.ss" 149 164 7 36) - (1 "testfile-cp1.ss" 162 163 7 49) - (1 "testfile-cp1.ss" 165 176 7 52) - (1 "testfile-cp1.ss" 166 173 7 53) - (1 "testfile-cp1.ss" 174 175 7 61))) - (eqv? - (call/cc - (lambda (k) - (set! $return k) - ($retry 1))) - 111022302462515654042363166809082031) - (equal? - (filter (lambda (x) (equal? (cadr x) "testfile-cp1.ss")) (profile-dump-list)) - '((152 "testfile-cp1.ss" 36 258 3 5) - (152 "testfile-cp1.ss" 40 50 3 9) - (152 "testfile-cp1.ss" 41 46 3 10) - (152 "testfile-cp1.ss" 47 49 3 16) - (151 "testfile-cp1.ss" 69 257 5 9) - (151 "testfile-cp1.ss" 78 86 5 18) - (151 "testfile-cp1.ss" 79 82 5 19) - (151 "testfile-cp1.ss" 83 85 5 23) - (151 "testfile-cp1.ss" 99 256 6 11) - (151 "testfile-cp1.ss" 103 113 6 15) - (151 "testfile-cp1.ss" 104 108 6 16) - (151 "testfile-cp1.ss" 109 110 6 21) - (151 "testfile-cp1.ss" 111 112 6 23) - (150 "testfile-cp1.ss" 193 255 8 15) - (150 "testfile-cp1.ss" 202 221 8 24) - (150 "testfile-cp1.ss" 203 211 8 25) - (150 "testfile-cp1.ss" 212 220 8 34) - (150 "testfile-cp1.ss" 213 216 8 35) - (150 "testfile-cp1.ss" 217 219 8 39) - (150 "testfile-cp1.ss" 240 254 9 17) - (150 "testfile-cp1.ss" 241 245 9 18) - (150 "testfile-cp1.ss" 246 253 9 23) - (150 "testfile-cp1.ss" 247 248 9 24) - (150 "testfile-cp1.ss" 249 250 9 26) - (150 "testfile-cp1.ss" 251 252 9 28) - (1 "testfile-cp1.ss" 0 260 1 1) - (1 "testfile-cp1.ss" 19 259 2 3) - (1 "testfile-cp1.ss" 59 60 4 9) - (1 "testfile-cp1.ss" 128 178 7 15) - (1 "testfile-cp1.ss" 129 136 7 16) - (1 "testfile-cp1.ss" 137 177 7 24) - (1 "testfile-cp1.ss" 149 164 7 36) - (1 "testfile-cp1.ss" 162 163 7 49) - (1 "testfile-cp1.ss" 165 176 7 52) - (1 "testfile-cp1.ss" 166 173 7 53) - (1 "testfile-cp1.ss" 174 175 7 61))) - (begin - (collect (collect-maximum-generation)) ; drop code object for the define and lambda - (profile-release-counters) ; drop proile information for the dropped code object - #t) - (equal? - (filter (lambda (x) (equal? (cadr x) "testfile-cp1.ss")) (profile-dump-list)) - '((152 "testfile-cp1.ss" 36 258 3 5) - (152 "testfile-cp1.ss" 40 50 3 9) - (152 "testfile-cp1.ss" 41 46 3 10) - (152 "testfile-cp1.ss" 47 49 3 16) - (151 "testfile-cp1.ss" 69 257 5 9) - (151 "testfile-cp1.ss" 78 86 5 18) - (151 "testfile-cp1.ss" 79 82 5 19) - (151 "testfile-cp1.ss" 83 85 5 23) - (151 "testfile-cp1.ss" 99 256 6 11) - (151 "testfile-cp1.ss" 103 113 6 15) - (151 "testfile-cp1.ss" 104 108 6 16) - (151 "testfile-cp1.ss" 109 110 6 21) - (151 "testfile-cp1.ss" 111 112 6 23) - (150 "testfile-cp1.ss" 193 255 8 15) - (150 "testfile-cp1.ss" 202 221 8 24) - (150 "testfile-cp1.ss" 203 211 8 25) - (150 "testfile-cp1.ss" 212 220 8 34) - (150 "testfile-cp1.ss" 213 216 8 35) - (150 "testfile-cp1.ss" 217 219 8 39) - (150 "testfile-cp1.ss" 240 254 9 17) - (150 "testfile-cp1.ss" 241 245 9 18) - (150 "testfile-cp1.ss" 246 253 9 23) - (150 "testfile-cp1.ss" 247 248 9 24) - (150 "testfile-cp1.ss" 249 250 9 26) - (150 "testfile-cp1.ss" 251 252 9 28) - (1 "testfile-cp1.ss" 59 60 4 9) - (1 "testfile-cp1.ss" 128 178 7 15) - (1 "testfile-cp1.ss" 129 136 7 16) - (1 "testfile-cp1.ss" 137 177 7 24) - (1 "testfile-cp1.ss" 149 164 7 36) - (1 "testfile-cp1.ss" 162 163 7 49) - (1 "testfile-cp1.ss" 165 176 7 52) - (1 "testfile-cp1.ss" 166 173 7 53) - (1 "testfile-cp1.ss" 174 175 7 61))) - ; test profiling with compiled files - (begin - (with-output-to-file "testfile-cp2.ss" - (lambda () - (display-string "\ -(define cp2-fib - (rec fib - (lambda (n) - (cond - [(fx= n 0) 1] - [(fx= n 1) 1] - [else (+ (fib (- n 1)) (fib (- n 2)))])))) -")) - 'replace) - (parameterize ([enable-cp0 #t] [#%$suppress-primitive-inlining #f] [optimize-level 2] [compile-profile #t]) - (compile-file "testfile-cp2")) - (profile-clear) - (load "testfile-cp2.so") - #t) - (eqv? (cp2-fib 10) 89) - (equal? - (filter (lambda (x) (equal? (cadr x) "testfile-cp2.ss")) (profile-dump-list)) - '((177 "testfile-cp2.ss" 49 146 4 7) - (177 "testfile-cp2.ss" 64 73 5 10) - (177 "testfile-cp2.ss" 65 68 5 11) - (177 "testfile-cp2.ss" 69 70 5 15) - (177 "testfile-cp2.ss" 71 72 5 17) - (143 "testfile-cp2.ss" 86 95 6 10) - (143 "testfile-cp2.ss" 87 90 6 11) - (143 "testfile-cp2.ss" 91 92 6 15) - (143 "testfile-cp2.ss" 93 94 6 17) - (88 "testfile-cp2.ss" 113 144 7 15) - (88 "testfile-cp2.ss" 114 115 7 16) - (88 "testfile-cp2.ss" 116 129 7 18) - (88 "testfile-cp2.ss" 117 120 7 19) - (88 "testfile-cp2.ss" 121 128 7 23) - (88 "testfile-cp2.ss" 122 123 7 24) - (88 "testfile-cp2.ss" 124 125 7 26) - (88 "testfile-cp2.ss" 126 127 7 28) - (88 "testfile-cp2.ss" 130 143 7 32) - (88 "testfile-cp2.ss" 131 134 7 33) - (88 "testfile-cp2.ss" 135 142 7 37) - (88 "testfile-cp2.ss" 136 137 7 38) - (88 "testfile-cp2.ss" 138 139 7 40) - (88 "testfile-cp2.ss" 140 141 7 42) - (55 "testfile-cp2.ss" 96 97 6 20) - (34 "testfile-cp2.ss" 74 75 5 20) - (1 "testfile-cp2.ss" 0 149 1 1) - (1 "testfile-cp2.ss" 18 148 2 3) - (1 "testfile-cp2.ss" 23 26 2 8) - (1 "testfile-cp2.ss" 31 147 3 5))) - (begin - (collect (collect-maximum-generation)) ; drop code object for the define and lambda - (profile-release-counters) ; drop proile information for the dropped code object - #t) - (equal? - (filter (lambda (x) (equal? (cadr x) "testfile-cp2.ss")) (profile-dump-list)) - '((177 "testfile-cp2.ss" 49 146 4 7) - (177 "testfile-cp2.ss" 64 73 5 10) - (177 "testfile-cp2.ss" 65 68 5 11) - (177 "testfile-cp2.ss" 69 70 5 15) - (177 "testfile-cp2.ss" 71 72 5 17) - (143 "testfile-cp2.ss" 86 95 6 10) - (143 "testfile-cp2.ss" 87 90 6 11) - (143 "testfile-cp2.ss" 91 92 6 15) - (143 "testfile-cp2.ss" 93 94 6 17) - (88 "testfile-cp2.ss" 113 144 7 15) - (88 "testfile-cp2.ss" 114 115 7 16) - (88 "testfile-cp2.ss" 116 129 7 18) - (88 "testfile-cp2.ss" 117 120 7 19) - (88 "testfile-cp2.ss" 121 128 7 23) - (88 "testfile-cp2.ss" 122 123 7 24) - (88 "testfile-cp2.ss" 124 125 7 26) - (88 "testfile-cp2.ss" 126 127 7 28) - (88 "testfile-cp2.ss" 130 143 7 32) - (88 "testfile-cp2.ss" 131 134 7 33) - (88 "testfile-cp2.ss" 135 142 7 37) - (88 "testfile-cp2.ss" 136 137 7 38) - (88 "testfile-cp2.ss" 138 139 7 40) - (88 "testfile-cp2.ss" 140 141 7 42) - (55 "testfile-cp2.ss" 96 97 6 20) - (34 "testfile-cp2.ss" 74 75 5 20))) - (eqv? (profile-clear) (void)) - (begin - (with-output-to-file "testfile.ss" - (lambda () - (pretty-print - '(define f (lambda () 0)))) - 'replace) - (parameterize ([compile-profile #t]) (load "testfile.ss" compile)) - #t) - (begin - (with-output-to-file "testfile.ss" - (lambda () - (pretty-print - '(define f (lambda () 1)))) - 'replace) - #t) - (eqv? (f) 0) - (warning? ; unmodified source file not found - (profile-dump-list)) - (warning? ; unmodified source file not found - (profile-dump-list #t)) - (warning? ; unmodified source file not found - (profile-dump-list #t (profile-dump))) - (warning? ; unmodified source file not found - (profile-dump-list #t (profile-dump))) - (guard (c [else #f]) - (profile-dump-list #f) - #t) - (guard (c [else #f]) - (profile-dump-list #f (profile-dump)) - #t) - (eqv? (profile-clear) (void)) -) - -(mat profile-form - (error? ; invalid syntax - (profile)) - (error? ; invalid syntax - (profile 1 2 3)) - (error? ; not a source object - (profile 3)) - (begin - (define str "(ugh (if \x3b2;))") - (define bv (string->utf8 str)) - (define ip (open-bytevector-input-port bv)) - (define sfd (make-source-file-descriptor "foo" ip #t)) - #t) - (eq? (eval `(profile ,(make-source-object sfd 2 3))) (void)) - (begin - (define compile-triv-file - (lambda (ifn ofn) - (define insert-profile-forms - (lambda (x) - (unless (annotation? x) (errorf 'compile-triv-file "expected an annotation, got ~s" x)) - (let ([src (annotation-source x)] [exp (annotation-expression x)]) - `(begin (profile ,src) - ,(syntax-case exp () - [(?do-times n e) - (eq? (annotation-expression #'?do-times) 'do-times) - (let ([n (annotation-expression #'n)]) - `(do ([i ,n (fx- i 1)]) ((fx= i 0)) ,(insert-profile-forms #'e)))] - [(?print string) - (eq? (annotation-expression #'?print) 'print) - `(printf "~a\n" ,(annotation-expression #'string))] - [else (syntax-error exp)]))))) - (define parse - (lambda (ifn) - (let ([ip (open-file-input-port ifn)]) - (let ([sfd (make-source-file-descriptor ifn ip #t)]) - (let ([ip (transcoded-port ip (native-transcoder))]) - (let f ([bfp 0]) - (let-values ([(x bfp) (get-datum/annotations ip sfd bfp)]) - (if (eof-object? x) - (begin (close-port ip) '()) - (cons x (f bfp)))))))))) - (parameterize ([compile-profile 'source] [generate-profile-forms #f]) - (compile-to-file (list `(define (triv) ,@(map insert-profile-forms (parse ifn)))) ofn)))) - #t) - (begin - (with-output-to-file "testfile-triv.ss" - (lambda () - (pretty-print '(do-times 10 (print "hello"))) - (pretty-print '(do-times 5 (print "goodbye")))) - 'replace) - (compile-triv-file "testfile-triv.ss" "testfile-triv.so") - (load "testfile-triv.so") - #t) - (equal? - (with-output-to-string triv) - "hello\nhello\nhello\nhello\nhello\nhello\nhello\nhello\nhello\nhello\ngoodbye\ngoodbye\ngoodbye\ngoodbye\ngoodbye\n") - (equal? - (sort - ; sort by bfp - (lambda (x y) (< (list-ref x 2) (list-ref y 2))) - (filter (lambda (x) (equal? (list-ref x 1) "testfile-triv.ss")) (profile-dump-list))) - '((1 "testfile-triv.ss" 0 29 1 1) - (10 "testfile-triv.ss" 13 28 1 14) - (1 "testfile-triv.ss" 30 60 2 1) - (5 "testfile-triv.ss" 42 59 2 13))) - (eqv? (profile-clear) (void)) -) - (mat generate-procedure-source-information (begin (define the-source @@ -2213,11 +1580,12 @@ 'replace) (with-output-to-file "testfile-sff-1c.ss" (lambda () + (pretty-print '(define preexisting-entries (length (profile-dump)))) (pretty-print '(eval-when (compile) (import (add-prefix (testfile-sff-1a) sff-1a-)))) (pretty-print '(eval-when (compile) (import (add-prefix (testfile-sff-1b) sff-1b-)))) (pretty-print '(pretty-print (list (sff-1a-x 3) sff-1b-y))) (pretty-print '(pretty-print (not (((inspect/object sff-1a-x) 'code) 'source)))) - (pretty-print '(pretty-print (null? (profile-dump-list))))) + (pretty-print '(pretty-print (= (length (profile-dump)) preexisting-entries)))) 'replace) (separate-compile '(lambda (x) @@ -2227,65 +1595,50 @@ (compile-file x))) 'sff-1c) #t) + (begin + (define (go) + (separate-eval + '(define preexisting-entries + (with-exception-handler + (lambda (c) (unless (warning? c) (raise-continuable c))) + (lambda () (length (profile-dump-list))))) + '(import (testfile-sff-1a)) + '(import (testfile-sff-1b)) + '(define-syntax so? + (lambda (x) + (syntax-case x () + [(_ q) (and (syntax->annotation #'q) #t)]))) + '(list a (b so?) (x 3) y) + '(not (((inspect/object x) 'code) 'source)) + '(define all-entries + (with-exception-handler + (lambda (c) (unless (warning? c) (raise-continuable c))) + (lambda () (length (profile-dump-list))))) + '(= all-entries preexisting-entries))) + #t) (equal? - (separate-eval - '(import (testfile-sff-1a)) - '(import (testfile-sff-1b)) - '(define-syntax so? - (lambda (x) - (syntax-case x () - [(_ q) (and (syntax->annotation #'q) #t)]))) - '(list a (b so?) (x 3) y) - '(not (((inspect/object x) 'code) 'source)) - '(null? (profile-dump-list))) + (go) "(120 #t 6 24)\n#f\n#f\n") (strip-and-check "testfile-sff-1a.so" "testfile-sff-1a.so" (fasl-strip-options inspector-source)) (strip-and-check "testfile-sff-1b.so" "testfile-sff-1b.so" (fasl-strip-options inspector-source)) (equal? - (separate-eval - '(import (testfile-sff-1a)) - '(import (testfile-sff-1b)) - '(define-syntax so? - (lambda (x) - (syntax-case x () - [(_ q) (and (syntax->annotation #'q) #t)]))) - '(list a (b so?) (x 3) y) - '(not (((inspect/object x) 'code) 'source)) - '(null? (profile-dump-list))) + (go) "(120 #t 6 24)\n#t\n#f\n") (strip-and-check "testfile-sff-1a.so" "testfile-sff-1a.so" (fasl-strip-options profile-source)) (strip-and-check "testfile-sff-1b.so" "testfile-sff-1b.so" (fasl-strip-options profile-source)) (equal? - (separate-eval - '(import (testfile-sff-1b)) - '(import (testfile-sff-1a)) - '(define-syntax so? - (lambda (x) - (syntax-case x () - [(_ q) (and (syntax->annotation #'q) #t)]))) - '(list a (b so?) (x 3) y) - '(not (((inspect/object x) 'code) 'source)) - '(null? (profile-dump-list))) + (go) "(120 #t 6 24)\n#t\n#t\n") (strip-and-check "testfile-sff-1a.so" "testfile-sff-1a.so" (fasl-strip-options source-annotations)) (strip-and-check "testfile-sff-1b.so" "testfile-sff-1b.so" (fasl-strip-options source-annotations)) (equal? - (separate-eval - '(import (testfile-sff-1b)) - '(import (testfile-sff-1a)) - '(define-syntax so? - (lambda (x) - (syntax-case x () - [(_ q) (and (syntax->annotation #'q) #t)]))) - '(list a (b so?) (x 3) y) - '(not (((inspect/object x) 'code) 'source)) - '(null? (profile-dump-list))) + (go) "(120 #f 6 24)\n#t\n#t\n") (strip-and-check "testfile-sff-1a.so" "testfile-sff-1a.so" (fasl-strip-options compile-time-information)) @@ -2301,8 +1654,8 @@ '(expand 'b) '(load "testfile-sff-1c.so") '(guard (c [else (display-condition c) (newline) #t]) (eval '(import (testfile-sff-1b))))) - "Exception: loading testfile-sff-1b.so did not define compile-time information for library (testfile-sff-1b)\n#t\n\ - Exception: loading testfile-sff-1a.so did not define compile-time information for library (testfile-sff-1a)\n#t\n\ + "Exception: loading testfile-sff-1b.so did not define library (testfile-sff-1b)\n#t\n\ + Exception: loading testfile-sff-1a.so did not define library (testfile-sff-1a)\n#t\n\ a\nb\n\ (6 24)\n#t\n#t\n\ Exception: loading testfile-sff-1b.so did not define compile-time information for library (testfile-sff-1b)\n#t\n\ @@ -5168,3 +4521,9 @@ (mutable-bytevector? '#vu8()) ) + +(mat show-allocation + (begin + (#%$show-allocation #t) + #t) +) diff --git a/mats/patch-compile-0-f-f-t b/mats/patch-compile-0-f-f-t index 78aaac2c07..4d92329593 100644 --- a/mats/patch-compile-0-f-f-t +++ b/mats/patch-compile-0-f-f-t @@ -1,7 +1,7 @@ -*** errors-compile-0-f-f-f 2019-02-12 01:00:43.726170571 -0500 ---- errors-compile-0-f-f-t 2019-02-12 01:14:58.071195602 -0500 +*** errors-compile-0-f-f-f 2019-08-29 13:04:56.353541282 -0400 +--- errors-compile-0-f-f-t 2019-08-29 13:13:37.159245573 -0400 *************** -*** 3660,3666 **** +*** 3699,3705 **** misc.mo:Expected error in mat compute-composition: "compute-composition: invalid generation -1". misc.mo:Expected error in mat compute-composition: "compute-composition: invalid generation "static"". misc.mo:Expected error in mat make-object-finder: "make-object-finder: 17 is not a procedure". @@ -9,7 +9,7 @@ misc.mo:Expected error in mat make-object-finder: "make-object-finder: invalid generation oldgen". misc.mo:Expected error in mat make-object-finder: "make-object-finder: invalid generation -1". misc.mo:Expected error in mat make-object-finder: "incorrect number of arguments to #". ---- 3660,3666 ---- +--- 3699,3705 ---- misc.mo:Expected error in mat compute-composition: "compute-composition: invalid generation -1". misc.mo:Expected error in mat compute-composition: "compute-composition: invalid generation "static"". misc.mo:Expected error in mat make-object-finder: "make-object-finder: 17 is not a procedure". @@ -18,7 +18,7 @@ misc.mo:Expected error in mat make-object-finder: "make-object-finder: invalid generation -1". misc.mo:Expected error in mat make-object-finder: "incorrect number of arguments to #". *************** -*** 7159,7169 **** +*** 7182,7192 **** 7.mo:Expected error in mat sstats: "set-sstats-gc-bytes!: twelve is not an exact integer". 7.mo:Expected error in mat bytes-allocated: "bytes-allocated: invalid generation yuk". 7.mo:Expected error in mat bytes-allocated: "bytes-allocated: invalid generation -1". @@ -30,7 +30,7 @@ 7.mo:Expected error in mat bytes-allocated: "bytes-allocated: invalid space gnu". 7.mo:Expected error in mat bytes-allocated: "bytes-allocated: invalid space gnu". 7.mo:Expected error in mat bytes-allocated: "bytes-allocated: invalid space gnu". ---- 7159,7169 ---- +--- 7182,7192 ---- 7.mo:Expected error in mat sstats: "set-sstats-gc-bytes!: twelve is not an exact integer". 7.mo:Expected error in mat bytes-allocated: "bytes-allocated: invalid generation yuk". 7.mo:Expected error in mat bytes-allocated: "bytes-allocated: invalid generation -1". @@ -43,7 +43,7 @@ 7.mo:Expected error in mat bytes-allocated: "bytes-allocated: invalid space gnu". 7.mo:Expected error in mat bytes-allocated: "bytes-allocated: invalid space gnu". *************** -*** 8595,8607 **** +*** 8625,8637 **** fx.mo:Expected error in mat r6rs:fx-: "fx-: #f is not a fixnum". fx.mo:Expected error in mat r6rs:fx-: "fx-: #f is not a fixnum". fx.mo:Expected error in mat fx*: "fx*: (a . b) is not a fixnum". @@ -57,7 +57,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". ---- 8595,8607 ---- +--- 8625,8637 ---- fx.mo:Expected error in mat r6rs:fx-: "fx-: #f is not a fixnum". fx.mo:Expected error in mat r6rs:fx-: "fx-: #f is not a fixnum". fx.mo:Expected error in mat fx*: "fx*: (a . b) is not a fixnum". diff --git a/mats/patch-compile-0-f-t-f b/mats/patch-compile-0-f-t-f index a548d2d2ec..3f7a874a0d 100644 --- a/mats/patch-compile-0-f-t-f +++ b/mats/patch-compile-0-f-t-f @@ -1,7 +1,7 @@ -*** errors-compile-0-f-f-f 2019-03-20 19:56:48.000000000 -0600 ---- errors-compile-0-f-t-f 2019-03-20 19:09:54.000000000 -0600 +*** errors-compile-0-f-f-f 2019-09-03 15:44:15.000000000 -0700 +--- errors-compile-0-f-t-f 2019-09-03 15:14:11.000000000 -0700 *************** -*** 125,131 **** +*** 176,182 **** 3.mo:Expected error in mat dipa-letrec: "attempt to reference undefined variable a". 3.mo:Expected error in mat dipa-letrec: "attempt to reference undefined variable c". 3.mo:Expected error in mat dipa-letrec: "attempt to reference undefined variable m". @@ -9,7 +9,7 @@ 3.mo:Expected error in mat dipa-letrec: "attempt to reference undefined variable y". 3.mo:Expected error in mat dipa-letrec: "attempt to reference undefined variable a". 3.mo:Expected error in mat dipa-letrec: "attempt to reference undefined variable a". ---- 125,131 ---- +--- 176,182 ---- 3.mo:Expected error in mat dipa-letrec: "attempt to reference undefined variable a". 3.mo:Expected error in mat dipa-letrec: "attempt to reference undefined variable c". 3.mo:Expected error in mat dipa-letrec: "attempt to reference undefined variable m". @@ -18,7 +18,7 @@ 3.mo:Expected error in mat dipa-letrec: "attempt to reference undefined variable a". 3.mo:Expected error in mat dipa-letrec: "attempt to reference undefined variable a". *************** -*** 144,150 **** +*** 195,201 **** 3.mo:Expected error in mat cpvalid: "attempt to reference undefined variable b". 3.mo:Expected error in mat cpvalid: "attempt to reference undefined variable a". 3.mo:Expected error in mat cpvalid: "attempt to reference undefined variable g". @@ -26,7 +26,7 @@ 3.mo:Expected error in mat cpvalid: "attempt to reference undefined variable f". 3.mo:Expected error in mat cpvalid: "attempt to reference undefined variable c". 3.mo:Expected warning in mat cpvalid: "possible attempt to reference undefined variable x". ---- 144,150 ---- +--- 195,201 ---- 3.mo:Expected error in mat cpvalid: "attempt to reference undefined variable b". 3.mo:Expected error in mat cpvalid: "attempt to reference undefined variable a". 3.mo:Expected error in mat cpvalid: "attempt to reference undefined variable g". @@ -35,7 +35,7 @@ 3.mo:Expected error in mat cpvalid: "attempt to reference undefined variable c". 3.mo:Expected warning in mat cpvalid: "possible attempt to reference undefined variable x". *************** -*** 191,200 **** +*** 242,251 **** 3.mo:Expected error in mat mrvs: "returned three values to single value return context". 3.mo:Expected error in mat mrvs: "returned three values to single value return context". 3.mo:Expected error in mat mrvs: "returned zero values to single value return context". @@ -46,7 +46,7 @@ 3.mo:Expected error in mat mrvs: "variable $mrvs-foo is not bound". 3.mo:Expected error in mat mrvs: "attempt to apply non-procedure 17". 3.mo:Expected error in mat mrvs: "returned two values to single value return context". ---- 191,200 ---- +--- 242,251 ---- 3.mo:Expected error in mat mrvs: "returned three values to single value return context". 3.mo:Expected error in mat mrvs: "returned three values to single value return context". 3.mo:Expected error in mat mrvs: "returned zero values to single value return context". @@ -58,7 +58,7 @@ 3.mo:Expected error in mat mrvs: "attempt to apply non-procedure 17". 3.mo:Expected error in mat mrvs: "returned two values to single value return context". *************** -*** 3712,3718 **** +*** 3792,3798 **** misc.mo:Expected error in mat cpletrec: "foreign-procedure: no entry for "foo"". misc.mo:Expected error in mat cpletrec: "attempt to reference undefined variable q". misc.mo:Expected error in mat cpletrec: "attempt to reference undefined variable bar". @@ -66,7 +66,7 @@ misc.mo:Expected error in mat cpletrec: "attempt to reference undefined variable b". misc.mo:Expected error in mat cpletrec: "attempt to reference undefined variable b". misc.mo:Expected error in mat cpletrec: "attempt to reference undefined variable a". ---- 3712,3718 ---- +--- 3792,3798 ---- misc.mo:Expected error in mat cpletrec: "foreign-procedure: no entry for "foo"". misc.mo:Expected error in mat cpletrec: "attempt to reference undefined variable q". misc.mo:Expected error in mat cpletrec: "attempt to reference undefined variable bar". @@ -75,7 +75,7 @@ misc.mo:Expected error in mat cpletrec: "attempt to reference undefined variable b". misc.mo:Expected error in mat cpletrec: "attempt to reference undefined variable a". *************** -*** 7182,7189 **** +*** 7243,7250 **** 7.mo:Expected error in mat bytes-allocated: "bytes-allocated: invalid space gnu". 7.mo:Expected error in mat error: "a: hit me!". 7.mo:Expected error in mat error: "f: n is 0". @@ -84,7 +84,7 @@ record.mo:Expected error in mat record2: "invalid value 3 for foreign type double-float". record.mo:Expected error in mat record2: "3 is not of type #". record.mo:Expected error in mat record2: "make-record-type: invalid field list ((immutable double-float a) . b)". ---- 7182,7189 ---- +--- 7243,7250 ---- 7.mo:Expected error in mat bytes-allocated: "bytes-allocated: invalid space gnu". 7.mo:Expected error in mat error: "a: hit me!". 7.mo:Expected error in mat error: "f: n is 0". @@ -94,7 +94,7 @@ record.mo:Expected error in mat record2: "3 is not of type #". record.mo:Expected error in mat record2: "make-record-type: invalid field list ((immutable double-float a) . b)". *************** -*** 7191,7205 **** +*** 7252,7266 **** record.mo:Expected error in mat type-descriptor: "invalid syntax (type-descriptor 3)". record.mo:Expected error in mat type-descriptor: "type-descriptor: unrecognized record car". record.mo:Expected error in mat record3: "variable set-fudge-a! is not bound". @@ -110,7 +110,7 @@ record.mo:Expected error in mat record9: "record-reader: invalid input #f". record.mo:Expected error in mat record9: "record-reader: invalid second argument fudge". record.mo:Expected error in mat record9: "record-reader: invalid second argument fudge". ---- 7191,7205 ---- +--- 7252,7266 ---- record.mo:Expected error in mat type-descriptor: "invalid syntax (type-descriptor 3)". record.mo:Expected error in mat type-descriptor: "type-descriptor: unrecognized record car". record.mo:Expected error in mat record3: "variable set-fudge-a! is not bound". @@ -127,7 +127,7 @@ record.mo:Expected error in mat record9: "record-reader: invalid second argument fudge". record.mo:Expected error in mat record9: "record-reader: invalid second argument fudge". *************** -*** 7212,7237 **** +*** 7273,7298 **** record.mo:Expected error in mat record10: "read: unresolvable cycle constructing record of type # at char 3 of #". record.mo:Expected error in mat record16: "read: unresolvable cycle constructing record of type # at char 3 of #". record.mo:Expected error in mat record16: "read: unresolvable cycle constructing record of type # at char 3 of #". @@ -154,7 +154,7 @@ record.mo:Expected error in mat foreign-data: "foreign-alloc: 0 is not a positive fixnum". record.mo:Expected error in mat foreign-data: "foreign-alloc: is not a positive fixnum". record.mo:Expected error in mat foreign-data: "foreign-alloc: -5 is not a positive fixnum". ---- 7212,7237 ---- +--- 7273,7298 ---- record.mo:Expected error in mat record10: "read: unresolvable cycle constructing record of type # at char 3 of #". record.mo:Expected error in mat record16: "read: unresolvable cycle constructing record of type # at char 3 of #". record.mo:Expected error in mat record16: "read: unresolvable cycle constructing record of type # at char 3 of #". @@ -182,7 +182,7 @@ record.mo:Expected error in mat foreign-data: "foreign-alloc: is not a positive fixnum". record.mo:Expected error in mat foreign-data: "foreign-alloc: -5 is not a positive fixnum". *************** -*** 7362,7400 **** +*** 7423,7461 **** record.mo:Expected error in mat record22: "invalid field specifier (immutable creepy q)". record.mo:Expected error in mat record22: "invalid field specifier (immutable creepy q)". record.mo:Expected error in mat record23: "make-record-type: cannot extend sealed record type #". @@ -222,7 +222,7 @@ record.mo:Expected error in mat record?: "record?: 4 is not a record type descriptor". record.mo:Expected error in mat record?: "record?: a is not a record type descriptor". record.mo:Expected error in mat record?: "record?: #(1) is not a record type descriptor". ---- 7362,7400 ---- +--- 7423,7461 ---- record.mo:Expected error in mat record22: "invalid field specifier (immutable creepy q)". record.mo:Expected error in mat record22: "invalid field specifier (immutable creepy q)". record.mo:Expected error in mat record23: "make-record-type: cannot extend sealed record type #". @@ -263,7 +263,7 @@ record.mo:Expected error in mat record?: "record?: a is not a record type descriptor". record.mo:Expected error in mat record?: "record?: #(1) is not a record type descriptor". *************** -*** 7409,7465 **** +*** 7470,7526 **** record.mo:Expected error in mat r6rs-records-procedural: "make-record-constructor-descriptor: invalid protocol flimflam". record.mo:Expected error in mat r6rs-records-procedural: "attempt to apply non-procedure not-a-procedure". record.mo:Expected error in mat r6rs-records-procedural: "attempt to apply non-procedure spam". @@ -321,7 +321,7 @@ record.mo:Expected error in mat r6rs-records-syntactic: "define-record-type: incompatible record type cpoint - different parent". record.mo:Expected error in mat r6rs-records-syntactic: "define-record-type: incompatible record type cpoint - different parent". record.mo:Expected error in mat r6rs-records-syntactic: "cannot extend define-record-type parent fratrat". ---- 7409,7465 ---- +--- 7470,7526 ---- record.mo:Expected error in mat r6rs-records-procedural: "make-record-constructor-descriptor: invalid protocol flimflam". record.mo:Expected error in mat r6rs-records-procedural: "attempt to apply non-procedure not-a-procedure". record.mo:Expected error in mat r6rs-records-procedural: "attempt to apply non-procedure spam". diff --git a/mats/patch-compile-0-t-f-f b/mats/patch-compile-0-t-f-f index 4f63ec4085..5a29212172 100644 --- a/mats/patch-compile-0-t-f-f +++ b/mats/patch-compile-0-t-f-f @@ -1,7 +1,7 @@ -*** errors-compile-0-f-f-f 2019-03-20 19:56:48.000000000 -0600 ---- errors-compile-0-t-f-f 2019-03-20 19:18:54.000000000 -0600 +*** errors-compile-0-f-f-f 2019-09-03 15:44:15.000000000 -0700 +--- errors-compile-0-t-f-f 2019-09-03 15:21:17.000000000 -0700 *************** -*** 93,99 **** +*** 144,150 **** 3.mo:Expected error in mat case-lambda: "incorrect number of arguments to #". 3.mo:Expected error in mat case-lambda: "incorrect number of arguments to #". 3.mo:Expected error in mat case-lambda: "incorrect number of arguments to #". @@ -9,7 +9,7 @@ 3.mo:Expected error in mat letrec: "variable f is not bound". 3.mo:Expected error in mat letrec: "attempt to reference undefined variable a". 3.mo:Expected error in mat letrec: "attempt to assign undefined variable b". ---- 93,99 ---- +--- 144,150 ---- 3.mo:Expected error in mat case-lambda: "incorrect number of arguments to #". 3.mo:Expected error in mat case-lambda: "incorrect number of arguments to #". 3.mo:Expected error in mat case-lambda: "incorrect number of arguments to #". @@ -18,7 +18,7 @@ 3.mo:Expected error in mat letrec: "attempt to reference undefined variable a". 3.mo:Expected error in mat letrec: "attempt to assign undefined variable b". *************** -*** 191,202 **** +*** 242,253 **** 3.mo:Expected error in mat mrvs: "returned three values to single value return context". 3.mo:Expected error in mat mrvs: "returned three values to single value return context". 3.mo:Expected error in mat mrvs: "returned zero values to single value return context". @@ -31,7 +31,7 @@ 3.mo:Expected error in mat mrvs: "returned two values to single value return context". 3.mo:Expected error in mat mrvs: "returned two values to single value return context". 3.mo:Expected error in mat mrvs: "cdr: a is not a pair". ---- 191,202 ---- +--- 242,253 ---- 3.mo:Expected error in mat mrvs: "returned three values to single value return context". 3.mo:Expected error in mat mrvs: "returned three values to single value return context". 3.mo:Expected error in mat mrvs: "returned zero values to single value return context". @@ -45,7 +45,7 @@ 3.mo:Expected error in mat mrvs: "returned two values to single value return context". 3.mo:Expected error in mat mrvs: "cdr: a is not a pair". *************** -*** 233,240 **** +*** 284,291 **** 3.mo:Expected error in mat let*-values: "let*-values: incorrect number of values from rhs 1". 3.mo:Expected error in mat let*-values: "let*-values: incorrect number of values from rhs 1". 3.mo:Expected error in mat let*-values: "let-values: duplicate bound identifier x in (let*-values (((...) (...))) (list x w))". @@ -54,7 +54,7 @@ 4.mo:Expected error in mat apply: "apply: 3 is not a proper list". 4.mo:Expected error in mat apply: "apply: 4 is not a proper list". 4.mo:Expected error in mat apply: "apply: (3 4 5 6 7 8 . 9) is not a proper list". ---- 233,240 ---- +--- 284,291 ---- 3.mo:Expected error in mat let*-values: "let*-values: incorrect number of values from rhs 1". 3.mo:Expected error in mat let*-values: "let*-values: incorrect number of values from rhs 1". 3.mo:Expected error in mat let*-values: "let-values: duplicate bound identifier x in (let*-values (((...) (...))) (list x w))". @@ -64,7 +64,7 @@ 4.mo:Expected error in mat apply: "apply: 4 is not a proper list". 4.mo:Expected error in mat apply: "apply: (3 4 5 6 7 8 . 9) is not a proper list". *************** -*** 536,543 **** +*** 587,594 **** 4.mo:Expected error in mat $primitive: "invalid primitive name fubar". 4.mo:Expected error in mat $primitive: "incorrect argument count in call (car (quote a) (quote b))". 4.mo:Expected error in mat $primitive: "car: 3 is not a pair". @@ -73,7 +73,7 @@ 5_1.mo:Expected error in mat boolean=?: "boolean=?: 3 is not a boolean". 5_1.mo:Expected error in mat boolean=?: "boolean=?: 3 is not a boolean". 5_1.mo:Expected error in mat boolean=?: "boolean=?: 3 is not a boolean". ---- 536,543 ---- +--- 587,594 ---- 4.mo:Expected error in mat $primitive: "invalid primitive name fubar". 4.mo:Expected error in mat $primitive: "incorrect argument count in call (car (quote a) (quote b))". 4.mo:Expected error in mat $primitive: "car: 3 is not a pair". @@ -83,7 +83,7 @@ 5_1.mo:Expected error in mat boolean=?: "boolean=?: 3 is not a boolean". 5_1.mo:Expected error in mat boolean=?: "boolean=?: 3 is not a boolean". *************** -*** 547,554 **** +*** 598,605 **** 5_1.mo:Expected error in mat boolean=?: "boolean=?: 3 is not a boolean". 5_1.mo:Expected error in mat boolean=?: "boolean=?: 3 is not a boolean". 5_1.mo:Expected error in mat boolean=?: "boolean=?: 3 is not a boolean". @@ -92,7 +92,7 @@ 5_1.mo:Expected error in mat symbol=?: "symbol=?: 3 is not a symbol". 5_1.mo:Expected error in mat symbol=?: "symbol=?: 3 is not a symbol". 5_1.mo:Expected error in mat symbol=?: "symbol=?: 3 is not a symbol". ---- 547,554 ---- +--- 598,605 ---- 5_1.mo:Expected error in mat boolean=?: "boolean=?: 3 is not a boolean". 5_1.mo:Expected error in mat boolean=?: "boolean=?: 3 is not a boolean". 5_1.mo:Expected error in mat boolean=?: "boolean=?: 3 is not a boolean". @@ -102,7 +102,7 @@ 5_1.mo:Expected error in mat symbol=?: "symbol=?: 3 is not a symbol". 5_1.mo:Expected error in mat symbol=?: "symbol=?: 3 is not a symbol". *************** -*** 590,597 **** +*** 641,648 **** 5_2.mo:Expected error in mat c....r-errors: "cddadr: incorrect list structure (a . b)". 5_2.mo:Expected error in mat c....r-errors: "cdddar: incorrect list structure (a . b)". 5_2.mo:Expected error in mat c....r-errors: "cddddr: incorrect list structure (a . b)". @@ -111,7 +111,7 @@ 5_2.mo:Expected error in mat list-ref: "list-ref: a is not a proper list". 5_2.mo:Expected error in mat list-ref: "list-ref: (a b . c) is not a proper list". 5_2.mo:Expected error in mat list-ref: "list-ref: index 4 is out of range for list (a b)". ---- 590,597 ---- +--- 641,648 ---- 5_2.mo:Expected error in mat c....r-errors: "cddadr: incorrect list structure (a . b)". 5_2.mo:Expected error in mat c....r-errors: "cdddar: incorrect list structure (a . b)". 5_2.mo:Expected error in mat c....r-errors: "cddddr: incorrect list structure (a . b)". @@ -121,7 +121,7 @@ 5_2.mo:Expected error in mat list-ref: "list-ref: (a b . c) is not a proper list". 5_2.mo:Expected error in mat list-ref: "list-ref: index 4 is out of range for list (a b)". *************** -*** 678,690 **** +*** 729,741 **** 5_2.mo:Expected error in mat append!: "append!: (b a b a b a ...) is circular". 5_2.mo:Expected error in mat append!: "append!: (c d a b a b ...) is circular". 5_2.mo:Expected error in mat append!: "append!: (a b . c) is not a proper list". @@ -135,7 +135,7 @@ 5_2.mo:Expected error in mat reverse!: "reverse!: a is not a proper list". 5_2.mo:Expected error in mat reverse!: "reverse!: (a b . c) is not a proper list". 5_2.mo:Expected error in mat reverse!: "reverse!: (a b a b a b ...) is circular". ---- 678,690 ---- +--- 729,741 ---- 5_2.mo:Expected error in mat append!: "append!: (b a b a b a ...) is circular". 5_2.mo:Expected error in mat append!: "append!: (c d a b a b ...) is circular". 5_2.mo:Expected error in mat append!: "append!: (a b . c) is not a proper list". @@ -150,7 +150,7 @@ 5_2.mo:Expected error in mat reverse!: "reverse!: (a b . c) is not a proper list". 5_2.mo:Expected error in mat reverse!: "reverse!: (a b a b a b ...) is circular". *************** -*** 697,714 **** +*** 748,765 **** 5_2.mo:Expected error in mat find: "find: improper list (a b . c)". 5_2.mo:Expected error in mat find: "find: improper list (a b c . d)". 5_2.mo:Expected error in mat find: "find: a is not a procedure". @@ -169,7 +169,7 @@ 5_2.mo:Expected error in mat member: "member: improper list a". 5_2.mo:Expected error in mat member: "member: cyclic list (a b a b a b ...)". 5_2.mo:Expected error in mat member: "member: improper list (a b . c)". ---- 697,714 ---- +--- 748,765 ---- 5_2.mo:Expected error in mat find: "find: improper list (a b . c)". 5_2.mo:Expected error in mat find: "find: improper list (a b c . d)". 5_2.mo:Expected error in mat find: "find: a is not a procedure". @@ -189,7 +189,7 @@ 5_2.mo:Expected error in mat member: "member: cyclic list (a b a b a b ...)". 5_2.mo:Expected error in mat member: "member: improper list (a b . c)". *************** -*** 751,760 **** +*** 802,811 **** 5_2.mo:Expected error in mat assv: "assv: cyclic alist ((a . 1) (b . 2) (3.2 . 3) ("a" . 4) (a . 1) (b . 2) ...)". 5_2.mo:Expected error in mat assoc: "assoc: cyclic alist ((a . 1) (b . 2) (3.2 . 3) ("a" . 4) (a . 1) (b . 2) ...)". 5_2.mo:Expected error in mat assoc: "assoc: cyclic alist ((a . 1) (b . 2) (3.2 . 3) ("a" . 4) (a . 1) (b . 2) ...)". @@ -200,7 +200,7 @@ 5_2.mo:Expected error in mat sort: "sort: 3 is not a proper list". 5_2.mo:Expected error in mat sort: "sort: #(1 2 3) is not a proper list". 5_2.mo:Expected error in mat sort: "sort: (1 2 . 3) is not a proper list". ---- 751,760 ---- +--- 802,811 ---- 5_2.mo:Expected error in mat assv: "assv: cyclic alist ((a . 1) (b . 2) (3.2 . 3) ("a" . 4) (a . 1) (b . 2) ...)". 5_2.mo:Expected error in mat assoc: "assoc: cyclic alist ((a . 1) (b . 2) (3.2 . 3) ("a" . 4) (a . 1) (b . 2) ...)". 5_2.mo:Expected error in mat assoc: "assoc: cyclic alist ((a . 1) (b . 2) (3.2 . 3) ("a" . 4) (a . 1) (b . 2) ...)". @@ -212,7 +212,7 @@ 5_2.mo:Expected error in mat sort: "sort: #(1 2 3) is not a proper list". 5_2.mo:Expected error in mat sort: "sort: (1 2 . 3) is not a proper list". *************** -*** 763,772 **** +*** 814,823 **** 5_2.mo:Expected error in mat sort: "sort: (q p a b a b ...) is circular". 5_2.mo:Expected error in mat sort: "sort: (a b c) is not a procedure". 5_2.mo:Expected error in mat sort: ">: b is not a real number". @@ -223,7 +223,7 @@ 5_2.mo:Expected error in mat list-sort: "list-sort: 3 is not a proper list". 5_2.mo:Expected error in mat list-sort: "list-sort: #(1 2 3) is not a proper list". 5_2.mo:Expected error in mat list-sort: "list-sort: (1 2 . 3) is not a proper list". ---- 763,772 ---- +--- 814,823 ---- 5_2.mo:Expected error in mat sort: "sort: (q p a b a b ...) is circular". 5_2.mo:Expected error in mat sort: "sort: (a b c) is not a procedure". 5_2.mo:Expected error in mat sort: ">: b is not a real number". @@ -235,7 +235,7 @@ 5_2.mo:Expected error in mat list-sort: "list-sort: #(1 2 3) is not a proper list". 5_2.mo:Expected error in mat list-sort: "list-sort: (1 2 . 3) is not a proper list". *************** -*** 775,784 **** +*** 826,835 **** 5_2.mo:Expected error in mat list-sort: "list-sort: (q p a b a b ...) is circular". 5_2.mo:Expected error in mat list-sort: "list-sort: (a b c) is not a procedure". 5_2.mo:Expected error in mat list-sort: ">: b is not a real number". @@ -246,7 +246,7 @@ 5_2.mo:Expected error in mat sort!: "sort!: 3 is not a proper list". 5_2.mo:Expected error in mat sort!: "sort!: #(1 2 3) is not a proper list". 5_2.mo:Expected error in mat sort!: "sort!: (1 2 . 3) is not a proper list". ---- 775,784 ---- +--- 826,835 ---- 5_2.mo:Expected error in mat list-sort: "list-sort: (q p a b a b ...) is circular". 5_2.mo:Expected error in mat list-sort: "list-sort: (a b c) is not a procedure". 5_2.mo:Expected error in mat list-sort: ">: b is not a real number". @@ -258,7 +258,7 @@ 5_2.mo:Expected error in mat sort!: "sort!: #(1 2 3) is not a proper list". 5_2.mo:Expected error in mat sort!: "sort!: (1 2 . 3) is not a proper list". *************** -*** 807,824 **** +*** 858,875 **** 5_2.mo:Expected error in mat iota: "iota: -1 is not a nonnegative fixnum". 5_2.mo:Expected error in mat iota: "iota: 1000000000000000000000000000000 is not a nonnegative fixnum". 5_2.mo:Expected error in mat iota: "iota: 3/4 is not a nonnegative fixnum". @@ -277,7 +277,7 @@ 5_3.mo:Expected error in mat r6rs:string->number: "string->number: a is not a string". 5_3.mo:Expected error in mat r6rs:string->number: "string->number: 0 is not a valid radix". 5_3.mo:Expected error in mat r6rs:string->number: "string->number: 37 is not a valid radix". ---- 807,824 ---- +--- 858,875 ---- 5_2.mo:Expected error in mat iota: "iota: -1 is not a nonnegative fixnum". 5_2.mo:Expected error in mat iota: "iota: 1000000000000000000000000000000 is not a nonnegative fixnum". 5_2.mo:Expected error in mat iota: "iota: 3/4 is not a nonnegative fixnum". @@ -297,7 +297,7 @@ 5_3.mo:Expected error in mat r6rs:string->number: "string->number: 0 is not a valid radix". 5_3.mo:Expected error in mat r6rs:string->number: "string->number: 37 is not a valid radix". *************** -*** 829,835 **** +*** 880,886 **** 5_3.mo:Expected error in mat r6rs:string->number: "string->number: is not a valid radix". 5_3.mo:Expected error in mat r6rs:string->number: "string->number: 36 is not a valid radix". 5_3.mo:Expected error in mat r6rs:string->number: "string->number: a is not a valid radix". @@ -305,7 +305,7 @@ 5_3.mo:Expected error in mat number->string: "number->string: a is not a number". 5_3.mo:Expected error in mat number->string: "number->string: a is not a number". 5_3.mo:Expected error in mat number->string: "number->string: a is not a number". ---- 829,835 ---- +--- 880,886 ---- 5_3.mo:Expected error in mat r6rs:string->number: "string->number: is not a valid radix". 5_3.mo:Expected error in mat r6rs:string->number: "string->number: 36 is not a valid radix". 5_3.mo:Expected error in mat r6rs:string->number: "string->number: a is not a valid radix". @@ -314,7 +314,7 @@ 5_3.mo:Expected error in mat number->string: "number->string: a is not a number". 5_3.mo:Expected error in mat number->string: "number->string: a is not a number". *************** -*** 865,871 **** +*** 916,922 **** 5_3.mo:Expected error in mat r6rs:number->string: "number->string: a precision is specified and radix 16 is not 10". 5_3.mo:Expected error in mat exact?: "exact?: a is not a number". 5_3.mo:Expected error in mat inexact?: "inexact?: () is not a number". @@ -322,7 +322,7 @@ 5_3.mo:Expected error in mat =: "=: a is not a number". 5_3.mo:Expected error in mat =: "=: a is not a number". 5_3.mo:Expected error in mat =: "=: a is not a number". ---- 865,871 ---- +--- 916,922 ---- 5_3.mo:Expected error in mat r6rs:number->string: "number->string: a precision is specified and radix 16 is not 10". 5_3.mo:Expected error in mat exact?: "exact?: a is not a number". 5_3.mo:Expected error in mat inexact?: "inexact?: () is not a number". @@ -331,7 +331,7 @@ 5_3.mo:Expected error in mat =: "=: a is not a number". 5_3.mo:Expected error in mat =: "=: a is not a number". *************** -*** 874,880 **** +*** 925,931 **** 5_3.mo:Expected error in mat =: "=: a is not a number". 5_3.mo:Expected error in mat =: "=: a is not a number". 5_3.mo:Expected error in mat =: "=: a is not a number". @@ -339,7 +339,7 @@ 5_3.mo:Expected error in mat <: "<: a is not a real number". 5_3.mo:Expected error in mat <: "<: a is not a real number". 5_3.mo:Expected error in mat <: "<: a is not a real number". ---- 874,880 ---- +--- 925,931 ---- 5_3.mo:Expected error in mat =: "=: a is not a number". 5_3.mo:Expected error in mat =: "=: a is not a number". 5_3.mo:Expected error in mat =: "=: a is not a number". @@ -348,7 +348,7 @@ 5_3.mo:Expected error in mat <: "<: a is not a real number". 5_3.mo:Expected error in mat <: "<: a is not a real number". *************** -*** 894,900 **** +*** 945,951 **** 5_3.mo:Expected error in mat <: "<: 2.0+1.0i is not a real number". 5_3.mo:Expected error in mat <: "<: 2+1i is not a real number". 5_3.mo:Expected error in mat <: "<: 3+1i is not a real number". @@ -356,7 +356,7 @@ 5_3.mo:Expected error in mat <=: "<=: a is not a real number". 5_3.mo:Expected error in mat <=: "<=: a is not a real number". 5_3.mo:Expected error in mat <=: "<=: a is not a real number". ---- 894,900 ---- +--- 945,951 ---- 5_3.mo:Expected error in mat <: "<: 2.0+1.0i is not a real number". 5_3.mo:Expected error in mat <: "<: 2+1i is not a real number". 5_3.mo:Expected error in mat <: "<: 3+1i is not a real number". @@ -365,7 +365,7 @@ 5_3.mo:Expected error in mat <=: "<=: a is not a real number". 5_3.mo:Expected error in mat <=: "<=: a is not a real number". *************** -*** 914,920 **** +*** 965,971 **** 5_3.mo:Expected error in mat <=: "<=: 2.0+1.0i is not a real number". 5_3.mo:Expected error in mat <=: "<=: 2+1i is not a real number". 5_3.mo:Expected error in mat <=: "<=: 3+1i is not a real number". @@ -373,7 +373,7 @@ 5_3.mo:Expected error in mat >: ">: a is not a real number". 5_3.mo:Expected error in mat >: ">: a is not a real number". 5_3.mo:Expected error in mat >: ">: a is not a real number". ---- 914,920 ---- +--- 965,971 ---- 5_3.mo:Expected error in mat <=: "<=: 2.0+1.0i is not a real number". 5_3.mo:Expected error in mat <=: "<=: 2+1i is not a real number". 5_3.mo:Expected error in mat <=: "<=: 3+1i is not a real number". @@ -382,7 +382,7 @@ 5_3.mo:Expected error in mat >: ">: a is not a real number". 5_3.mo:Expected error in mat >: ">: a is not a real number". *************** -*** 934,940 **** +*** 985,991 **** 5_3.mo:Expected error in mat >: ">: 2.0+1.0i is not a real number". 5_3.mo:Expected error in mat >: ">: 2+1i is not a real number". 5_3.mo:Expected error in mat >: ">: 3+1i is not a real number". @@ -390,7 +390,7 @@ 5_3.mo:Expected error in mat >=: ">=: a is not a real number". 5_3.mo:Expected error in mat >=: ">=: a is not a real number". 5_3.mo:Expected error in mat >=: ">=: a is not a real number". ---- 934,940 ---- +--- 985,991 ---- 5_3.mo:Expected error in mat >: ">: 2.0+1.0i is not a real number". 5_3.mo:Expected error in mat >: ">: 2+1i is not a real number". 5_3.mo:Expected error in mat >: ">: 3+1i is not a real number". @@ -399,7 +399,7 @@ 5_3.mo:Expected error in mat >=: ">=: a is not a real number". 5_3.mo:Expected error in mat >=: ">=: a is not a real number". *************** -*** 954,961 **** +*** 1005,1012 **** 5_3.mo:Expected error in mat >=: ">=: 2.0+1.0i is not a real number". 5_3.mo:Expected error in mat >=: ">=: 2+1i is not a real number". 5_3.mo:Expected error in mat >=: ">=: 3+1i is not a real number". @@ -408,7 +408,7 @@ 5_3.mo:Expected error in mat r6rs:=: "=: a is not a number". 5_3.mo:Expected error in mat r6rs:=: "=: a is not a number". 5_3.mo:Expected error in mat r6rs:=: "=: a is not a number". ---- 954,961 ---- +--- 1005,1012 ---- 5_3.mo:Expected error in mat >=: ">=: 2.0+1.0i is not a real number". 5_3.mo:Expected error in mat >=: ">=: 2+1i is not a real number". 5_3.mo:Expected error in mat >=: ">=: 3+1i is not a real number". @@ -418,7 +418,7 @@ 5_3.mo:Expected error in mat r6rs:=: "=: a is not a number". 5_3.mo:Expected error in mat r6rs:=: "=: a is not a number". *************** -*** 963,970 **** +*** 1014,1021 **** 5_3.mo:Expected error in mat r6rs:=: "=: a is not a number". 5_3.mo:Expected error in mat r6rs:=: "=: a is not a number". 5_3.mo:Expected error in mat r6rs:=: "=: a is not a number". @@ -427,7 +427,7 @@ 5_3.mo:Expected error in mat r6rs:<: "<: a is not a real number". 5_3.mo:Expected error in mat r6rs:<: "<: a is not a real number". 5_3.mo:Expected error in mat r6rs:<: "<: a is not a real number". ---- 963,970 ---- +--- 1014,1021 ---- 5_3.mo:Expected error in mat r6rs:=: "=: a is not a number". 5_3.mo:Expected error in mat r6rs:=: "=: a is not a number". 5_3.mo:Expected error in mat r6rs:=: "=: a is not a number". @@ -437,7 +437,7 @@ 5_3.mo:Expected error in mat r6rs:<: "<: a is not a real number". 5_3.mo:Expected error in mat r6rs:<: "<: a is not a real number". *************** -*** 975,982 **** +*** 1026,1033 **** 5_3.mo:Expected error in mat r6rs:<: "<: 2.0+1.0i is not a real number". 5_3.mo:Expected error in mat r6rs:<: "<: 2+1i is not a real number". 5_3.mo:Expected error in mat r6rs:<: "<: 3+1i is not a real number". @@ -446,7 +446,7 @@ 5_3.mo:Expected error in mat r6rs:<=: "<=: a is not a real number". 5_3.mo:Expected error in mat r6rs:<=: "<=: a is not a real number". 5_3.mo:Expected error in mat r6rs:<=: "<=: a is not a real number". ---- 975,982 ---- +--- 1026,1033 ---- 5_3.mo:Expected error in mat r6rs:<: "<: 2.0+1.0i is not a real number". 5_3.mo:Expected error in mat r6rs:<: "<: 2+1i is not a real number". 5_3.mo:Expected error in mat r6rs:<: "<: 3+1i is not a real number". @@ -456,7 +456,7 @@ 5_3.mo:Expected error in mat r6rs:<=: "<=: a is not a real number". 5_3.mo:Expected error in mat r6rs:<=: "<=: a is not a real number". *************** -*** 987,994 **** +*** 1038,1045 **** 5_3.mo:Expected error in mat r6rs:<=: "<=: 2.0+1.0i is not a real number". 5_3.mo:Expected error in mat r6rs:<=: "<=: 2+1i is not a real number". 5_3.mo:Expected error in mat r6rs:<=: "<=: 3+1i is not a real number". @@ -465,7 +465,7 @@ 5_3.mo:Expected error in mat r6rs:>: ">: a is not a real number". 5_3.mo:Expected error in mat r6rs:>: ">: a is not a real number". 5_3.mo:Expected error in mat r6rs:>: ">: a is not a real number". ---- 987,994 ---- +--- 1038,1045 ---- 5_3.mo:Expected error in mat r6rs:<=: "<=: 2.0+1.0i is not a real number". 5_3.mo:Expected error in mat r6rs:<=: "<=: 2+1i is not a real number". 5_3.mo:Expected error in mat r6rs:<=: "<=: 3+1i is not a real number". @@ -475,7 +475,7 @@ 5_3.mo:Expected error in mat r6rs:>: ">: a is not a real number". 5_3.mo:Expected error in mat r6rs:>: ">: a is not a real number". *************** -*** 999,1006 **** +*** 1050,1057 **** 5_3.mo:Expected error in mat r6rs:>: ">: 2.0+1.0i is not a real number". 5_3.mo:Expected error in mat r6rs:>: ">: 2+1i is not a real number". 5_3.mo:Expected error in mat r6rs:>: ">: 3+1i is not a real number". @@ -484,7 +484,7 @@ 5_3.mo:Expected error in mat r6rs:>=: ">=: a is not a real number". 5_3.mo:Expected error in mat r6rs:>=: ">=: a is not a real number". 5_3.mo:Expected error in mat r6rs:>=: ">=: a is not a real number". ---- 999,1006 ---- +--- 1050,1057 ---- 5_3.mo:Expected error in mat r6rs:>: ">: 2.0+1.0i is not a real number". 5_3.mo:Expected error in mat r6rs:>: ">: 2+1i is not a real number". 5_3.mo:Expected error in mat r6rs:>: ">: 3+1i is not a real number". @@ -494,7 +494,7 @@ 5_3.mo:Expected error in mat r6rs:>=: ">=: a is not a real number". 5_3.mo:Expected error in mat r6rs:>=: ">=: a is not a real number". *************** -*** 1020,1026 **** +*** 1071,1077 **** 5_3.mo:Expected error in mat +: "oops". 5_3.mo:Expected error in mat +: "+: #f is not a number". 5_3.mo:Expected error in mat +: "+: #f is not a number". @@ -502,7 +502,7 @@ 5_3.mo:Expected error in mat -: "-: a is not a number". 5_3.mo:Expected error in mat -: "-: a is not a number". 5_3.mo:Expected error in mat -: "-: a is not a number". ---- 1020,1026 ---- +--- 1071,1077 ---- 5_3.mo:Expected error in mat +: "oops". 5_3.mo:Expected error in mat +: "+: #f is not a number". 5_3.mo:Expected error in mat +: "+: #f is not a number". @@ -511,7 +511,7 @@ 5_3.mo:Expected error in mat -: "-: a is not a number". 5_3.mo:Expected error in mat -: "-: a is not a number". *************** -*** 1033,1039 **** +*** 1084,1090 **** 5_3.mo:Expected error in mat *: "*: a is not a number". 5_3.mo:Expected error in mat *: "*: #f is not a number". 5_3.mo:Expected error in mat *: "*: #f is not a number". @@ -519,7 +519,7 @@ 5_3.mo:Expected error in mat /: "/: a is not a number". 5_3.mo:Expected error in mat /: "/: a is not a number". 5_3.mo:Expected error in mat /: "/: a is not a number". ---- 1033,1039 ---- +--- 1084,1090 ---- 5_3.mo:Expected error in mat *: "*: a is not a number". 5_3.mo:Expected error in mat *: "*: #f is not a number". 5_3.mo:Expected error in mat *: "*: #f is not a number". @@ -528,7 +528,7 @@ 5_3.mo:Expected error in mat /: "/: a is not a number". 5_3.mo:Expected error in mat /: "/: a is not a number". *************** -*** 1047,1114 **** +*** 1098,1165 **** 5_3.mo:Expected error in mat infinite?: "infinite?: a is not a real number". 5_3.mo:Expected error in mat infinite?: "infinite?: 3+4i is not a real number". 5_3.mo:Expected error in mat infinite?: "infinite?: 3.0-0.0i is not a real number". @@ -597,7 +597,7 @@ 5_3.mo:Expected error in mat quotient: "quotient: a is not an integer". 5_3.mo:Expected error in mat quotient: "quotient: a is not an integer". 5_3.mo:Expected error in mat quotient: "quotient: 2/5 is not an integer". ---- 1047,1114 ---- +--- 1098,1165 ---- 5_3.mo:Expected error in mat infinite?: "infinite?: a is not a real number". 5_3.mo:Expected error in mat infinite?: "infinite?: 3+4i is not a real number". 5_3.mo:Expected error in mat infinite?: "infinite?: 3.0-0.0i is not a real number". @@ -667,7 +667,7 @@ 5_3.mo:Expected error in mat quotient: "quotient: a is not an integer". 5_3.mo:Expected error in mat quotient: "quotient: 2/5 is not an integer". *************** -*** 1121,1130 **** +*** 1172,1181 **** 5_3.mo:Expected error in mat quotient: "quotient: 2+1i is not an integer". 5_3.mo:Expected error in mat quotient: "quotient: 2+1i is not an integer". 5_3.mo:Expected error in mat quotient: "quotient: 2.0+1.0i is not an integer". @@ -678,7 +678,7 @@ 5_3.mo:Expected error in mat remainder: "remainder: a is not an integer". 5_3.mo:Expected error in mat remainder: "remainder: a is not an integer". 5_3.mo:Expected error in mat remainder: "remainder: 2/5 is not an integer". ---- 1121,1130 ---- +--- 1172,1181 ---- 5_3.mo:Expected error in mat quotient: "quotient: 2+1i is not an integer". 5_3.mo:Expected error in mat quotient: "quotient: 2+1i is not an integer". 5_3.mo:Expected error in mat quotient: "quotient: 2.0+1.0i is not an integer". @@ -690,7 +690,7 @@ 5_3.mo:Expected error in mat remainder: "remainder: a is not an integer". 5_3.mo:Expected error in mat remainder: "remainder: 2/5 is not an integer". *************** -*** 1135,1143 **** +*** 1186,1194 **** 5_3.mo:Expected error in mat remainder: "remainder: 2.5 is not an integer". 5_3.mo:Expected error in mat remainder: "remainder: 2.5 is not an integer". 5_3.mo:Expected error in mat remainder: "remainder: -3+2i is not an integer". @@ -700,7 +700,7 @@ 5_3.mo:Expected error in mat modulo: "modulo: a is not an integer". 5_3.mo:Expected error in mat modulo: "modulo: a is not an integer". 5_3.mo:Expected error in mat modulo: "modulo: 3/5 is not an integer". ---- 1135,1143 ---- +--- 1186,1194 ---- 5_3.mo:Expected error in mat remainder: "remainder: 2.5 is not an integer". 5_3.mo:Expected error in mat remainder: "remainder: 2.5 is not an integer". 5_3.mo:Expected error in mat remainder: "remainder: -3+2i is not an integer". @@ -711,7 +711,7 @@ 5_3.mo:Expected error in mat modulo: "modulo: a is not an integer". 5_3.mo:Expected error in mat modulo: "modulo: 3/5 is not an integer". *************** -*** 1147,1192 **** +*** 1198,1243 **** 5_3.mo:Expected error in mat modulo: "modulo: 3.2 is not an integer". 5_3.mo:Expected error in mat modulo: "modulo: -3.2 is not an integer". 5_3.mo:Expected error in mat modulo: "modulo: -3+2i is not an integer". @@ -758,7 +758,7 @@ 5_3.mo:Expected error in mat min: "min: a is not a real number". 5_3.mo:Expected error in mat min: "min: a is not a real number". 5_3.mo:Expected error in mat min: "min: a is not a real number". ---- 1147,1192 ---- +--- 1198,1243 ---- 5_3.mo:Expected error in mat modulo: "modulo: 3.2 is not an integer". 5_3.mo:Expected error in mat modulo: "modulo: -3.2 is not an integer". 5_3.mo:Expected error in mat modulo: "modulo: -3+2i is not an integer". @@ -806,7 +806,7 @@ 5_3.mo:Expected error in mat min: "min: a is not a real number". 5_3.mo:Expected error in mat min: "min: a is not a real number". *************** -*** 1245,1267 **** +*** 1296,1318 **** 5_3.mo:Expected error in mat lcm: "lcm: +nan.0 is not an integer". 5_3.mo:Expected error in mat lcm: "lcm: +nan.0 is not an integer". 5_3.mo:Expected error in mat lcm: "lcm: +nan.0 is not an integer". @@ -830,7 +830,7 @@ 5_3.mo:Expected error in mat random: "random: invalid argument a". 5_3.mo:Expected error in mat random: "random: invalid argument -3". 5_3.mo:Expected error in mat random: "random: invalid argument 0". ---- 1245,1267 ---- +--- 1296,1318 ---- 5_3.mo:Expected error in mat lcm: "lcm: +nan.0 is not an integer". 5_3.mo:Expected error in mat lcm: "lcm: +nan.0 is not an integer". 5_3.mo:Expected error in mat lcm: "lcm: +nan.0 is not an integer". @@ -855,7 +855,7 @@ 5_3.mo:Expected error in mat random: "random: invalid argument -3". 5_3.mo:Expected error in mat random: "random: invalid argument 0". *************** -*** 1274,1312 **** +*** 1325,1363 **** 5_3.mo:Expected error in mat random-seed: "random-seed: invalid argument 0". 5_3.mo:Expected error in mat random-seed: "random-seed: invalid argument -1". 5_3.mo:Expected error in mat random-seed: "random-seed: invalid argument ". @@ -895,7 +895,7 @@ 5_3.mo:Expected error in mat imag-part: "imag-part: a is not a complex number". 5_3.mo:Expected error in mat make-rectangular: "make-rectangular: a is not a real number". 5_3.mo:Expected error in mat make-rectangular: "make-rectangular: b is not a real number". ---- 1274,1312 ---- +--- 1325,1363 ---- 5_3.mo:Expected error in mat random-seed: "random-seed: invalid argument 0". 5_3.mo:Expected error in mat random-seed: "random-seed: invalid argument -1". 5_3.mo:Expected error in mat random-seed: "random-seed: invalid argument ". @@ -936,7 +936,7 @@ 5_3.mo:Expected error in mat make-rectangular: "make-rectangular: a is not a real number". 5_3.mo:Expected error in mat make-rectangular: "make-rectangular: b is not a real number". *************** -*** 1316,1392 **** +*** 1367,1443 **** 5_3.mo:Expected error in mat make-polar: "make-polar: b is not a real number". 5_3.mo:Expected error in mat make-polar: "make-polar: 3.4+0.0i is not a real number". 5_3.mo:Expected error in mat make-polar: "make-polar: 3.4+0.0i is not a real number". @@ -1014,7 +1014,7 @@ 5_3.mo:Expected error in mat bitwise-bit-field: "bitwise-bit-field: 35.0 is not an exact integer". 5_3.mo:Expected error in mat bitwise-bit-field: "bitwise-bit-field: invalid start index 5.0". 5_3.mo:Expected error in mat bitwise-bit-field: "bitwise-bit-field: invalid end index 8.0". ---- 1316,1392 ---- +--- 1367,1443 ---- 5_3.mo:Expected error in mat make-polar: "make-polar: b is not a real number". 5_3.mo:Expected error in mat make-polar: "make-polar: 3.4+0.0i is not a real number". 5_3.mo:Expected error in mat make-polar: "make-polar: 3.4+0.0i is not a real number". @@ -1093,7 +1093,7 @@ 5_3.mo:Expected error in mat bitwise-bit-field: "bitwise-bit-field: invalid start index 5.0". 5_3.mo:Expected error in mat bitwise-bit-field: "bitwise-bit-field: invalid end index 8.0". *************** -*** 1397,1407 **** +*** 1448,1458 **** 5_3.mo:Expected error in mat bitwise-bit-field: "bitwise-bit-field: invalid end index -8". 5_3.mo:Expected error in mat bitwise-bit-field: "bitwise-bit-field: invalid end index 3". 5_3.mo:Expected error in mat bitwise-bit-field: "bitwise-bit-field: invalid end index ". @@ -1105,7 +1105,7 @@ 5_3.mo:Expected error in mat bitwise-copy-bit-field: "bitwise-copy-bit-field: a is not an exact integer". 5_3.mo:Expected error in mat bitwise-copy-bit-field: "bitwise-copy-bit-field: invalid start index 0.0". 5_3.mo:Expected error in mat bitwise-copy-bit-field: "bitwise-copy-bit-field: invalid end index 2.0". ---- 1397,1407 ---- +--- 1448,1458 ---- 5_3.mo:Expected error in mat bitwise-bit-field: "bitwise-bit-field: invalid end index -8". 5_3.mo:Expected error in mat bitwise-bit-field: "bitwise-bit-field: invalid end index 3". 5_3.mo:Expected error in mat bitwise-bit-field: "bitwise-bit-field: invalid end index ". @@ -1118,7 +1118,7 @@ 5_3.mo:Expected error in mat bitwise-copy-bit-field: "bitwise-copy-bit-field: invalid start index 0.0". 5_3.mo:Expected error in mat bitwise-copy-bit-field: "bitwise-copy-bit-field: invalid end index 2.0". *************** -*** 1414,1424 **** +*** 1465,1475 **** 5_3.mo:Expected error in mat bitwise-copy-bit-field: "bitwise-copy-bit-field: invalid end index 5". 5_3.mo:Expected error in mat bitwise-copy-bit-field: "bitwise-copy-bit-field: invalid end index ". 5_3.mo:Expected error in mat bitwise-copy-bit-field: "bitwise-copy-bit-field: invalid end index ". @@ -1130,7 +1130,7 @@ 5_3.mo:Expected error in mat bitwise-rotate-bit-field: "bitwise-rotate-bit-field: a is not an exact integer". 5_3.mo:Expected error in mat bitwise-rotate-bit-field: "bitwise-rotate-bit-field: invalid start index 0.0". 5_3.mo:Expected error in mat bitwise-rotate-bit-field: "bitwise-rotate-bit-field: invalid end index 2.0". ---- 1414,1424 ---- +--- 1465,1475 ---- 5_3.mo:Expected error in mat bitwise-copy-bit-field: "bitwise-copy-bit-field: invalid end index 5". 5_3.mo:Expected error in mat bitwise-copy-bit-field: "bitwise-copy-bit-field: invalid end index ". 5_3.mo:Expected error in mat bitwise-copy-bit-field: "bitwise-copy-bit-field: invalid end index ". @@ -1143,7 +1143,7 @@ 5_3.mo:Expected error in mat bitwise-rotate-bit-field: "bitwise-rotate-bit-field: invalid start index 0.0". 5_3.mo:Expected error in mat bitwise-rotate-bit-field: "bitwise-rotate-bit-field: invalid end index 2.0". *************** -*** 1432,1441 **** +*** 1483,1492 **** 5_3.mo:Expected error in mat bitwise-rotate-bit-field: "bitwise-rotate-bit-field: invalid end index 5". 5_3.mo:Expected error in mat bitwise-rotate-bit-field: "bitwise-rotate-bit-field: invalid end index ". 5_3.mo:Expected error in mat bitwise-rotate-bit-field: "bitwise-rotate-bit-field: invalid end index ". @@ -1154,7 +1154,7 @@ 5_3.mo:Expected error in mat bitwise-bit-field: "bitwise-reverse-bit-field: 35.0 is not an exact integer". 5_3.mo:Expected error in mat bitwise-bit-field: "bitwise-reverse-bit-field: invalid start index 5.0". 5_3.mo:Expected error in mat bitwise-bit-field: "bitwise-reverse-bit-field: invalid end index 8.0". ---- 1432,1441 ---- +--- 1483,1492 ---- 5_3.mo:Expected error in mat bitwise-rotate-bit-field: "bitwise-rotate-bit-field: invalid end index 5". 5_3.mo:Expected error in mat bitwise-rotate-bit-field: "bitwise-rotate-bit-field: invalid end index ". 5_3.mo:Expected error in mat bitwise-rotate-bit-field: "bitwise-rotate-bit-field: invalid end index ". @@ -1166,7 +1166,7 @@ 5_3.mo:Expected error in mat bitwise-bit-field: "bitwise-reverse-bit-field: invalid start index 5.0". 5_3.mo:Expected error in mat bitwise-bit-field: "bitwise-reverse-bit-field: invalid end index 8.0". *************** -*** 1446,1469 **** +*** 1497,1520 **** 5_3.mo:Expected error in mat bitwise-bit-field: "bitwise-reverse-bit-field: invalid end index -8". 5_3.mo:Expected error in mat bitwise-bit-field: "bitwise-reverse-bit-field: start index 5 is greater than end index 3". 5_3.mo:Expected error in mat bitwise-bit-field: "bitwise-reverse-bit-field: start index is greater than end index ". @@ -1191,7 +1191,7 @@ 5_3.mo:Expected error in mat bitwise-first-bit-set: "bitwise-first-bit-set: 3.0 is not an exact integer". 5_3.mo:Expected error in mat bitwise-first-bit-set: "bitwise-first-bit-set: a is not an exact integer". 5_3.mo:Expected error in mat $quotient-remainder: "incorrect number of arguments to #". ---- 1446,1469 ---- +--- 1497,1520 ---- 5_3.mo:Expected error in mat bitwise-bit-field: "bitwise-reverse-bit-field: invalid end index -8". 5_3.mo:Expected error in mat bitwise-bit-field: "bitwise-reverse-bit-field: start index 5 is greater than end index 3". 5_3.mo:Expected error in mat bitwise-bit-field: "bitwise-reverse-bit-field: start index is greater than end index ". @@ -1217,7 +1217,7 @@ 5_3.mo:Expected error in mat bitwise-first-bit-set: "bitwise-first-bit-set: a is not an exact integer". 5_3.mo:Expected error in mat $quotient-remainder: "incorrect number of arguments to #". *************** -*** 1589,1644 **** +*** 1640,1695 **** 5_3.mo:Expected error in mat bitwise-xor: "bitwise-xor: 3.4-2.3i is not an exact integer". 5_3.mo:Expected error in mat bitwise-xor: "bitwise-xor: 3.4-2.3i is not an exact integer". 5_3.mo:Expected error in mat bitwise-xor: "bitwise-xor: 3.0 is not an exact integer". @@ -1274,7 +1274,7 @@ 5_3.mo:Expected error in mat real->flonum: "real->flonum: a is not a real number". 5_3.mo:Expected error in mat real->flonum: "real->flonum: 3+4i is not a real number". 5_3.mo:Expected error in mat div-and-mod: "div-and-mod: undefined for 0". ---- 1589,1644 ---- +--- 1640,1695 ---- 5_3.mo:Expected error in mat bitwise-xor: "bitwise-xor: 3.4-2.3i is not an exact integer". 5_3.mo:Expected error in mat bitwise-xor: "bitwise-xor: 3.4-2.3i is not an exact integer". 5_3.mo:Expected error in mat bitwise-xor: "bitwise-xor: 3.0 is not an exact integer". @@ -1332,7 +1332,7 @@ 5_3.mo:Expected error in mat real->flonum: "real->flonum: 3+4i is not a real number". 5_3.mo:Expected error in mat div-and-mod: "div-and-mod: undefined for 0". *************** -*** 1671,1831 **** +*** 1722,1882 **** 5_3.mo:Expected error in mat div0-and-mod0: "mod0: undefined for 0". 5_3.mo:Expected error in mat div0-and-mod0: "mod0: undefined for a". 5_3.mo:Expected error in mat div0-and-mod0: "mod0: undefined for (a)". @@ -1494,7 +1494,7 @@ 5_4.mo:Expected error in mat integer->char: "integer->char: a is not a valid unicode scalar value". 5_4.mo:Expected error in mat integer->char: "integer->char: #f is not a valid unicode scalar value". 5_4.mo:Expected error in mat integer->char: "integer->char: #\a is not a valid unicode scalar value". ---- 1671,1831 ---- +--- 1722,1882 ---- 5_3.mo:Expected error in mat div0-and-mod0: "mod0: undefined for 0". 5_3.mo:Expected error in mat div0-and-mod0: "mod0: undefined for a". 5_3.mo:Expected error in mat div0-and-mod0: "mod0: undefined for (a)". @@ -1657,7 +1657,7 @@ 5_4.mo:Expected error in mat integer->char: "integer->char: #f is not a valid unicode scalar value". 5_4.mo:Expected error in mat integer->char: "integer->char: #\a is not a valid unicode scalar value". *************** -*** 1844,1856 **** +*** 1895,1907 **** 5_4.mo:Expected error in mat integer->char: "integer->char: 1114112 is not a valid unicode scalar value". 5_4.mo:Expected error in mat integer->char: "integer->char: 1179648 is not a valid unicode scalar value". 5_4.mo:Expected error in mat integer->char: "integer->char: is not a valid unicode scalar value". @@ -1671,7 +1671,7 @@ 5_4.mo:Expected error in mat string-for-each: "string-for-each: "" is not a procedure". 5_4.mo:Expected error in mat string-for-each: "string-for-each: "" is not a procedure". 5_4.mo:Expected error in mat string-for-each: "string-for-each: "" is not a procedure". ---- 1844,1856 ---- +--- 1895,1907 ---- 5_4.mo:Expected error in mat integer->char: "integer->char: 1114112 is not a valid unicode scalar value". 5_4.mo:Expected error in mat integer->char: "integer->char: 1179648 is not a valid unicode scalar value". 5_4.mo:Expected error in mat integer->char: "integer->char: is not a valid unicode scalar value". @@ -1686,7 +1686,7 @@ 5_4.mo:Expected error in mat string-for-each: "string-for-each: "" is not a procedure". 5_4.mo:Expected error in mat string-for-each: "string-for-each: "" is not a procedure". *************** -*** 1865,2010 **** +*** 1916,2061 **** 5_4.mo:Expected error in mat string-for-each: "string-for-each: lengths of input string "" and "x" differ". 5_4.mo:Expected error in mat string-for-each: "string-for-each: lengths of input string "y" and "" differ". 5_4.mo:Expected error in mat string-for-each: "string-for-each: lengths of input string "y" and "" differ". @@ -1833,7 +1833,7 @@ 5_5.mo:Expected error in mat r6rs:string>=?/r6rs:string-ci>=?: "string-ci>=?: a is not a string". 5_5.mo:Expected error in mat r6rs:string>=?/r6rs:string-ci>=?: "string-ci>=?: a is not a string". 5_5.mo:Expected error in mat r6rs:string>=?/r6rs:string-ci>=?: "string-ci>=?: a is not a string". ---- 1865,2010 ---- +--- 1916,2061 ---- 5_4.mo:Expected error in mat string-for-each: "string-for-each: lengths of input string "" and "x" differ". 5_4.mo:Expected error in mat string-for-each: "string-for-each: lengths of input string "y" and "" differ". 5_4.mo:Expected error in mat string-for-each: "string-for-each: lengths of input string "y" and "" differ". @@ -1981,7 +1981,7 @@ 5_5.mo:Expected error in mat r6rs:string>=?/r6rs:string-ci>=?: "string-ci>=?: a is not a string". 5_5.mo:Expected error in mat r6rs:string>=?/r6rs:string-ci>=?: "string-ci>=?: a is not a string". *************** -*** 2012,2050 **** +*** 2063,2101 **** 5_5.mo:Expected error in mat string: "string: a is not a character". 5_5.mo:Expected error in mat string: "string: a is not a character". 5_5.mo:Expected error in mat string: "string: a is not a character". @@ -2021,7 +2021,7 @@ 5_5.mo:Expected error in mat string-copy!: "string-copy!: 0 is not a string". 5_5.mo:Expected error in mat string-copy!: "string-copy!: #vu8(1 2 3) is not a mutable string". 5_5.mo:Expected error in mat string-copy!: "string-copy!: invalid start value -1". ---- 2012,2050 ---- +--- 2063,2101 ---- 5_5.mo:Expected error in mat string: "string: a is not a character". 5_5.mo:Expected error in mat string: "string: a is not a character". 5_5.mo:Expected error in mat string: "string: a is not a character". @@ -2062,7 +2062,7 @@ 5_5.mo:Expected error in mat string-copy!: "string-copy!: #vu8(1 2 3) is not a mutable string". 5_5.mo:Expected error in mat string-copy!: "string-copy!: invalid start value -1". *************** -*** 2068,2076 **** +*** 2119,2127 **** 5_5.mo:Expected error in mat string-copy!: "string-copy!: index 4 + count 1 is beyond the end of "1234"". 5_5.mo:Expected error in mat string-copy!: "string-copy!: index 0 + count 500 is beyond the end of "abcdefghi"". 5_5.mo:Expected error in mat string-copy!: "string-copy!: index 500 + count 0 is beyond the end of "abcdefghi"". @@ -2072,7 +2072,7 @@ 5_5.mo:Expected error in mat string-truncate!: "string-truncate!: 0 is not a mutable string". 5_5.mo:Expected error in mat string-truncate!: "string-truncate!: #vu8(1 2 3) is not a mutable string". 5_5.mo:Expected error in mat string-truncate!: "string-truncate!: invalid new length -1 for "abcdefghi"". ---- 2068,2076 ---- +--- 2119,2127 ---- 5_5.mo:Expected error in mat string-copy!: "string-copy!: index 4 + count 1 is beyond the end of "1234"". 5_5.mo:Expected error in mat string-copy!: "string-copy!: index 0 + count 500 is beyond the end of "abcdefghi"". 5_5.mo:Expected error in mat string-copy!: "string-copy!: index 500 + count 0 is beyond the end of "abcdefghi"". @@ -2083,7 +2083,7 @@ 5_5.mo:Expected error in mat string-truncate!: "string-truncate!: #vu8(1 2 3) is not a mutable string". 5_5.mo:Expected error in mat string-truncate!: "string-truncate!: invalid new length -1 for "abcdefghi"". *************** -*** 2082,2134 **** +*** 2133,2185 **** 5_5.mo:Expected error in mat string-append: "string-append: b is not a string". 5_5.mo:Expected error in mat string-append: "string-append: b is not a string". 5_5.mo:Expected error in mat string-append: "string-copy: a is not a string". @@ -2137,7 +2137,7 @@ bytevector.mo:Expected error in mat make-bytevector: "make-bytevector: -1 is not a valid bytevector length". bytevector.mo:Expected error in mat make-bytevector: "make-bytevector: -1 is not a valid bytevector length". bytevector.mo:Expected error in mat make-bytevector: "make-bytevector: is not a valid bytevector length". ---- 2082,2134 ---- +--- 2133,2185 ---- 5_5.mo:Expected error in mat string-append: "string-append: b is not a string". 5_5.mo:Expected error in mat string-append: "string-append: b is not a string". 5_5.mo:Expected error in mat string-append: "string-copy: a is not a string". @@ -2192,7 +2192,7 @@ bytevector.mo:Expected error in mat make-bytevector: "make-bytevector: -1 is not a valid bytevector length". bytevector.mo:Expected error in mat make-bytevector: "make-bytevector: is not a valid bytevector length". *************** -*** 2145,2174 **** +*** 2196,2225 **** bytevector.mo:Expected error in mat bytevector: "bytevector: invalid value -500". bytevector.mo:Expected error in mat bytevector: "bytevector: invalid value 1e100". bytevector.mo:Expected error in mat bytevector: "bytevector: invalid value 10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000". @@ -2223,7 +2223,7 @@ bytevector.mo:Expected error in mat bytevector-s8-set!: "bytevector-s8-set!: (3 4 5) is not a mutable bytevector". bytevector.mo:Expected error in mat bytevector-s8-set!: "bytevector-s8-set!: (3 4 5) is not a mutable bytevector". bytevector.mo:Expected error in mat bytevector-s8-set!: "bytevector-s8-set!: 3 is not a valid index for #vu8(3 4 5)". ---- 2145,2174 ---- +--- 2196,2225 ---- bytevector.mo:Expected error in mat bytevector: "bytevector: invalid value -500". bytevector.mo:Expected error in mat bytevector: "bytevector: invalid value 1e100". bytevector.mo:Expected error in mat bytevector: "bytevector: invalid value 10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000". @@ -2255,7 +2255,7 @@ bytevector.mo:Expected error in mat bytevector-s8-set!: "bytevector-s8-set!: (3 4 5) is not a mutable bytevector". bytevector.mo:Expected error in mat bytevector-s8-set!: "bytevector-s8-set!: 3 is not a valid index for #vu8(3 4 5)". *************** -*** 2177,2186 **** +*** 2228,2237 **** bytevector.mo:Expected error in mat bytevector-s8-set!: "bytevector-s8-set!: invalid value -129". bytevector.mo:Expected error in mat bytevector-s8-set!: "bytevector-s8-set!: invalid value 128". bytevector.mo:Expected error in mat bytevector-s8-set!: "bytevector-s8-set!: invalid value d". @@ -2266,7 +2266,7 @@ bytevector.mo:Expected error in mat bytevector-u8-set!: "bytevector-u8-set!: (3 4 5) is not a mutable bytevector". bytevector.mo:Expected error in mat bytevector-u8-set!: "bytevector-u8-set!: (3 4 5) is not a mutable bytevector". bytevector.mo:Expected error in mat bytevector-u8-set!: "bytevector-u8-set!: 3 is not a valid index for #vu8(3 4 5)". ---- 2177,2186 ---- +--- 2228,2237 ---- bytevector.mo:Expected error in mat bytevector-s8-set!: "bytevector-s8-set!: invalid value -129". bytevector.mo:Expected error in mat bytevector-s8-set!: "bytevector-s8-set!: invalid value 128". bytevector.mo:Expected error in mat bytevector-s8-set!: "bytevector-s8-set!: invalid value d". @@ -2278,7 +2278,7 @@ bytevector.mo:Expected error in mat bytevector-u8-set!: "bytevector-u8-set!: (3 4 5) is not a mutable bytevector". bytevector.mo:Expected error in mat bytevector-u8-set!: "bytevector-u8-set!: 3 is not a valid index for #vu8(3 4 5)". *************** -*** 2189,2197 **** +*** 2240,2248 **** bytevector.mo:Expected error in mat bytevector-u8-set!: "bytevector-u8-set!: invalid value -1". bytevector.mo:Expected error in mat bytevector-u8-set!: "bytevector-u8-set!: invalid value 256". bytevector.mo:Expected error in mat bytevector-u8-set!: "bytevector-u8-set!: invalid value d". @@ -2288,7 +2288,7 @@ bytevector.mo:Expected error in mat bytevector-s16-native-ref: "bytevector-s16-native-ref: #(3 252 5) is not a bytevector". bytevector.mo:Expected error in mat bytevector-s16-native-ref: "bytevector-s16-native-ref: #(3 252 5) is not a bytevector". bytevector.mo:Expected error in mat bytevector-s16-native-ref: "bytevector-s16-native-ref: invalid index -1 for bytevector #vu8(3 252 5)". ---- 2189,2197 ---- +--- 2240,2248 ---- bytevector.mo:Expected error in mat bytevector-u8-set!: "bytevector-u8-set!: invalid value -1". bytevector.mo:Expected error in mat bytevector-u8-set!: "bytevector-u8-set!: invalid value 256". bytevector.mo:Expected error in mat bytevector-u8-set!: "bytevector-u8-set!: invalid value d". @@ -2299,7 +2299,7 @@ bytevector.mo:Expected error in mat bytevector-s16-native-ref: "bytevector-s16-native-ref: #(3 252 5) is not a bytevector". bytevector.mo:Expected error in mat bytevector-s16-native-ref: "bytevector-s16-native-ref: invalid index -1 for bytevector #vu8(3 252 5)". *************** -*** 2199,2207 **** +*** 2250,2258 **** bytevector.mo:Expected error in mat bytevector-s16-native-ref: "bytevector-s16-native-ref: invalid index 2 for bytevector #vu8(3 252 5)". bytevector.mo:Expected error in mat bytevector-s16-native-ref: "bytevector-s16-native-ref: invalid index 3 for bytevector #vu8(3 252 5)". bytevector.mo:Expected error in mat bytevector-s16-native-ref: "bytevector-s16-native-ref: invalid index 4.0 for bytevector #vu8(3 252 5)". @@ -2309,7 +2309,7 @@ bytevector.mo:Expected error in mat bytevector-u16-native-ref: "bytevector-u16-native-ref: #(3 252 5) is not a bytevector". bytevector.mo:Expected error in mat bytevector-u16-native-ref: "bytevector-u16-native-ref: #(3 252 5) is not a bytevector". bytevector.mo:Expected error in mat bytevector-u16-native-ref: "bytevector-u16-native-ref: invalid index -1 for bytevector #vu8(3 252 5)". ---- 2199,2207 ---- +--- 2250,2258 ---- bytevector.mo:Expected error in mat bytevector-s16-native-ref: "bytevector-s16-native-ref: invalid index 2 for bytevector #vu8(3 252 5)". bytevector.mo:Expected error in mat bytevector-s16-native-ref: "bytevector-s16-native-ref: invalid index 3 for bytevector #vu8(3 252 5)". bytevector.mo:Expected error in mat bytevector-s16-native-ref: "bytevector-s16-native-ref: invalid index 4.0 for bytevector #vu8(3 252 5)". @@ -2320,7 +2320,7 @@ bytevector.mo:Expected error in mat bytevector-u16-native-ref: "bytevector-u16-native-ref: #(3 252 5) is not a bytevector". bytevector.mo:Expected error in mat bytevector-u16-native-ref: "bytevector-u16-native-ref: invalid index -1 for bytevector #vu8(3 252 5)". *************** -*** 2209,2218 **** +*** 2260,2269 **** bytevector.mo:Expected error in mat bytevector-u16-native-ref: "bytevector-u16-native-ref: invalid index 2 for bytevector #vu8(3 252 5)". bytevector.mo:Expected error in mat bytevector-u16-native-ref: "bytevector-u16-native-ref: invalid index 3 for bytevector #vu8(3 252 5)". bytevector.mo:Expected error in mat bytevector-u16-native-ref: "bytevector-u16-native-ref: invalid index 4.0 for bytevector #vu8(3 252 5)". @@ -2331,7 +2331,7 @@ bytevector.mo:Expected error in mat bytevector-s16-native-set!: "bytevector-s16-native-set!: #(0 0 0 0 0 0 ...) is not a mutable bytevector". bytevector.mo:Expected error in mat bytevector-s16-native-set!: "bytevector-s16-native-set!: #(0 0 0 0 0 0 ...) is not a mutable bytevector". bytevector.mo:Expected error in mat bytevector-s16-native-set!: "bytevector-s16-native-set!: invalid index -1 for bytevector #vu8(173 173 173 173 173 173 ...)". ---- 2209,2218 ---- +--- 2260,2269 ---- bytevector.mo:Expected error in mat bytevector-u16-native-ref: "bytevector-u16-native-ref: invalid index 2 for bytevector #vu8(3 252 5)". bytevector.mo:Expected error in mat bytevector-u16-native-ref: "bytevector-u16-native-ref: invalid index 3 for bytevector #vu8(3 252 5)". bytevector.mo:Expected error in mat bytevector-u16-native-ref: "bytevector-u16-native-ref: invalid index 4.0 for bytevector #vu8(3 252 5)". @@ -2343,7 +2343,7 @@ bytevector.mo:Expected error in mat bytevector-s16-native-set!: "bytevector-s16-native-set!: #(0 0 0 0 0 0 ...) is not a mutable bytevector". bytevector.mo:Expected error in mat bytevector-s16-native-set!: "bytevector-s16-native-set!: invalid index -1 for bytevector #vu8(173 173 173 173 173 173 ...)". *************** -*** 2226,2235 **** +*** 2277,2286 **** bytevector.mo:Expected error in mat bytevector-s16-native-set!: "bytevector-s16-native-set!: invalid value 32768". bytevector.mo:Expected error in mat bytevector-s16-native-set!: "bytevector-s16-native-set!: invalid value -32769". bytevector.mo:Expected error in mat bytevector-s16-native-set!: "bytevector-s16-native-set!: invalid value "hello"". @@ -2354,7 +2354,7 @@ bytevector.mo:Expected error in mat bytevector-u16-native-set!: "bytevector-u16-native-set!: #(0 0 0 0 0 0 ...) is not a mutable bytevector". bytevector.mo:Expected error in mat bytevector-u16-native-set!: "bytevector-u16-native-set!: #(0 0 0 0 0 0 ...) is not a mutable bytevector". bytevector.mo:Expected error in mat bytevector-u16-native-set!: "bytevector-u16-native-set!: invalid index -1 for bytevector #vu8(173 173 173 173 173 173 ...)". ---- 2226,2235 ---- +--- 2277,2286 ---- bytevector.mo:Expected error in mat bytevector-s16-native-set!: "bytevector-s16-native-set!: invalid value 32768". bytevector.mo:Expected error in mat bytevector-s16-native-set!: "bytevector-s16-native-set!: invalid value -32769". bytevector.mo:Expected error in mat bytevector-s16-native-set!: "bytevector-s16-native-set!: invalid value "hello"". @@ -2366,7 +2366,7 @@ bytevector.mo:Expected error in mat bytevector-u16-native-set!: "bytevector-u16-native-set!: #(0 0 0 0 0 0 ...) is not a mutable bytevector". bytevector.mo:Expected error in mat bytevector-u16-native-set!: "bytevector-u16-native-set!: invalid index -1 for bytevector #vu8(173 173 173 173 173 173 ...)". *************** -*** 2243,2251 **** +*** 2294,2302 **** bytevector.mo:Expected error in mat bytevector-u16-native-set!: "bytevector-u16-native-set!: invalid value 65536". bytevector.mo:Expected error in mat bytevector-u16-native-set!: "bytevector-u16-native-set!: invalid value -1". bytevector.mo:Expected error in mat bytevector-u16-native-set!: "bytevector-u16-native-set!: invalid value "hello"". @@ -2376,7 +2376,7 @@ bytevector.mo:Expected error in mat bytevector-s16-ref: "bytevector-s16-ref: #(3 252 5) is not a bytevector". bytevector.mo:Expected error in mat bytevector-s16-ref: "bytevector-s16-ref: #(3 252 5) is not a bytevector". bytevector.mo:Expected error in mat bytevector-s16-ref: "bytevector-s16-ref: invalid index -1 for bytevector #vu8(3 252 5)". ---- 2243,2251 ---- +--- 2294,2302 ---- bytevector.mo:Expected error in mat bytevector-u16-native-set!: "bytevector-u16-native-set!: invalid value 65536". bytevector.mo:Expected error in mat bytevector-u16-native-set!: "bytevector-u16-native-set!: invalid value -1". bytevector.mo:Expected error in mat bytevector-u16-native-set!: "bytevector-u16-native-set!: invalid value "hello"". @@ -2387,7 +2387,7 @@ bytevector.mo:Expected error in mat bytevector-s16-ref: "bytevector-s16-ref: #(3 252 5) is not a bytevector". bytevector.mo:Expected error in mat bytevector-s16-ref: "bytevector-s16-ref: invalid index -1 for bytevector #vu8(3 252 5)". *************** -*** 2255,2263 **** +*** 2306,2314 **** bytevector.mo:Expected error in mat bytevector-s16-ref: "bytevector-s16-ref: unrecognized endianness bigger". bytevector.mo:Expected error in mat bytevector-s16-ref: "bytevector-s16-ref: unrecognized endianness "little"". bytevector.mo:Expected error in mat bytevector-s16-ref: "bytevector-s16-ref: unrecognized endianness #t". @@ -2397,7 +2397,7 @@ bytevector.mo:Expected error in mat bytevector-u16-ref: "bytevector-u16-ref: #(3 252 5) is not a bytevector". bytevector.mo:Expected error in mat bytevector-u16-ref: "bytevector-u16-ref: #(3 252 5) is not a bytevector". bytevector.mo:Expected error in mat bytevector-u16-ref: "bytevector-u16-ref: invalid index -1 for bytevector #vu8(3 252 5)". ---- 2255,2263 ---- +--- 2306,2314 ---- bytevector.mo:Expected error in mat bytevector-s16-ref: "bytevector-s16-ref: unrecognized endianness bigger". bytevector.mo:Expected error in mat bytevector-s16-ref: "bytevector-s16-ref: unrecognized endianness "little"". bytevector.mo:Expected error in mat bytevector-s16-ref: "bytevector-s16-ref: unrecognized endianness #t". @@ -2408,7 +2408,7 @@ bytevector.mo:Expected error in mat bytevector-u16-ref: "bytevector-u16-ref: #(3 252 5) is not a bytevector". bytevector.mo:Expected error in mat bytevector-u16-ref: "bytevector-u16-ref: invalid index -1 for bytevector #vu8(3 252 5)". *************** -*** 2267,2276 **** +*** 2318,2327 **** bytevector.mo:Expected error in mat bytevector-u16-ref: "bytevector-u16-ref: unrecognized endianness bigger". bytevector.mo:Expected error in mat bytevector-u16-ref: "bytevector-u16-ref: unrecognized endianness "little"". bytevector.mo:Expected error in mat bytevector-u16-ref: "bytevector-u16-ref: unrecognized endianness #t". @@ -2419,7 +2419,7 @@ bytevector.mo:Expected error in mat bytevector-s16-set!: "bytevector-s16-set!: #(0 0 0 0 0 0 ...) is not a mutable bytevector". bytevector.mo:Expected error in mat bytevector-s16-set!: "bytevector-s16-set!: #(0 0 0 0 0 0 ...) is not a mutable bytevector". bytevector.mo:Expected error in mat bytevector-s16-set!: "bytevector-s16-set!: invalid index -1 for bytevector #vu8(173 173 173 173 173 173 ...)". ---- 2267,2276 ---- +--- 2318,2327 ---- bytevector.mo:Expected error in mat bytevector-u16-ref: "bytevector-u16-ref: unrecognized endianness bigger". bytevector.mo:Expected error in mat bytevector-u16-ref: "bytevector-u16-ref: unrecognized endianness "little"". bytevector.mo:Expected error in mat bytevector-u16-ref: "bytevector-u16-ref: unrecognized endianness #t". @@ -2431,7 +2431,7 @@ bytevector.mo:Expected error in mat bytevector-s16-set!: "bytevector-s16-set!: #(0 0 0 0 0 0 ...) is not a mutable bytevector". bytevector.mo:Expected error in mat bytevector-s16-set!: "bytevector-s16-set!: invalid index -1 for bytevector #vu8(173 173 173 173 173 173 ...)". *************** -*** 2286,2295 **** +*** 2337,2346 **** bytevector.mo:Expected error in mat bytevector-s16-set!: "bytevector-s16-set!: unrecognized endianness bigger". bytevector.mo:Expected error in mat bytevector-s16-set!: "bytevector-s16-set!: unrecognized endianness "little"". bytevector.mo:Expected error in mat bytevector-s16-set!: "bytevector-s16-set!: unrecognized endianness #t". @@ -2442,7 +2442,7 @@ bytevector.mo:Expected error in mat bytevector-u16-set!: "bytevector-u16-set!: #(0 0 0 0 0 0 ...) is not a mutable bytevector". bytevector.mo:Expected error in mat bytevector-u16-set!: "bytevector-u16-set!: #(0 0 0 0 0 0 ...) is not a mutable bytevector". bytevector.mo:Expected error in mat bytevector-u16-set!: "bytevector-u16-set!: invalid index -1 for bytevector #vu8(173 173 173 173 173 173 ...)". ---- 2286,2295 ---- +--- 2337,2346 ---- bytevector.mo:Expected error in mat bytevector-s16-set!: "bytevector-s16-set!: unrecognized endianness bigger". bytevector.mo:Expected error in mat bytevector-s16-set!: "bytevector-s16-set!: unrecognized endianness "little"". bytevector.mo:Expected error in mat bytevector-s16-set!: "bytevector-s16-set!: unrecognized endianness #t". @@ -2454,7 +2454,7 @@ bytevector.mo:Expected error in mat bytevector-u16-set!: "bytevector-u16-set!: #(0 0 0 0 0 0 ...) is not a mutable bytevector". bytevector.mo:Expected error in mat bytevector-u16-set!: "bytevector-u16-set!: invalid index -1 for bytevector #vu8(173 173 173 173 173 173 ...)". *************** -*** 2305,2314 **** +*** 2356,2365 **** bytevector.mo:Expected error in mat bytevector-u16-set!: "bytevector-u16-set!: unrecognized endianness bigger". bytevector.mo:Expected error in mat bytevector-u16-set!: "bytevector-u16-set!: unrecognized endianness "little"". bytevector.mo:Expected error in mat bytevector-u16-set!: "bytevector-u16-set!: unrecognized endianness #t". @@ -2465,7 +2465,7 @@ bytevector.mo:Expected error in mat bytevector-s24-ref: "bytevector-s24-ref: #(3 252 5 0 0 0 ...) is not a bytevector". bytevector.mo:Expected error in mat bytevector-s24-ref: "bytevector-s24-ref: #(3 252 5 0 0 0 ...) is not a bytevector". bytevector.mo:Expected error in mat bytevector-s24-ref: "bytevector-s24-ref: invalid index -1 for bytevector #vu8(3 252 5 0 0 0 ...)". ---- 2305,2314 ---- +--- 2356,2365 ---- bytevector.mo:Expected error in mat bytevector-u16-set!: "bytevector-u16-set!: unrecognized endianness bigger". bytevector.mo:Expected error in mat bytevector-u16-set!: "bytevector-u16-set!: unrecognized endianness "little"". bytevector.mo:Expected error in mat bytevector-u16-set!: "bytevector-u16-set!: unrecognized endianness #t". @@ -2477,7 +2477,7 @@ bytevector.mo:Expected error in mat bytevector-s24-ref: "bytevector-s24-ref: #(3 252 5 0 0 0 ...) is not a bytevector". bytevector.mo:Expected error in mat bytevector-s24-ref: "bytevector-s24-ref: invalid index -1 for bytevector #vu8(3 252 5 0 0 0 ...)". *************** -*** 2318,2327 **** +*** 2369,2378 **** bytevector.mo:Expected error in mat bytevector-s24-ref: "bytevector-s24-ref: unrecognized endianness bigger". bytevector.mo:Expected error in mat bytevector-s24-ref: "bytevector-s24-ref: unrecognized endianness "little"". bytevector.mo:Expected error in mat bytevector-s24-ref: "bytevector-s24-ref: unrecognized endianness #t". @@ -2488,7 +2488,7 @@ bytevector.mo:Expected error in mat bytevector-u24-ref: "bytevector-u24-ref: #(3 252 5 0 0 0 ...) is not a bytevector". bytevector.mo:Expected error in mat bytevector-u24-ref: "bytevector-u24-ref: #(3 252 5 0 0 0 ...) is not a bytevector". bytevector.mo:Expected error in mat bytevector-u24-ref: "bytevector-u24-ref: invalid index -1 for bytevector #vu8(3 252 5 0 0 0 ...)". ---- 2318,2327 ---- +--- 2369,2378 ---- bytevector.mo:Expected error in mat bytevector-s24-ref: "bytevector-s24-ref: unrecognized endianness bigger". bytevector.mo:Expected error in mat bytevector-s24-ref: "bytevector-s24-ref: unrecognized endianness "little"". bytevector.mo:Expected error in mat bytevector-s24-ref: "bytevector-s24-ref: unrecognized endianness #t". @@ -2500,7 +2500,7 @@ bytevector.mo:Expected error in mat bytevector-u24-ref: "bytevector-u24-ref: #(3 252 5 0 0 0 ...) is not a bytevector". bytevector.mo:Expected error in mat bytevector-u24-ref: "bytevector-u24-ref: invalid index -1 for bytevector #vu8(3 252 5 0 0 0 ...)". *************** -*** 2331,2341 **** +*** 2382,2392 **** bytevector.mo:Expected error in mat bytevector-u24-ref: "bytevector-u24-ref: unrecognized endianness bigger". bytevector.mo:Expected error in mat bytevector-u24-ref: "bytevector-u24-ref: unrecognized endianness "little"". bytevector.mo:Expected error in mat bytevector-u24-ref: "bytevector-u24-ref: unrecognized endianness #t". @@ -2512,7 +2512,7 @@ bytevector.mo:Expected error in mat bytevector-s24-set!: "bytevector-s24-set!: #(0 0 0 0 0 0 ...) is not a mutable bytevector". bytevector.mo:Expected error in mat bytevector-s24-set!: "bytevector-s24-set!: #(0 0 0 0 0 0 ...) is not a mutable bytevector". bytevector.mo:Expected error in mat bytevector-s24-set!: "bytevector-s24-set!: invalid index -1 for bytevector #vu8(173 173 173 173 173 173 ...)". ---- 2331,2341 ---- +--- 2382,2392 ---- bytevector.mo:Expected error in mat bytevector-u24-ref: "bytevector-u24-ref: unrecognized endianness bigger". bytevector.mo:Expected error in mat bytevector-u24-ref: "bytevector-u24-ref: unrecognized endianness "little"". bytevector.mo:Expected error in mat bytevector-u24-ref: "bytevector-u24-ref: unrecognized endianness #t". @@ -2525,7 +2525,7 @@ bytevector.mo:Expected error in mat bytevector-s24-set!: "bytevector-s24-set!: #(0 0 0 0 0 0 ...) is not a mutable bytevector". bytevector.mo:Expected error in mat bytevector-s24-set!: "bytevector-s24-set!: invalid index -1 for bytevector #vu8(173 173 173 173 173 173 ...)". *************** -*** 2349,2359 **** +*** 2400,2410 **** bytevector.mo:Expected error in mat bytevector-s24-set!: "bytevector-s24-set!: unrecognized endianness huge". bytevector.mo:Expected error in mat bytevector-s24-set!: "bytevector-s24-set!: unrecognized endianness "tiny"". bytevector.mo:Expected error in mat bytevector-s24-set!: "bytevector-s24-set!: unrecognized endianness #vu8(173 173 173 173 173 173 ...)". @@ -2537,7 +2537,7 @@ bytevector.mo:Expected error in mat bytevector-u24-set!: "bytevector-u24-set!: #(0 0 0 0 0 0 ...) is not a mutable bytevector". bytevector.mo:Expected error in mat bytevector-u24-set!: "bytevector-u24-set!: #(0 0 0 0 0 0 ...) is not a mutable bytevector". bytevector.mo:Expected error in mat bytevector-u24-set!: "bytevector-u24-set!: invalid index -1 for bytevector #vu8(173 173 173 173 173 173 ...)". ---- 2349,2359 ---- +--- 2400,2410 ---- bytevector.mo:Expected error in mat bytevector-s24-set!: "bytevector-s24-set!: unrecognized endianness huge". bytevector.mo:Expected error in mat bytevector-s24-set!: "bytevector-s24-set!: unrecognized endianness "tiny"". bytevector.mo:Expected error in mat bytevector-s24-set!: "bytevector-s24-set!: unrecognized endianness #vu8(173 173 173 173 173 173 ...)". @@ -2550,7 +2550,7 @@ bytevector.mo:Expected error in mat bytevector-u24-set!: "bytevector-u24-set!: #(0 0 0 0 0 0 ...) is not a mutable bytevector". bytevector.mo:Expected error in mat bytevector-u24-set!: "bytevector-u24-set!: invalid index -1 for bytevector #vu8(173 173 173 173 173 173 ...)". *************** -*** 2367,2375 **** +*** 2418,2426 **** bytevector.mo:Expected error in mat bytevector-u24-set!: "bytevector-u24-set!: unrecognized endianness huge". bytevector.mo:Expected error in mat bytevector-u24-set!: "bytevector-u24-set!: unrecognized endianness "tiny"". bytevector.mo:Expected error in mat bytevector-u24-set!: "bytevector-u24-set!: unrecognized endianness #vu8(173 173 173 173 173 173 ...)". @@ -2560,7 +2560,7 @@ bytevector.mo:Expected error in mat bytevector-s32-native-ref: "bytevector-s32-native-ref: #(3 252 5 0 0 0 ...) is not a bytevector". bytevector.mo:Expected error in mat bytevector-s32-native-ref: "bytevector-s32-native-ref: #(3 252 5 0 0 0 ...) is not a bytevector". bytevector.mo:Expected error in mat bytevector-s32-native-ref: "bytevector-s32-native-ref: invalid index -1 for bytevector #vu8(3 252 5 0 0 0 ...)". ---- 2367,2375 ---- +--- 2418,2426 ---- bytevector.mo:Expected error in mat bytevector-u24-set!: "bytevector-u24-set!: unrecognized endianness huge". bytevector.mo:Expected error in mat bytevector-u24-set!: "bytevector-u24-set!: unrecognized endianness "tiny"". bytevector.mo:Expected error in mat bytevector-u24-set!: "bytevector-u24-set!: unrecognized endianness #vu8(173 173 173 173 173 173 ...)". @@ -2571,7 +2571,7 @@ bytevector.mo:Expected error in mat bytevector-s32-native-ref: "bytevector-s32-native-ref: #(3 252 5 0 0 0 ...) is not a bytevector". bytevector.mo:Expected error in mat bytevector-s32-native-ref: "bytevector-s32-native-ref: invalid index -1 for bytevector #vu8(3 252 5 0 0 0 ...)". *************** -*** 2381,2389 **** +*** 2432,2440 **** bytevector.mo:Expected error in mat bytevector-s32-native-ref: "bytevector-s32-native-ref: invalid index 6 for bytevector #vu8(3 252 5 0 0 0 ...)". bytevector.mo:Expected error in mat bytevector-s32-native-ref: "bytevector-s32-native-ref: invalid index 7 for bytevector #vu8(3 252 5 0 0 0 ...)". bytevector.mo:Expected error in mat bytevector-s32-native-ref: "bytevector-s32-native-ref: invalid index 4.0 for bytevector #vu8(3 252 5 0 0 0 ...)". @@ -2581,7 +2581,7 @@ bytevector.mo:Expected error in mat bytevector-u32-native-ref: "bytevector-u32-native-ref: #(3 252 5 0 0 0 ...) is not a bytevector". bytevector.mo:Expected error in mat bytevector-u32-native-ref: "bytevector-u32-native-ref: #(3 252 5 0 0 0 ...) is not a bytevector". bytevector.mo:Expected error in mat bytevector-u32-native-ref: "bytevector-u32-native-ref: invalid index -1 for bytevector #vu8(3 252 5 0 0 0 ...)". ---- 2381,2389 ---- +--- 2432,2440 ---- bytevector.mo:Expected error in mat bytevector-s32-native-ref: "bytevector-s32-native-ref: invalid index 6 for bytevector #vu8(3 252 5 0 0 0 ...)". bytevector.mo:Expected error in mat bytevector-s32-native-ref: "bytevector-s32-native-ref: invalid index 7 for bytevector #vu8(3 252 5 0 0 0 ...)". bytevector.mo:Expected error in mat bytevector-s32-native-ref: "bytevector-s32-native-ref: invalid index 4.0 for bytevector #vu8(3 252 5 0 0 0 ...)". @@ -2592,7 +2592,7 @@ bytevector.mo:Expected error in mat bytevector-u32-native-ref: "bytevector-u32-native-ref: #(3 252 5 0 0 0 ...) is not a bytevector". bytevector.mo:Expected error in mat bytevector-u32-native-ref: "bytevector-u32-native-ref: invalid index -1 for bytevector #vu8(3 252 5 0 0 0 ...)". *************** -*** 2395,2404 **** +*** 2446,2455 **** bytevector.mo:Expected error in mat bytevector-u32-native-ref: "bytevector-u32-native-ref: invalid index 6 for bytevector #vu8(3 252 5 0 0 0 ...)". bytevector.mo:Expected error in mat bytevector-u32-native-ref: "bytevector-u32-native-ref: invalid index 7 for bytevector #vu8(3 252 5 0 0 0 ...)". bytevector.mo:Expected error in mat bytevector-u32-native-ref: "bytevector-u32-native-ref: invalid index 4.0 for bytevector #vu8(3 252 5 0 0 0 ...)". @@ -2603,7 +2603,7 @@ bytevector.mo:Expected error in mat bytevector-s32-native-set!: "bytevector-s32-native-set!: #(0 0 0 0 0 0 ...) is not a mutable bytevector". bytevector.mo:Expected error in mat bytevector-s32-native-set!: "bytevector-s32-native-set!: #(0 0 0 0 0 0 ...) is not a mutable bytevector". bytevector.mo:Expected error in mat bytevector-s32-native-set!: "bytevector-s32-native-set!: invalid index -1 for bytevector #vu8(173 173 173 173 173 173 ...)". ---- 2395,2404 ---- +--- 2446,2455 ---- bytevector.mo:Expected error in mat bytevector-u32-native-ref: "bytevector-u32-native-ref: invalid index 6 for bytevector #vu8(3 252 5 0 0 0 ...)". bytevector.mo:Expected error in mat bytevector-u32-native-ref: "bytevector-u32-native-ref: invalid index 7 for bytevector #vu8(3 252 5 0 0 0 ...)". bytevector.mo:Expected error in mat bytevector-u32-native-ref: "bytevector-u32-native-ref: invalid index 4.0 for bytevector #vu8(3 252 5 0 0 0 ...)". @@ -2615,7 +2615,7 @@ bytevector.mo:Expected error in mat bytevector-s32-native-set!: "bytevector-s32-native-set!: #(0 0 0 0 0 0 ...) is not a mutable bytevector". bytevector.mo:Expected error in mat bytevector-s32-native-set!: "bytevector-s32-native-set!: invalid index -1 for bytevector #vu8(173 173 173 173 173 173 ...)". *************** -*** 2425,2434 **** +*** 2476,2485 **** bytevector.mo:Expected error in mat bytevector-s32-native-set!: "bytevector-s32-native-set!: invalid value ". bytevector.mo:Expected error in mat bytevector-s32-native-set!: "bytevector-s32-native-set!: invalid value <-int>". bytevector.mo:Expected error in mat bytevector-s32-native-set!: "bytevector-s32-native-set!: invalid value "hello"". @@ -2626,7 +2626,7 @@ bytevector.mo:Expected error in mat bytevector-u32-native-set!: "bytevector-u32-native-set!: #(0 0 0 0 0 0 ...) is not a mutable bytevector". bytevector.mo:Expected error in mat bytevector-u32-native-set!: "bytevector-u32-native-set!: #(0 0 0 0 0 0 ...) is not a mutable bytevector". bytevector.mo:Expected error in mat bytevector-u32-native-set!: "bytevector-u32-native-set!: invalid index -1 for bytevector #vu8(173 173 173 173 173 173 ...)". ---- 2425,2434 ---- +--- 2476,2485 ---- bytevector.mo:Expected error in mat bytevector-s32-native-set!: "bytevector-s32-native-set!: invalid value ". bytevector.mo:Expected error in mat bytevector-s32-native-set!: "bytevector-s32-native-set!: invalid value <-int>". bytevector.mo:Expected error in mat bytevector-s32-native-set!: "bytevector-s32-native-set!: invalid value "hello"". @@ -2638,7 +2638,7 @@ bytevector.mo:Expected error in mat bytevector-u32-native-set!: "bytevector-u32-native-set!: #(0 0 0 0 0 0 ...) is not a mutable bytevector". bytevector.mo:Expected error in mat bytevector-u32-native-set!: "bytevector-u32-native-set!: invalid index -1 for bytevector #vu8(173 173 173 173 173 173 ...)". *************** -*** 2455,2464 **** +*** 2506,2515 **** bytevector.mo:Expected error in mat bytevector-u32-native-set!: "bytevector-u32-native-set!: invalid value ". bytevector.mo:Expected error in mat bytevector-u32-native-set!: "bytevector-u32-native-set!: invalid value -1". bytevector.mo:Expected error in mat bytevector-u32-native-set!: "bytevector-u32-native-set!: invalid value "hello"". @@ -2649,7 +2649,7 @@ bytevector.mo:Expected error in mat bytevector-s32-ref: "bytevector-s32-ref: #(3 252 5 0 0 0 ...) is not a bytevector". bytevector.mo:Expected error in mat bytevector-s32-ref: "bytevector-s32-ref: #(3 252 5 0 0 0 ...) is not a bytevector". bytevector.mo:Expected error in mat bytevector-s32-ref: "bytevector-s32-ref: invalid index -1 for bytevector #vu8(3 252 5 0 0 0 ...)". ---- 2455,2464 ---- +--- 2506,2515 ---- bytevector.mo:Expected error in mat bytevector-u32-native-set!: "bytevector-u32-native-set!: invalid value ". bytevector.mo:Expected error in mat bytevector-u32-native-set!: "bytevector-u32-native-set!: invalid value -1". bytevector.mo:Expected error in mat bytevector-u32-native-set!: "bytevector-u32-native-set!: invalid value "hello"". @@ -2661,7 +2661,7 @@ bytevector.mo:Expected error in mat bytevector-s32-ref: "bytevector-s32-ref: #(3 252 5 0 0 0 ...) is not a bytevector". bytevector.mo:Expected error in mat bytevector-s32-ref: "bytevector-s32-ref: invalid index -1 for bytevector #vu8(3 252 5 0 0 0 ...)". *************** -*** 2468,2477 **** +*** 2519,2528 **** bytevector.mo:Expected error in mat bytevector-s32-ref: "bytevector-s32-ref: unrecognized endianness bigger". bytevector.mo:Expected error in mat bytevector-s32-ref: "bytevector-s32-ref: unrecognized endianness "little"". bytevector.mo:Expected error in mat bytevector-s32-ref: "bytevector-s32-ref: unrecognized endianness #t". @@ -2672,7 +2672,7 @@ bytevector.mo:Expected error in mat bytevector-u32-ref: "bytevector-u32-ref: #(3 252 5 0 0 0 ...) is not a bytevector". bytevector.mo:Expected error in mat bytevector-u32-ref: "bytevector-u32-ref: #(3 252 5 0 0 0 ...) is not a bytevector". bytevector.mo:Expected error in mat bytevector-u32-ref: "bytevector-u32-ref: invalid index -1 for bytevector #vu8(3 252 5 0 0 0 ...)". ---- 2468,2477 ---- +--- 2519,2528 ---- bytevector.mo:Expected error in mat bytevector-s32-ref: "bytevector-s32-ref: unrecognized endianness bigger". bytevector.mo:Expected error in mat bytevector-s32-ref: "bytevector-s32-ref: unrecognized endianness "little"". bytevector.mo:Expected error in mat bytevector-s32-ref: "bytevector-s32-ref: unrecognized endianness #t". @@ -2684,7 +2684,7 @@ bytevector.mo:Expected error in mat bytevector-u32-ref: "bytevector-u32-ref: #(3 252 5 0 0 0 ...) is not a bytevector". bytevector.mo:Expected error in mat bytevector-u32-ref: "bytevector-u32-ref: invalid index -1 for bytevector #vu8(3 252 5 0 0 0 ...)". *************** -*** 2481,2491 **** +*** 2532,2542 **** bytevector.mo:Expected error in mat bytevector-u32-ref: "bytevector-u32-ref: unrecognized endianness bigger". bytevector.mo:Expected error in mat bytevector-u32-ref: "bytevector-u32-ref: unrecognized endianness "little"". bytevector.mo:Expected error in mat bytevector-u32-ref: "bytevector-u32-ref: unrecognized endianness #t". @@ -2696,7 +2696,7 @@ bytevector.mo:Expected error in mat bytevector-s32-set!: "bytevector-s32-set!: #(0 0 0 0 0 0 ...) is not a mutable bytevector". bytevector.mo:Expected error in mat bytevector-s32-set!: "bytevector-s32-set!: #(0 0 0 0 0 0 ...) is not a mutable bytevector". bytevector.mo:Expected error in mat bytevector-s32-set!: "bytevector-s32-set!: invalid index -1 for bytevector #vu8(173 173 173 173 173 173 ...)". ---- 2481,2491 ---- +--- 2532,2542 ---- bytevector.mo:Expected error in mat bytevector-u32-ref: "bytevector-u32-ref: unrecognized endianness bigger". bytevector.mo:Expected error in mat bytevector-u32-ref: "bytevector-u32-ref: unrecognized endianness "little"". bytevector.mo:Expected error in mat bytevector-u32-ref: "bytevector-u32-ref: unrecognized endianness #t". @@ -2709,7 +2709,7 @@ bytevector.mo:Expected error in mat bytevector-s32-set!: "bytevector-s32-set!: #(0 0 0 0 0 0 ...) is not a mutable bytevector". bytevector.mo:Expected error in mat bytevector-s32-set!: "bytevector-s32-set!: invalid index -1 for bytevector #vu8(173 173 173 173 173 173 ...)". *************** -*** 2500,2510 **** +*** 2551,2561 **** bytevector.mo:Expected error in mat bytevector-s32-set!: "bytevector-s32-set!: unrecognized endianness huge". bytevector.mo:Expected error in mat bytevector-s32-set!: "bytevector-s32-set!: unrecognized endianness "tiny"". bytevector.mo:Expected error in mat bytevector-s32-set!: "bytevector-s32-set!: unrecognized endianness #vu8(173 173 173 173 173 173 ...)". @@ -2721,7 +2721,7 @@ bytevector.mo:Expected error in mat bytevector-u32-set!: "bytevector-u32-set!: #(0 0 0 0 0 0 ...) is not a mutable bytevector". bytevector.mo:Expected error in mat bytevector-u32-set!: "bytevector-u32-set!: #(0 0 0 0 0 0 ...) is not a mutable bytevector". bytevector.mo:Expected error in mat bytevector-u32-set!: "bytevector-u32-set!: invalid index -1 for bytevector #vu8(173 173 173 173 173 173 ...)". ---- 2500,2510 ---- +--- 2551,2561 ---- bytevector.mo:Expected error in mat bytevector-s32-set!: "bytevector-s32-set!: unrecognized endianness huge". bytevector.mo:Expected error in mat bytevector-s32-set!: "bytevector-s32-set!: unrecognized endianness "tiny"". bytevector.mo:Expected error in mat bytevector-s32-set!: "bytevector-s32-set!: unrecognized endianness #vu8(173 173 173 173 173 173 ...)". @@ -2734,7 +2734,7 @@ bytevector.mo:Expected error in mat bytevector-u32-set!: "bytevector-u32-set!: #(0 0 0 0 0 0 ...) is not a mutable bytevector". bytevector.mo:Expected error in mat bytevector-u32-set!: "bytevector-u32-set!: invalid index -1 for bytevector #vu8(173 173 173 173 173 173 ...)". *************** -*** 2519,2528 **** +*** 2570,2579 **** bytevector.mo:Expected error in mat bytevector-u32-set!: "bytevector-u32-set!: unrecognized endianness huge". bytevector.mo:Expected error in mat bytevector-u32-set!: "bytevector-u32-set!: unrecognized endianness "tiny"". bytevector.mo:Expected error in mat bytevector-u32-set!: "bytevector-u32-set!: unrecognized endianness #vu8(173 173 173 173 173 173 ...)". @@ -2745,7 +2745,7 @@ bytevector.mo:Expected error in mat bytevector-s40-ref: "bytevector-s40-ref: #(3 252 5 0 0 0 ...) is not a bytevector". bytevector.mo:Expected error in mat bytevector-s40-ref: "bytevector-s40-ref: #(3 252 5 0 0 0 ...) is not a bytevector". bytevector.mo:Expected error in mat bytevector-s40-ref: "bytevector-s40-ref: invalid index -1 for bytevector #vu8(3 252 5 0 0 0 ...)". ---- 2519,2528 ---- +--- 2570,2579 ---- bytevector.mo:Expected error in mat bytevector-u32-set!: "bytevector-u32-set!: unrecognized endianness huge". bytevector.mo:Expected error in mat bytevector-u32-set!: "bytevector-u32-set!: unrecognized endianness "tiny"". bytevector.mo:Expected error in mat bytevector-u32-set!: "bytevector-u32-set!: unrecognized endianness #vu8(173 173 173 173 173 173 ...)". @@ -2757,7 +2757,7 @@ bytevector.mo:Expected error in mat bytevector-s40-ref: "bytevector-s40-ref: #(3 252 5 0 0 0 ...) is not a bytevector". bytevector.mo:Expected error in mat bytevector-s40-ref: "bytevector-s40-ref: invalid index -1 for bytevector #vu8(3 252 5 0 0 0 ...)". *************** -*** 2532,2541 **** +*** 2583,2592 **** bytevector.mo:Expected error in mat bytevector-s40-ref: "bytevector-s40-ref: unrecognized endianness bigger". bytevector.mo:Expected error in mat bytevector-s40-ref: "bytevector-s40-ref: unrecognized endianness "little"". bytevector.mo:Expected error in mat bytevector-s40-ref: "bytevector-s40-ref: unrecognized endianness #t". @@ -2768,7 +2768,7 @@ bytevector.mo:Expected error in mat bytevector-u40-ref: "bytevector-u40-ref: #(3 252 5 0 0 0 ...) is not a bytevector". bytevector.mo:Expected error in mat bytevector-u40-ref: "bytevector-u40-ref: #(3 252 5 0 0 0 ...) is not a bytevector". bytevector.mo:Expected error in mat bytevector-u40-ref: "bytevector-u40-ref: invalid index -1 for bytevector #vu8(3 252 5 0 0 0 ...)". ---- 2532,2541 ---- +--- 2583,2592 ---- bytevector.mo:Expected error in mat bytevector-s40-ref: "bytevector-s40-ref: unrecognized endianness bigger". bytevector.mo:Expected error in mat bytevector-s40-ref: "bytevector-s40-ref: unrecognized endianness "little"". bytevector.mo:Expected error in mat bytevector-s40-ref: "bytevector-s40-ref: unrecognized endianness #t". @@ -2780,7 +2780,7 @@ bytevector.mo:Expected error in mat bytevector-u40-ref: "bytevector-u40-ref: #(3 252 5 0 0 0 ...) is not a bytevector". bytevector.mo:Expected error in mat bytevector-u40-ref: "bytevector-u40-ref: invalid index -1 for bytevector #vu8(3 252 5 0 0 0 ...)". *************** -*** 2545,2555 **** +*** 2596,2606 **** bytevector.mo:Expected error in mat bytevector-u40-ref: "bytevector-u40-ref: unrecognized endianness bigger". bytevector.mo:Expected error in mat bytevector-u40-ref: "bytevector-u40-ref: unrecognized endianness "little"". bytevector.mo:Expected error in mat bytevector-u40-ref: "bytevector-u40-ref: unrecognized endianness #t". @@ -2792,7 +2792,7 @@ bytevector.mo:Expected error in mat bytevector-s40-set!: "bytevector-s40-set!: #(0 0 0 0 0 0 ...) is not a mutable bytevector". bytevector.mo:Expected error in mat bytevector-s40-set!: "bytevector-s40-set!: #(0 0 0 0 0 0 ...) is not a mutable bytevector". bytevector.mo:Expected error in mat bytevector-s40-set!: "bytevector-s40-set!: invalid index -1 for bytevector #vu8(173 173 173 173 173 173 ...)". ---- 2545,2555 ---- +--- 2596,2606 ---- bytevector.mo:Expected error in mat bytevector-u40-ref: "bytevector-u40-ref: unrecognized endianness bigger". bytevector.mo:Expected error in mat bytevector-u40-ref: "bytevector-u40-ref: unrecognized endianness "little"". bytevector.mo:Expected error in mat bytevector-u40-ref: "bytevector-u40-ref: unrecognized endianness #t". @@ -2805,7 +2805,7 @@ bytevector.mo:Expected error in mat bytevector-s40-set!: "bytevector-s40-set!: #(0 0 0 0 0 0 ...) is not a mutable bytevector". bytevector.mo:Expected error in mat bytevector-s40-set!: "bytevector-s40-set!: invalid index -1 for bytevector #vu8(173 173 173 173 173 173 ...)". *************** -*** 2563,2573 **** +*** 2614,2624 **** bytevector.mo:Expected error in mat bytevector-s40-set!: "bytevector-s40-set!: unrecognized endianness huge". bytevector.mo:Expected error in mat bytevector-s40-set!: "bytevector-s40-set!: unrecognized endianness "tiny"". bytevector.mo:Expected error in mat bytevector-s40-set!: "bytevector-s40-set!: unrecognized endianness #vu8(173 173 173 173 173 173 ...)". @@ -2817,7 +2817,7 @@ bytevector.mo:Expected error in mat bytevector-u40-set!: "bytevector-u40-set!: #(0 0 0 0 0 0 ...) is not a mutable bytevector". bytevector.mo:Expected error in mat bytevector-u40-set!: "bytevector-u40-set!: #(0 0 0 0 0 0 ...) is not a mutable bytevector". bytevector.mo:Expected error in mat bytevector-u40-set!: "bytevector-u40-set!: invalid index -1 for bytevector #vu8(173 173 173 173 173 173 ...)". ---- 2563,2573 ---- +--- 2614,2624 ---- bytevector.mo:Expected error in mat bytevector-s40-set!: "bytevector-s40-set!: unrecognized endianness huge". bytevector.mo:Expected error in mat bytevector-s40-set!: "bytevector-s40-set!: unrecognized endianness "tiny"". bytevector.mo:Expected error in mat bytevector-s40-set!: "bytevector-s40-set!: unrecognized endianness #vu8(173 173 173 173 173 173 ...)". @@ -2830,7 +2830,7 @@ bytevector.mo:Expected error in mat bytevector-u40-set!: "bytevector-u40-set!: #(0 0 0 0 0 0 ...) is not a mutable bytevector". bytevector.mo:Expected error in mat bytevector-u40-set!: "bytevector-u40-set!: invalid index -1 for bytevector #vu8(173 173 173 173 173 173 ...)". *************** -*** 2581,2590 **** +*** 2632,2641 **** bytevector.mo:Expected error in mat bytevector-u40-set!: "bytevector-u40-set!: unrecognized endianness huge". bytevector.mo:Expected error in mat bytevector-u40-set!: "bytevector-u40-set!: unrecognized endianness "tiny"". bytevector.mo:Expected error in mat bytevector-u40-set!: "bytevector-u40-set!: unrecognized endianness #vu8(173 173 173 173 173 173 ...)". @@ -2841,7 +2841,7 @@ bytevector.mo:Expected error in mat bytevector-s48-ref: "bytevector-s48-ref: #(3 252 5 0 0 0 ...) is not a bytevector". bytevector.mo:Expected error in mat bytevector-s48-ref: "bytevector-s48-ref: #(3 252 5 0 0 0 ...) is not a bytevector". bytevector.mo:Expected error in mat bytevector-s48-ref: "bytevector-s48-ref: invalid index -1 for bytevector #vu8(3 252 5 0 0 0 ...)". ---- 2581,2590 ---- +--- 2632,2641 ---- bytevector.mo:Expected error in mat bytevector-u40-set!: "bytevector-u40-set!: unrecognized endianness huge". bytevector.mo:Expected error in mat bytevector-u40-set!: "bytevector-u40-set!: unrecognized endianness "tiny"". bytevector.mo:Expected error in mat bytevector-u40-set!: "bytevector-u40-set!: unrecognized endianness #vu8(173 173 173 173 173 173 ...)". @@ -2853,7 +2853,7 @@ bytevector.mo:Expected error in mat bytevector-s48-ref: "bytevector-s48-ref: #(3 252 5 0 0 0 ...) is not a bytevector". bytevector.mo:Expected error in mat bytevector-s48-ref: "bytevector-s48-ref: invalid index -1 for bytevector #vu8(3 252 5 0 0 0 ...)". *************** -*** 2594,2603 **** +*** 2645,2654 **** bytevector.mo:Expected error in mat bytevector-s48-ref: "bytevector-s48-ref: unrecognized endianness bigger". bytevector.mo:Expected error in mat bytevector-s48-ref: "bytevector-s48-ref: unrecognized endianness "little"". bytevector.mo:Expected error in mat bytevector-s48-ref: "bytevector-s48-ref: unrecognized endianness #t". @@ -2864,7 +2864,7 @@ bytevector.mo:Expected error in mat bytevector-u48-ref: "bytevector-u48-ref: #(3 252 5 0 0 0 ...) is not a bytevector". bytevector.mo:Expected error in mat bytevector-u48-ref: "bytevector-u48-ref: #(3 252 5 0 0 0 ...) is not a bytevector". bytevector.mo:Expected error in mat bytevector-u48-ref: "bytevector-u48-ref: invalid index -1 for bytevector #vu8(3 252 5 0 0 0 ...)". ---- 2594,2603 ---- +--- 2645,2654 ---- bytevector.mo:Expected error in mat bytevector-s48-ref: "bytevector-s48-ref: unrecognized endianness bigger". bytevector.mo:Expected error in mat bytevector-s48-ref: "bytevector-s48-ref: unrecognized endianness "little"". bytevector.mo:Expected error in mat bytevector-s48-ref: "bytevector-s48-ref: unrecognized endianness #t". @@ -2876,7 +2876,7 @@ bytevector.mo:Expected error in mat bytevector-u48-ref: "bytevector-u48-ref: #(3 252 5 0 0 0 ...) is not a bytevector". bytevector.mo:Expected error in mat bytevector-u48-ref: "bytevector-u48-ref: invalid index -1 for bytevector #vu8(3 252 5 0 0 0 ...)". *************** -*** 2607,2617 **** +*** 2658,2668 **** bytevector.mo:Expected error in mat bytevector-u48-ref: "bytevector-u48-ref: unrecognized endianness bigger". bytevector.mo:Expected error in mat bytevector-u48-ref: "bytevector-u48-ref: unrecognized endianness "little"". bytevector.mo:Expected error in mat bytevector-u48-ref: "bytevector-u48-ref: unrecognized endianness #t". @@ -2888,7 +2888,7 @@ bytevector.mo:Expected error in mat bytevector-s48-set!: "bytevector-s48-set!: #(0 0 0 0 0 0 ...) is not a mutable bytevector". bytevector.mo:Expected error in mat bytevector-s48-set!: "bytevector-s48-set!: #(0 0 0 0 0 0 ...) is not a mutable bytevector". bytevector.mo:Expected error in mat bytevector-s48-set!: "bytevector-s48-set!: invalid index -1 for bytevector #vu8(173 173 173 173 173 173 ...)". ---- 2607,2617 ---- +--- 2658,2668 ---- bytevector.mo:Expected error in mat bytevector-u48-ref: "bytevector-u48-ref: unrecognized endianness bigger". bytevector.mo:Expected error in mat bytevector-u48-ref: "bytevector-u48-ref: unrecognized endianness "little"". bytevector.mo:Expected error in mat bytevector-u48-ref: "bytevector-u48-ref: unrecognized endianness #t". @@ -2901,7 +2901,7 @@ bytevector.mo:Expected error in mat bytevector-s48-set!: "bytevector-s48-set!: #(0 0 0 0 0 0 ...) is not a mutable bytevector". bytevector.mo:Expected error in mat bytevector-s48-set!: "bytevector-s48-set!: invalid index -1 for bytevector #vu8(173 173 173 173 173 173 ...)". *************** -*** 2625,2635 **** +*** 2676,2686 **** bytevector.mo:Expected error in mat bytevector-s48-set!: "bytevector-s48-set!: unrecognized endianness huge". bytevector.mo:Expected error in mat bytevector-s48-set!: "bytevector-s48-set!: unrecognized endianness "tiny"". bytevector.mo:Expected error in mat bytevector-s48-set!: "bytevector-s48-set!: unrecognized endianness #vu8(173 173 173 173 173 173 ...)". @@ -2913,7 +2913,7 @@ bytevector.mo:Expected error in mat bytevector-u48-set!: "bytevector-u48-set!: #(0 0 0 0 0 0 ...) is not a mutable bytevector". bytevector.mo:Expected error in mat bytevector-u48-set!: "bytevector-u48-set!: #(0 0 0 0 0 0 ...) is not a mutable bytevector". bytevector.mo:Expected error in mat bytevector-u48-set!: "bytevector-u48-set!: invalid index -1 for bytevector #vu8(173 173 173 173 173 173 ...)". ---- 2625,2635 ---- +--- 2676,2686 ---- bytevector.mo:Expected error in mat bytevector-s48-set!: "bytevector-s48-set!: unrecognized endianness huge". bytevector.mo:Expected error in mat bytevector-s48-set!: "bytevector-s48-set!: unrecognized endianness "tiny"". bytevector.mo:Expected error in mat bytevector-s48-set!: "bytevector-s48-set!: unrecognized endianness #vu8(173 173 173 173 173 173 ...)". @@ -2926,7 +2926,7 @@ bytevector.mo:Expected error in mat bytevector-u48-set!: "bytevector-u48-set!: #(0 0 0 0 0 0 ...) is not a mutable bytevector". bytevector.mo:Expected error in mat bytevector-u48-set!: "bytevector-u48-set!: invalid index -1 for bytevector #vu8(173 173 173 173 173 173 ...)". *************** -*** 2643,2652 **** +*** 2694,2703 **** bytevector.mo:Expected error in mat bytevector-u48-set!: "bytevector-u48-set!: unrecognized endianness huge". bytevector.mo:Expected error in mat bytevector-u48-set!: "bytevector-u48-set!: unrecognized endianness "tiny"". bytevector.mo:Expected error in mat bytevector-u48-set!: "bytevector-u48-set!: unrecognized endianness #vu8(173 173 173 173 173 173 ...)". @@ -2937,7 +2937,7 @@ bytevector.mo:Expected error in mat bytevector-s56-ref: "bytevector-s56-ref: #(3 252 5 0 0 0 ...) is not a bytevector". bytevector.mo:Expected error in mat bytevector-s56-ref: "bytevector-s56-ref: #(3 252 5 0 0 0 ...) is not a bytevector". bytevector.mo:Expected error in mat bytevector-s56-ref: "bytevector-s56-ref: invalid index -1 for bytevector #vu8(3 252 5 0 0 0 ...)". ---- 2643,2652 ---- +--- 2694,2703 ---- bytevector.mo:Expected error in mat bytevector-u48-set!: "bytevector-u48-set!: unrecognized endianness huge". bytevector.mo:Expected error in mat bytevector-u48-set!: "bytevector-u48-set!: unrecognized endianness "tiny"". bytevector.mo:Expected error in mat bytevector-u48-set!: "bytevector-u48-set!: unrecognized endianness #vu8(173 173 173 173 173 173 ...)". @@ -2949,7 +2949,7 @@ bytevector.mo:Expected error in mat bytevector-s56-ref: "bytevector-s56-ref: #(3 252 5 0 0 0 ...) is not a bytevector". bytevector.mo:Expected error in mat bytevector-s56-ref: "bytevector-s56-ref: invalid index -1 for bytevector #vu8(3 252 5 0 0 0 ...)". *************** -*** 2656,2665 **** +*** 2707,2716 **** bytevector.mo:Expected error in mat bytevector-s56-ref: "bytevector-s56-ref: unrecognized endianness bigger". bytevector.mo:Expected error in mat bytevector-s56-ref: "bytevector-s56-ref: unrecognized endianness "little"". bytevector.mo:Expected error in mat bytevector-s56-ref: "bytevector-s56-ref: unrecognized endianness #t". @@ -2960,7 +2960,7 @@ bytevector.mo:Expected error in mat bytevector-u56-ref: "bytevector-u56-ref: #(3 252 5 0 0 0 ...) is not a bytevector". bytevector.mo:Expected error in mat bytevector-u56-ref: "bytevector-u56-ref: #(3 252 5 0 0 0 ...) is not a bytevector". bytevector.mo:Expected error in mat bytevector-u56-ref: "bytevector-u56-ref: invalid index -1 for bytevector #vu8(3 252 5 0 0 0 ...)". ---- 2656,2665 ---- +--- 2707,2716 ---- bytevector.mo:Expected error in mat bytevector-s56-ref: "bytevector-s56-ref: unrecognized endianness bigger". bytevector.mo:Expected error in mat bytevector-s56-ref: "bytevector-s56-ref: unrecognized endianness "little"". bytevector.mo:Expected error in mat bytevector-s56-ref: "bytevector-s56-ref: unrecognized endianness #t". @@ -2972,7 +2972,7 @@ bytevector.mo:Expected error in mat bytevector-u56-ref: "bytevector-u56-ref: #(3 252 5 0 0 0 ...) is not a bytevector". bytevector.mo:Expected error in mat bytevector-u56-ref: "bytevector-u56-ref: invalid index -1 for bytevector #vu8(3 252 5 0 0 0 ...)". *************** -*** 2669,2679 **** +*** 2720,2730 **** bytevector.mo:Expected error in mat bytevector-u56-ref: "bytevector-u56-ref: unrecognized endianness bigger". bytevector.mo:Expected error in mat bytevector-u56-ref: "bytevector-u56-ref: unrecognized endianness "little"". bytevector.mo:Expected error in mat bytevector-u56-ref: "bytevector-u56-ref: unrecognized endianness #t". @@ -2984,7 +2984,7 @@ bytevector.mo:Expected error in mat bytevector-s56-set!: "bytevector-s56-set!: #(0 0 0 0 0 0 ...) is not a mutable bytevector". bytevector.mo:Expected error in mat bytevector-s56-set!: "bytevector-s56-set!: #(0 0 0 0 0 0 ...) is not a mutable bytevector". bytevector.mo:Expected error in mat bytevector-s56-set!: "bytevector-s56-set!: invalid index -1 for bytevector #vu8(173 173 173 173 173 173 ...)". ---- 2669,2679 ---- +--- 2720,2730 ---- bytevector.mo:Expected error in mat bytevector-u56-ref: "bytevector-u56-ref: unrecognized endianness bigger". bytevector.mo:Expected error in mat bytevector-u56-ref: "bytevector-u56-ref: unrecognized endianness "little"". bytevector.mo:Expected error in mat bytevector-u56-ref: "bytevector-u56-ref: unrecognized endianness #t". @@ -2997,7 +2997,7 @@ bytevector.mo:Expected error in mat bytevector-s56-set!: "bytevector-s56-set!: #(0 0 0 0 0 0 ...) is not a mutable bytevector". bytevector.mo:Expected error in mat bytevector-s56-set!: "bytevector-s56-set!: invalid index -1 for bytevector #vu8(173 173 173 173 173 173 ...)". *************** -*** 2687,2697 **** +*** 2738,2748 **** bytevector.mo:Expected error in mat bytevector-s56-set!: "bytevector-s56-set!: unrecognized endianness huge". bytevector.mo:Expected error in mat bytevector-s56-set!: "bytevector-s56-set!: unrecognized endianness "tiny"". bytevector.mo:Expected error in mat bytevector-s56-set!: "bytevector-s56-set!: unrecognized endianness #vu8(173 173 173 173 173 173 ...)". @@ -3009,7 +3009,7 @@ bytevector.mo:Expected error in mat bytevector-u56-set!: "bytevector-u56-set!: #(0 0 0 0 0 0 ...) is not a mutable bytevector". bytevector.mo:Expected error in mat bytevector-u56-set!: "bytevector-u56-set!: #(0 0 0 0 0 0 ...) is not a mutable bytevector". bytevector.mo:Expected error in mat bytevector-u56-set!: "bytevector-u56-set!: invalid index -1 for bytevector #vu8(173 173 173 173 173 173 ...)". ---- 2687,2697 ---- +--- 2738,2748 ---- bytevector.mo:Expected error in mat bytevector-s56-set!: "bytevector-s56-set!: unrecognized endianness huge". bytevector.mo:Expected error in mat bytevector-s56-set!: "bytevector-s56-set!: unrecognized endianness "tiny"". bytevector.mo:Expected error in mat bytevector-s56-set!: "bytevector-s56-set!: unrecognized endianness #vu8(173 173 173 173 173 173 ...)". @@ -3022,7 +3022,7 @@ bytevector.mo:Expected error in mat bytevector-u56-set!: "bytevector-u56-set!: #(0 0 0 0 0 0 ...) is not a mutable bytevector". bytevector.mo:Expected error in mat bytevector-u56-set!: "bytevector-u56-set!: invalid index -1 for bytevector #vu8(173 173 173 173 173 173 ...)". *************** -*** 2705,2713 **** +*** 2756,2764 **** bytevector.mo:Expected error in mat bytevector-u56-set!: "bytevector-u56-set!: unrecognized endianness huge". bytevector.mo:Expected error in mat bytevector-u56-set!: "bytevector-u56-set!: unrecognized endianness "tiny"". bytevector.mo:Expected error in mat bytevector-u56-set!: "bytevector-u56-set!: unrecognized endianness #vu8(173 173 173 173 173 173 ...)". @@ -3032,7 +3032,7 @@ bytevector.mo:Expected error in mat bytevector-s64-native-ref: "bytevector-s64-native-ref: #(3 252 5 0 0 0 ...) is not a bytevector". bytevector.mo:Expected error in mat bytevector-s64-native-ref: "bytevector-s64-native-ref: #(3 252 5 0 0 0 ...) is not a bytevector". bytevector.mo:Expected error in mat bytevector-s64-native-ref: "bytevector-s64-native-ref: invalid index -1 for bytevector #vu8(0 0 0 0 0 0 ...)". ---- 2705,2713 ---- +--- 2756,2764 ---- bytevector.mo:Expected error in mat bytevector-u56-set!: "bytevector-u56-set!: unrecognized endianness huge". bytevector.mo:Expected error in mat bytevector-u56-set!: "bytevector-u56-set!: unrecognized endianness "tiny"". bytevector.mo:Expected error in mat bytevector-u56-set!: "bytevector-u56-set!: unrecognized endianness #vu8(173 173 173 173 173 173 ...)". @@ -3043,7 +3043,7 @@ bytevector.mo:Expected error in mat bytevector-s64-native-ref: "bytevector-s64-native-ref: #(3 252 5 0 0 0 ...) is not a bytevector". bytevector.mo:Expected error in mat bytevector-s64-native-ref: "bytevector-s64-native-ref: invalid index -1 for bytevector #vu8(0 0 0 0 0 0 ...)". *************** -*** 2737,2745 **** +*** 2788,2796 **** bytevector.mo:Expected error in mat bytevector-s64-native-ref: "bytevector-s64-native-ref: invalid index 102 for bytevector #vu8(0 0 0 0 0 0 ...)". bytevector.mo:Expected error in mat bytevector-s64-native-ref: "bytevector-s64-native-ref: invalid index 103 for bytevector #vu8(0 0 0 0 0 0 ...)". bytevector.mo:Expected error in mat bytevector-s64-native-ref: "bytevector-s64-native-ref: invalid index 4.0 for bytevector #vu8(0 0 0 0 0 0 ...)". @@ -3053,7 +3053,7 @@ bytevector.mo:Expected error in mat bytevector-u64-native-ref: "bytevector-u64-native-ref: #(3 252 5 0 0 0 ...) is not a bytevector". bytevector.mo:Expected error in mat bytevector-u64-native-ref: "bytevector-u64-native-ref: #(3 252 5 0 0 0 ...) is not a bytevector". bytevector.mo:Expected error in mat bytevector-u64-native-ref: "bytevector-u64-native-ref: invalid index -1 for bytevector #vu8(0 0 0 0 0 0 ...)". ---- 2737,2745 ---- +--- 2788,2796 ---- bytevector.mo:Expected error in mat bytevector-s64-native-ref: "bytevector-s64-native-ref: invalid index 102 for bytevector #vu8(0 0 0 0 0 0 ...)". bytevector.mo:Expected error in mat bytevector-s64-native-ref: "bytevector-s64-native-ref: invalid index 103 for bytevector #vu8(0 0 0 0 0 0 ...)". bytevector.mo:Expected error in mat bytevector-s64-native-ref: "bytevector-s64-native-ref: invalid index 4.0 for bytevector #vu8(0 0 0 0 0 0 ...)". @@ -3064,7 +3064,7 @@ bytevector.mo:Expected error in mat bytevector-u64-native-ref: "bytevector-u64-native-ref: #(3 252 5 0 0 0 ...) is not a bytevector". bytevector.mo:Expected error in mat bytevector-u64-native-ref: "bytevector-u64-native-ref: invalid index -1 for bytevector #vu8(0 0 0 0 0 0 ...)". *************** -*** 2769,2778 **** +*** 2820,2829 **** bytevector.mo:Expected error in mat bytevector-u64-native-ref: "bytevector-u64-native-ref: invalid index 102 for bytevector #vu8(0 0 0 0 0 0 ...)". bytevector.mo:Expected error in mat bytevector-u64-native-ref: "bytevector-u64-native-ref: invalid index 103 for bytevector #vu8(0 0 0 0 0 0 ...)". bytevector.mo:Expected error in mat bytevector-u64-native-ref: "bytevector-u64-native-ref: invalid index 4.0 for bytevector #vu8(0 0 0 0 0 0 ...)". @@ -3075,7 +3075,7 @@ bytevector.mo:Expected error in mat bytevector-s64-native-set!: "bytevector-s64-native-set!: #(0 0 0 0 0 0 ...) is not a mutable bytevector". bytevector.mo:Expected error in mat bytevector-s64-native-set!: "bytevector-s64-native-set!: #(0 0 0 0 0 0 ...) is not a mutable bytevector". bytevector.mo:Expected error in mat bytevector-s64-native-set!: "bytevector-s64-native-set!: invalid index -1 for bytevector #vu8(173 173 173 173 173 173 ...)". ---- 2769,2778 ---- +--- 2820,2829 ---- bytevector.mo:Expected error in mat bytevector-u64-native-ref: "bytevector-u64-native-ref: invalid index 102 for bytevector #vu8(0 0 0 0 0 0 ...)". bytevector.mo:Expected error in mat bytevector-u64-native-ref: "bytevector-u64-native-ref: invalid index 103 for bytevector #vu8(0 0 0 0 0 0 ...)". bytevector.mo:Expected error in mat bytevector-u64-native-ref: "bytevector-u64-native-ref: invalid index 4.0 for bytevector #vu8(0 0 0 0 0 0 ...)". @@ -3087,7 +3087,7 @@ bytevector.mo:Expected error in mat bytevector-s64-native-set!: "bytevector-s64-native-set!: #(0 0 0 0 0 0 ...) is not a mutable bytevector". bytevector.mo:Expected error in mat bytevector-s64-native-set!: "bytevector-s64-native-set!: invalid index -1 for bytevector #vu8(173 173 173 173 173 173 ...)". *************** -*** 2806,2815 **** +*** 2857,2866 **** bytevector.mo:Expected error in mat bytevector-s64-native-set!: "bytevector-s64-native-set!: invalid value ". bytevector.mo:Expected error in mat bytevector-s64-native-set!: "bytevector-s64-native-set!: invalid value <-int>". bytevector.mo:Expected error in mat bytevector-s64-native-set!: "bytevector-s64-native-set!: invalid value "hello"". @@ -3098,7 +3098,7 @@ bytevector.mo:Expected error in mat bytevector-u64-native-set!: "bytevector-u64-native-set!: #(0 0 0 0 0 0 ...) is not a mutable bytevector". bytevector.mo:Expected error in mat bytevector-u64-native-set!: "bytevector-u64-native-set!: #(0 0 0 0 0 0 ...) is not a mutable bytevector". bytevector.mo:Expected error in mat bytevector-u64-native-set!: "bytevector-u64-native-set!: invalid index -1 for bytevector #vu8(173 173 173 173 173 173 ...)". ---- 2806,2815 ---- +--- 2857,2866 ---- bytevector.mo:Expected error in mat bytevector-s64-native-set!: "bytevector-s64-native-set!: invalid value ". bytevector.mo:Expected error in mat bytevector-s64-native-set!: "bytevector-s64-native-set!: invalid value <-int>". bytevector.mo:Expected error in mat bytevector-s64-native-set!: "bytevector-s64-native-set!: invalid value "hello"". @@ -3110,7 +3110,7 @@ bytevector.mo:Expected error in mat bytevector-u64-native-set!: "bytevector-u64-native-set!: #(0 0 0 0 0 0 ...) is not a mutable bytevector". bytevector.mo:Expected error in mat bytevector-u64-native-set!: "bytevector-u64-native-set!: invalid index -1 for bytevector #vu8(173 173 173 173 173 173 ...)". *************** -*** 2843,2852 **** +*** 2894,2903 **** bytevector.mo:Expected error in mat bytevector-u64-native-set!: "bytevector-u64-native-set!: invalid value ". bytevector.mo:Expected error in mat bytevector-u64-native-set!: "bytevector-u64-native-set!: invalid value -1". bytevector.mo:Expected error in mat bytevector-u64-native-set!: "bytevector-u64-native-set!: invalid value "hello"". @@ -3121,7 +3121,7 @@ bytevector.mo:Expected error in mat bytevector-s64-ref: "bytevector-s64-ref: #(3 252 5 0 0 0 ...) is not a bytevector". bytevector.mo:Expected error in mat bytevector-s64-ref: "bytevector-s64-ref: #(3 252 5 0 0 0 ...) is not a bytevector". bytevector.mo:Expected error in mat bytevector-s64-ref: "bytevector-s64-ref: invalid index -1 for bytevector #vu8(0 0 0 0 0 0 ...)". ---- 2843,2852 ---- +--- 2894,2903 ---- bytevector.mo:Expected error in mat bytevector-u64-native-set!: "bytevector-u64-native-set!: invalid value ". bytevector.mo:Expected error in mat bytevector-u64-native-set!: "bytevector-u64-native-set!: invalid value -1". bytevector.mo:Expected error in mat bytevector-u64-native-set!: "bytevector-u64-native-set!: invalid value "hello"". @@ -3133,7 +3133,7 @@ bytevector.mo:Expected error in mat bytevector-s64-ref: "bytevector-s64-ref: #(3 252 5 0 0 0 ...) is not a bytevector". bytevector.mo:Expected error in mat bytevector-s64-ref: "bytevector-s64-ref: invalid index -1 for bytevector #vu8(0 0 0 0 0 0 ...)". *************** -*** 2862,2871 **** +*** 2913,2922 **** bytevector.mo:Expected error in mat bytevector-s64-ref: "bytevector-s64-ref: unrecognized endianness (quote bonkers)". bytevector.mo:Expected error in mat bytevector-s64-ref: "bytevector-s64-ref: unrecognized endianness get-real". bytevector.mo:Expected error in mat bytevector-s64-ref: "bytevector-s64-ref: unrecognized endianness 1e23". @@ -3144,7 +3144,7 @@ bytevector.mo:Expected error in mat bytevector-u64-ref: "bytevector-u64-ref: #(3 252 5 0 0 0 ...) is not a bytevector". bytevector.mo:Expected error in mat bytevector-u64-ref: "bytevector-u64-ref: #(3 252 5 0 0 0 ...) is not a bytevector". bytevector.mo:Expected error in mat bytevector-u64-ref: "bytevector-u64-ref: invalid index -1 for bytevector #vu8(0 0 0 0 0 0 ...)". ---- 2862,2871 ---- +--- 2913,2922 ---- bytevector.mo:Expected error in mat bytevector-s64-ref: "bytevector-s64-ref: unrecognized endianness (quote bonkers)". bytevector.mo:Expected error in mat bytevector-s64-ref: "bytevector-s64-ref: unrecognized endianness get-real". bytevector.mo:Expected error in mat bytevector-s64-ref: "bytevector-s64-ref: unrecognized endianness 1e23". @@ -3156,7 +3156,7 @@ bytevector.mo:Expected error in mat bytevector-u64-ref: "bytevector-u64-ref: #(3 252 5 0 0 0 ...) is not a bytevector". bytevector.mo:Expected error in mat bytevector-u64-ref: "bytevector-u64-ref: invalid index -1 for bytevector #vu8(0 0 0 0 0 0 ...)". *************** -*** 2881,2891 **** +*** 2932,2942 **** bytevector.mo:Expected error in mat bytevector-u64-ref: "bytevector-u64-ref: unrecognized endianness (quote bonkers)". bytevector.mo:Expected error in mat bytevector-u64-ref: "bytevector-u64-ref: unrecognized endianness get-real". bytevector.mo:Expected error in mat bytevector-u64-ref: "bytevector-u64-ref: unrecognized endianness 1e23". @@ -3168,7 +3168,7 @@ bytevector.mo:Expected error in mat bytevector-s64-set!: "bytevector-s64-set!: #(0 0 0 0 0 0 ...) is not a mutable bytevector". bytevector.mo:Expected error in mat bytevector-s64-set!: "bytevector-s64-set!: #(0 0 0 0 0 0 ...) is not a mutable bytevector". bytevector.mo:Expected error in mat bytevector-s64-set!: "bytevector-s64-set!: invalid index -1 for bytevector #vu8(173 173 173 173 173 173 ...)". ---- 2881,2891 ---- +--- 2932,2942 ---- bytevector.mo:Expected error in mat bytevector-u64-ref: "bytevector-u64-ref: unrecognized endianness (quote bonkers)". bytevector.mo:Expected error in mat bytevector-u64-ref: "bytevector-u64-ref: unrecognized endianness get-real". bytevector.mo:Expected error in mat bytevector-u64-ref: "bytevector-u64-ref: unrecognized endianness 1e23". @@ -3181,7 +3181,7 @@ bytevector.mo:Expected error in mat bytevector-s64-set!: "bytevector-s64-set!: #(0 0 0 0 0 0 ...) is not a mutable bytevector". bytevector.mo:Expected error in mat bytevector-s64-set!: "bytevector-s64-set!: invalid index -1 for bytevector #vu8(173 173 173 173 173 173 ...)". *************** -*** 2904,2914 **** +*** 2955,2965 **** bytevector.mo:Expected error in mat bytevector-s64-set!: "bytevector-s64-set!: unrecognized endianness gorgeous". bytevector.mo:Expected error in mat bytevector-s64-set!: "bytevector-s64-set!: unrecognized endianness #(ravenous)". bytevector.mo:Expected error in mat bytevector-s64-set!: "bytevector-s64-set!: unrecognized endianness #t". @@ -3193,7 +3193,7 @@ bytevector.mo:Expected error in mat bytevector-u64-set!: "bytevector-u64-set!: #(0 0 0 0 0 0 ...) is not a mutable bytevector". bytevector.mo:Expected error in mat bytevector-u64-set!: "bytevector-u64-set!: #(0 0 0 0 0 0 ...) is not a mutable bytevector". bytevector.mo:Expected error in mat bytevector-u64-set!: "bytevector-u64-set!: invalid index -1 for bytevector #vu8(173 173 173 173 173 173 ...)". ---- 2904,2914 ---- +--- 2955,2965 ---- bytevector.mo:Expected error in mat bytevector-s64-set!: "bytevector-s64-set!: unrecognized endianness gorgeous". bytevector.mo:Expected error in mat bytevector-s64-set!: "bytevector-s64-set!: unrecognized endianness #(ravenous)". bytevector.mo:Expected error in mat bytevector-s64-set!: "bytevector-s64-set!: unrecognized endianness #t". @@ -3206,7 +3206,7 @@ bytevector.mo:Expected error in mat bytevector-u64-set!: "bytevector-u64-set!: #(0 0 0 0 0 0 ...) is not a mutable bytevector". bytevector.mo:Expected error in mat bytevector-u64-set!: "bytevector-u64-set!: invalid index -1 for bytevector #vu8(173 173 173 173 173 173 ...)". *************** -*** 2927,2935 **** +*** 2978,2986 **** bytevector.mo:Expected error in mat bytevector-u64-set!: "bytevector-u64-set!: unrecognized endianness gorgeous". bytevector.mo:Expected error in mat bytevector-u64-set!: "bytevector-u64-set!: unrecognized endianness #(ravenous)". bytevector.mo:Expected error in mat bytevector-u64-set!: "bytevector-u64-set!: unrecognized endianness #t". @@ -3216,7 +3216,7 @@ bytevector.mo:Expected error in mat bytevector-ieee-single-native-ref: "bytevector-ieee-single-native-ref: #(3 252 5 0 0 0 ...) is not a bytevector". bytevector.mo:Expected error in mat bytevector-ieee-single-native-ref: "bytevector-ieee-single-native-ref: #(3 252 5 0 0 0 ...) is not a bytevector". bytevector.mo:Expected error in mat bytevector-ieee-single-native-ref: "bytevector-ieee-single-native-ref: invalid index -1 for bytevector #vu8(0 0 0 0 0 0 ...)". ---- 2927,2935 ---- +--- 2978,2986 ---- bytevector.mo:Expected error in mat bytevector-u64-set!: "bytevector-u64-set!: unrecognized endianness gorgeous". bytevector.mo:Expected error in mat bytevector-u64-set!: "bytevector-u64-set!: unrecognized endianness #(ravenous)". bytevector.mo:Expected error in mat bytevector-u64-set!: "bytevector-u64-set!: unrecognized endianness #t". @@ -3227,7 +3227,7 @@ bytevector.mo:Expected error in mat bytevector-ieee-single-native-ref: "bytevector-ieee-single-native-ref: #(3 252 5 0 0 0 ...) is not a bytevector". bytevector.mo:Expected error in mat bytevector-ieee-single-native-ref: "bytevector-ieee-single-native-ref: invalid index -1 for bytevector #vu8(0 0 0 0 0 0 ...)". *************** -*** 2965,2973 **** +*** 3016,3024 **** bytevector.mo:Expected error in mat bytevector-ieee-single-native-ref: "bytevector-ieee-single-native-ref: invalid index 38 for bytevector #vu8(0 0 0 0 0 0 ...)". bytevector.mo:Expected error in mat bytevector-ieee-single-native-ref: "bytevector-ieee-single-native-ref: invalid index 39 for bytevector #vu8(0 0 0 0 0 0 ...)". bytevector.mo:Expected error in mat bytevector-ieee-single-native-ref: "bytevector-ieee-single-native-ref: invalid index 4.0 for bytevector #vu8(0 0 0 0 0 0 ...)". @@ -3237,7 +3237,7 @@ bytevector.mo:Expected error in mat bytevector-ieee-double-native-ref: "bytevector-ieee-double-native-ref: #(3 252 5 0 0 0 ...) is not a bytevector". bytevector.mo:Expected error in mat bytevector-ieee-double-native-ref: "bytevector-ieee-double-native-ref: #(3 252 5 0 0 0 ...) is not a bytevector". bytevector.mo:Expected error in mat bytevector-ieee-double-native-ref: "bytevector-ieee-double-native-ref: invalid index -1 for bytevector #vu8(0 0 0 0 0 0 ...)". ---- 2965,2973 ---- +--- 3016,3024 ---- bytevector.mo:Expected error in mat bytevector-ieee-single-native-ref: "bytevector-ieee-single-native-ref: invalid index 38 for bytevector #vu8(0 0 0 0 0 0 ...)". bytevector.mo:Expected error in mat bytevector-ieee-single-native-ref: "bytevector-ieee-single-native-ref: invalid index 39 for bytevector #vu8(0 0 0 0 0 0 ...)". bytevector.mo:Expected error in mat bytevector-ieee-single-native-ref: "bytevector-ieee-single-native-ref: invalid index 4.0 for bytevector #vu8(0 0 0 0 0 0 ...)". @@ -3248,7 +3248,7 @@ bytevector.mo:Expected error in mat bytevector-ieee-double-native-ref: "bytevector-ieee-double-native-ref: #(3 252 5 0 0 0 ...) is not a bytevector". bytevector.mo:Expected error in mat bytevector-ieee-double-native-ref: "bytevector-ieee-double-native-ref: invalid index -1 for bytevector #vu8(0 0 0 0 0 0 ...)". *************** -*** 3007,3016 **** +*** 3058,3067 **** bytevector.mo:Expected error in mat bytevector-ieee-double-native-ref: "bytevector-ieee-double-native-ref: invalid index 70 for bytevector #vu8(0 0 0 0 0 0 ...)". bytevector.mo:Expected error in mat bytevector-ieee-double-native-ref: "bytevector-ieee-double-native-ref: invalid index 71 for bytevector #vu8(0 0 0 0 0 0 ...)". bytevector.mo:Expected error in mat bytevector-ieee-double-native-ref: "bytevector-ieee-double-native-ref: invalid index 4.0 for bytevector #vu8(0 0 0 0 0 0 ...)". @@ -3259,7 +3259,7 @@ bytevector.mo:Expected error in mat bytevector-ieee-single-native-set!: "bytevector-ieee-single-native-set!: #(3 252 5 0 0 0 ...) is not a mutable bytevector". bytevector.mo:Expected error in mat bytevector-ieee-single-native-set!: "bytevector-ieee-single-native-set!: #(3 252 5 0 0 0 ...) is not a mutable bytevector". bytevector.mo:Expected error in mat bytevector-ieee-single-native-set!: "bytevector-ieee-single-native-set!: invalid index -1 for bytevector #vu8(235 235 235 235 235 235 ...)". ---- 3007,3016 ---- +--- 3058,3067 ---- bytevector.mo:Expected error in mat bytevector-ieee-double-native-ref: "bytevector-ieee-double-native-ref: invalid index 70 for bytevector #vu8(0 0 0 0 0 0 ...)". bytevector.mo:Expected error in mat bytevector-ieee-double-native-ref: "bytevector-ieee-double-native-ref: invalid index 71 for bytevector #vu8(0 0 0 0 0 0 ...)". bytevector.mo:Expected error in mat bytevector-ieee-double-native-ref: "bytevector-ieee-double-native-ref: invalid index 4.0 for bytevector #vu8(0 0 0 0 0 0 ...)". @@ -3271,7 +3271,7 @@ bytevector.mo:Expected error in mat bytevector-ieee-single-native-set!: "bytevector-ieee-single-native-set!: #(3 252 5 0 0 0 ...) is not a mutable bytevector". bytevector.mo:Expected error in mat bytevector-ieee-single-native-set!: "bytevector-ieee-single-native-set!: invalid index -1 for bytevector #vu8(235 235 235 235 235 235 ...)". *************** -*** 3044,3053 **** +*** 3095,3104 **** bytevector.mo:Expected error in mat bytevector-ieee-single-native-set!: "bytevector-ieee-single-native-set!: 1.0+0.0i is not a real number". bytevector.mo:Expected error in mat bytevector-ieee-single-native-set!: "bytevector-ieee-single-native-set!: 1.0-0.0i is not a real number". bytevector.mo:Expected error in mat bytevector-ieee-single-native-set!: "bytevector-ieee-single-native-set!: "oops" is not a real number". @@ -3282,7 +3282,7 @@ bytevector.mo:Expected error in mat bytevector-ieee-double-native-set!: "bytevector-ieee-double-native-set!: #(3 252 5 0 0 0 ...) is not a mutable bytevector". bytevector.mo:Expected error in mat bytevector-ieee-double-native-set!: "bytevector-ieee-double-native-set!: #(3 252 5 0 0 0 ...) is not a mutable bytevector". bytevector.mo:Expected error in mat bytevector-ieee-double-native-set!: "bytevector-ieee-double-native-set!: invalid index -1 for bytevector #vu8(235 235 235 235 235 235 ...)". ---- 3044,3053 ---- +--- 3095,3104 ---- bytevector.mo:Expected error in mat bytevector-ieee-single-native-set!: "bytevector-ieee-single-native-set!: 1.0+0.0i is not a real number". bytevector.mo:Expected error in mat bytevector-ieee-single-native-set!: "bytevector-ieee-single-native-set!: 1.0-0.0i is not a real number". bytevector.mo:Expected error in mat bytevector-ieee-single-native-set!: "bytevector-ieee-single-native-set!: "oops" is not a real number". @@ -3294,7 +3294,7 @@ bytevector.mo:Expected error in mat bytevector-ieee-double-native-set!: "bytevector-ieee-double-native-set!: #(3 252 5 0 0 0 ...) is not a mutable bytevector". bytevector.mo:Expected error in mat bytevector-ieee-double-native-set!: "bytevector-ieee-double-native-set!: invalid index -1 for bytevector #vu8(235 235 235 235 235 235 ...)". *************** -*** 3093,3102 **** +*** 3144,3153 **** bytevector.mo:Expected error in mat bytevector-ieee-double-native-set!: "bytevector-ieee-double-native-set!: 1.0+0.0i is not a real number". bytevector.mo:Expected error in mat bytevector-ieee-double-native-set!: "bytevector-ieee-double-native-set!: 1.0-0.0i is not a real number". bytevector.mo:Expected error in mat bytevector-ieee-double-native-set!: "bytevector-ieee-double-native-set!: "oops" is not a real number". @@ -3305,7 +3305,7 @@ bytevector.mo:Expected error in mat bytevector-ieee-single-ref: "bytevector-ieee-single-ref: #(3 252 5 0 0 0 ...) is not a bytevector". bytevector.mo:Expected error in mat bytevector-ieee-single-ref: "bytevector-ieee-single-ref: #(3 252 5 0 0 0 ...) is not a bytevector". bytevector.mo:Expected error in mat bytevector-ieee-single-ref: "bytevector-ieee-single-ref: invalid index -1 for bytevector #vu8(0 0 0 0 199 0 ...)". ---- 3093,3102 ---- +--- 3144,3153 ---- bytevector.mo:Expected error in mat bytevector-ieee-double-native-set!: "bytevector-ieee-double-native-set!: 1.0+0.0i is not a real number". bytevector.mo:Expected error in mat bytevector-ieee-double-native-set!: "bytevector-ieee-double-native-set!: 1.0-0.0i is not a real number". bytevector.mo:Expected error in mat bytevector-ieee-double-native-set!: "bytevector-ieee-double-native-set!: "oops" is not a real number". @@ -3317,7 +3317,7 @@ bytevector.mo:Expected error in mat bytevector-ieee-single-ref: "bytevector-ieee-single-ref: #(3 252 5 0 0 0 ...) is not a bytevector". bytevector.mo:Expected error in mat bytevector-ieee-single-ref: "bytevector-ieee-single-ref: invalid index -1 for bytevector #vu8(0 0 0 0 199 0 ...)". *************** -*** 3108,3117 **** +*** 3159,3168 **** bytevector.mo:Expected error in mat bytevector-ieee-single-ref: "bytevector-ieee-single-ref: unrecognized endianness "nuts"". bytevector.mo:Expected error in mat bytevector-ieee-single-ref: "bytevector-ieee-single-ref: unrecognized endianness crazy". bytevector.mo:Expected error in mat bytevector-ieee-single-ref: "bytevector-ieee-single-ref: unrecognized endianness 35". @@ -3328,7 +3328,7 @@ bytevector.mo:Expected error in mat bytevector-ieee-double-ref: "bytevector-ieee-double-ref: #(3 252 5 0 0 0 ...) is not a bytevector". bytevector.mo:Expected error in mat bytevector-ieee-double-ref: "bytevector-ieee-double-ref: #(3 252 5 0 0 0 ...) is not a bytevector". bytevector.mo:Expected error in mat bytevector-ieee-double-ref: "bytevector-ieee-double-ref: invalid index -1 for bytevector #vu8(0 0 0 0 0 0 ...)". ---- 3108,3117 ---- +--- 3159,3168 ---- bytevector.mo:Expected error in mat bytevector-ieee-single-ref: "bytevector-ieee-single-ref: unrecognized endianness "nuts"". bytevector.mo:Expected error in mat bytevector-ieee-single-ref: "bytevector-ieee-single-ref: unrecognized endianness crazy". bytevector.mo:Expected error in mat bytevector-ieee-single-ref: "bytevector-ieee-single-ref: unrecognized endianness 35". @@ -3340,7 +3340,7 @@ bytevector.mo:Expected error in mat bytevector-ieee-double-ref: "bytevector-ieee-double-ref: #(3 252 5 0 0 0 ...) is not a bytevector". bytevector.mo:Expected error in mat bytevector-ieee-double-ref: "bytevector-ieee-double-ref: invalid index -1 for bytevector #vu8(0 0 0 0 0 0 ...)". *************** -*** 3127,3137 **** +*** 3178,3188 **** bytevector.mo:Expected error in mat bytevector-ieee-double-ref: "bytevector-ieee-double-ref: unrecognized endianness "nuts"". bytevector.mo:Expected error in mat bytevector-ieee-double-ref: "bytevector-ieee-double-ref: unrecognized endianness crazy". bytevector.mo:Expected error in mat bytevector-ieee-double-ref: "bytevector-ieee-double-ref: unrecognized endianness 35". @@ -3352,7 +3352,7 @@ bytevector.mo:Expected error in mat bytevector-ieee-single-set!: "bytevector-ieee-single-set!: #(3 252 5 0 0 0 ...) is not a mutable bytevector". bytevector.mo:Expected error in mat bytevector-ieee-single-set!: "bytevector-ieee-single-set!: #(3 252 5 0 0 0 ...) is not a mutable bytevector". bytevector.mo:Expected error in mat bytevector-ieee-single-set!: "bytevector-ieee-single-set!: invalid index -1 for bytevector #vu8(235 235 235 235 235 235 ...)". ---- 3127,3137 ---- +--- 3178,3188 ---- bytevector.mo:Expected error in mat bytevector-ieee-double-ref: "bytevector-ieee-double-ref: unrecognized endianness "nuts"". bytevector.mo:Expected error in mat bytevector-ieee-double-ref: "bytevector-ieee-double-ref: unrecognized endianness crazy". bytevector.mo:Expected error in mat bytevector-ieee-double-ref: "bytevector-ieee-double-ref: unrecognized endianness 35". @@ -3365,7 +3365,7 @@ bytevector.mo:Expected error in mat bytevector-ieee-single-set!: "bytevector-ieee-single-set!: #(3 252 5 0 0 0 ...) is not a mutable bytevector". bytevector.mo:Expected error in mat bytevector-ieee-single-set!: "bytevector-ieee-single-set!: invalid index -1 for bytevector #vu8(235 235 235 235 235 235 ...)". *************** -*** 3148,3158 **** +*** 3199,3209 **** bytevector.mo:Expected error in mat bytevector-ieee-single-set!: "bytevector-ieee-single-set!: unrecognized endianness "ouch"". bytevector.mo:Expected error in mat bytevector-ieee-single-set!: "bytevector-ieee-single-set!: unrecognized endianness what?". bytevector.mo:Expected error in mat bytevector-ieee-single-set!: "bytevector-ieee-single-set!: unrecognized endianness #\newline". @@ -3377,7 +3377,7 @@ bytevector.mo:Expected error in mat bytevector-ieee-double-set!: "bytevector-ieee-double-set!: #(3 252 5 0 0 0 ...) is not a mutable bytevector". bytevector.mo:Expected error in mat bytevector-ieee-double-set!: "bytevector-ieee-double-set!: #(3 252 5 0 0 0 ...) is not a mutable bytevector". bytevector.mo:Expected error in mat bytevector-ieee-double-set!: "bytevector-ieee-double-set!: invalid index -1 for bytevector #vu8(235 235 235 235 235 235 ...)". ---- 3148,3158 ---- +--- 3199,3209 ---- bytevector.mo:Expected error in mat bytevector-ieee-single-set!: "bytevector-ieee-single-set!: unrecognized endianness "ouch"". bytevector.mo:Expected error in mat bytevector-ieee-single-set!: "bytevector-ieee-single-set!: unrecognized endianness what?". bytevector.mo:Expected error in mat bytevector-ieee-single-set!: "bytevector-ieee-single-set!: unrecognized endianness #\newline". @@ -3390,7 +3390,7 @@ bytevector.mo:Expected error in mat bytevector-ieee-double-set!: "bytevector-ieee-double-set!: #(3 252 5 0 0 0 ...) is not a mutable bytevector". bytevector.mo:Expected error in mat bytevector-ieee-double-set!: "bytevector-ieee-double-set!: invalid index -1 for bytevector #vu8(235 235 235 235 235 235 ...)". *************** -*** 3173,3183 **** +*** 3224,3234 **** bytevector.mo:Expected error in mat bytevector-ieee-double-set!: "bytevector-ieee-double-set!: unrecognized endianness "ouch"". bytevector.mo:Expected error in mat bytevector-ieee-double-set!: "bytevector-ieee-double-set!: unrecognized endianness what?". bytevector.mo:Expected error in mat bytevector-ieee-double-set!: "bytevector-ieee-double-set!: unrecognized endianness #\newline". @@ -3402,7 +3402,7 @@ bytevector.mo:Expected error in mat bytevector-sint-ref: "bytevector-sint-ref: #(3 252 5 0 0 0 ...) is not a bytevector". bytevector.mo:Expected error in mat bytevector-sint-ref: "bytevector-sint-ref: #(3 252 5 0 0 0 ...) is not a bytevector". bytevector.mo:Expected error in mat bytevector-sint-ref: "bytevector-sint-ref: invalid index -1 for bytevector #vu8(0 0 0 0 0 0 ...)". ---- 3173,3183 ---- +--- 3224,3234 ---- bytevector.mo:Expected error in mat bytevector-ieee-double-set!: "bytevector-ieee-double-set!: unrecognized endianness "ouch"". bytevector.mo:Expected error in mat bytevector-ieee-double-set!: "bytevector-ieee-double-set!: unrecognized endianness what?". bytevector.mo:Expected error in mat bytevector-ieee-double-set!: "bytevector-ieee-double-set!: unrecognized endianness #\newline". @@ -3415,7 +3415,7 @@ bytevector.mo:Expected error in mat bytevector-sint-ref: "bytevector-sint-ref: #(3 252 5 0 0 0 ...) is not a bytevector". bytevector.mo:Expected error in mat bytevector-sint-ref: "bytevector-sint-ref: invalid index -1 for bytevector #vu8(0 0 0 0 0 0 ...)". *************** -*** 3212,3222 **** +*** 3263,3273 **** bytevector.mo:Expected error in mat bytevector-sint-ref: "bytevector-sint-ref: invalid size 0". bytevector.mo:Expected error in mat bytevector-sint-ref: "bytevector-sint-ref: invalid size -1". bytevector.mo:Expected error in mat bytevector-sint-ref: "bytevector-sint-ref: invalid size byte". @@ -3427,7 +3427,7 @@ bytevector.mo:Expected error in mat bytevector-uint-ref: "bytevector-uint-ref: #(3 252 5 0 0 0 ...) is not a bytevector". bytevector.mo:Expected error in mat bytevector-uint-ref: "bytevector-uint-ref: #(3 252 5 0 0 0 ...) is not a bytevector". bytevector.mo:Expected error in mat bytevector-uint-ref: "bytevector-uint-ref: invalid index -1 for bytevector #vu8(0 0 0 0 0 0 ...)". ---- 3212,3222 ---- +--- 3263,3273 ---- bytevector.mo:Expected error in mat bytevector-sint-ref: "bytevector-sint-ref: invalid size 0". bytevector.mo:Expected error in mat bytevector-sint-ref: "bytevector-sint-ref: invalid size -1". bytevector.mo:Expected error in mat bytevector-sint-ref: "bytevector-sint-ref: invalid size byte". @@ -3440,7 +3440,7 @@ bytevector.mo:Expected error in mat bytevector-uint-ref: "bytevector-uint-ref: #(3 252 5 0 0 0 ...) is not a bytevector". bytevector.mo:Expected error in mat bytevector-uint-ref: "bytevector-uint-ref: invalid index -1 for bytevector #vu8(0 0 0 0 0 0 ...)". *************** -*** 3254,3265 **** +*** 3305,3316 **** bytevector.mo:Expected error in mat bytevector-uint-ref: "bytevector-uint-ref: invalid size for bytevector #vu8(1 2 3 4)". bytevector.mo:Expected error in mat bytevector-uint-ref: "bytevector-uint-ref: invalid size -1". bytevector.mo:Expected error in mat bytevector-uint-ref: "bytevector-uint-ref: invalid size byte". @@ -3453,7 +3453,7 @@ bytevector.mo:Expected error in mat bytevector-sint-set!: "bytevector-sint-set!: #(3 252 5 0 0 0 ...) is not a mutable bytevector". bytevector.mo:Expected error in mat bytevector-sint-set!: "bytevector-sint-set!: #(3 252 5 0 0 0 ...) is not a mutable bytevector". bytevector.mo:Expected error in mat bytevector-sint-set!: "bytevector-sint-set!: invalid index -1 for bytevector #vu8(0 0 0 0 0 0 ...)". ---- 3254,3265 ---- +--- 3305,3316 ---- bytevector.mo:Expected error in mat bytevector-uint-ref: "bytevector-uint-ref: invalid size for bytevector #vu8(1 2 3 4)". bytevector.mo:Expected error in mat bytevector-uint-ref: "bytevector-uint-ref: invalid size -1". bytevector.mo:Expected error in mat bytevector-uint-ref: "bytevector-uint-ref: invalid size byte". @@ -3467,7 +3467,7 @@ bytevector.mo:Expected error in mat bytevector-sint-set!: "bytevector-sint-set!: #(3 252 5 0 0 0 ...) is not a mutable bytevector". bytevector.mo:Expected error in mat bytevector-sint-set!: "bytevector-sint-set!: invalid index -1 for bytevector #vu8(0 0 0 0 0 0 ...)". *************** -*** 3318,3329 **** +*** 3369,3380 **** bytevector.mo:Expected error in mat bytevector-sint-set!: "bytevector-sint-set!: invalid size 0". bytevector.mo:Expected error in mat bytevector-sint-set!: "bytevector-sint-set!: invalid size -1". bytevector.mo:Expected error in mat bytevector-sint-set!: "bytevector-sint-set!: invalid size byte". @@ -3480,7 +3480,7 @@ bytevector.mo:Expected error in mat bytevector-uint-set!: "bytevector-uint-set!: #(3 252 5 0 0 0 ...) is not a mutable bytevector". bytevector.mo:Expected error in mat bytevector-uint-set!: "bytevector-uint-set!: #(3 252 5 0 0 0 ...) is not a mutable bytevector". bytevector.mo:Expected error in mat bytevector-uint-set!: "bytevector-uint-set!: invalid index -1 for bytevector #vu8(0 0 0 0 0 0 ...)". ---- 3318,3329 ---- +--- 3369,3380 ---- bytevector.mo:Expected error in mat bytevector-sint-set!: "bytevector-sint-set!: invalid size 0". bytevector.mo:Expected error in mat bytevector-sint-set!: "bytevector-sint-set!: invalid size -1". bytevector.mo:Expected error in mat bytevector-sint-set!: "bytevector-sint-set!: invalid size byte". @@ -3494,7 +3494,7 @@ bytevector.mo:Expected error in mat bytevector-uint-set!: "bytevector-uint-set!: #(3 252 5 0 0 0 ...) is not a mutable bytevector". bytevector.mo:Expected error in mat bytevector-uint-set!: "bytevector-uint-set!: invalid index -1 for bytevector #vu8(0 0 0 0 0 0 ...)". *************** -*** 3382,3397 **** +*** 3433,3448 **** bytevector.mo:Expected error in mat bytevector-uint-set!: "bytevector-uint-set!: invalid size 0". bytevector.mo:Expected error in mat bytevector-uint-set!: "bytevector-uint-set!: invalid size -1". bytevector.mo:Expected error in mat bytevector-uint-set!: "bytevector-uint-set!: invalid size byte". @@ -3511,7 +3511,7 @@ bytevector.mo:Expected error in mat bytevector-copy!: "bytevector-copy!: 0 is not a bytevector". bytevector.mo:Expected error in mat bytevector-copy!: "bytevector-copy!: #(1 2 3) is not a mutable bytevector". bytevector.mo:Expected error in mat bytevector-copy!: "bytevector-copy!: invalid start value -1". ---- 3382,3397 ---- +--- 3433,3448 ---- bytevector.mo:Expected error in mat bytevector-uint-set!: "bytevector-uint-set!: invalid size 0". bytevector.mo:Expected error in mat bytevector-uint-set!: "bytevector-uint-set!: invalid size -1". bytevector.mo:Expected error in mat bytevector-uint-set!: "bytevector-uint-set!: invalid size byte". @@ -3529,7 +3529,7 @@ bytevector.mo:Expected error in mat bytevector-copy!: "bytevector-copy!: #(1 2 3) is not a mutable bytevector". bytevector.mo:Expected error in mat bytevector-copy!: "bytevector-copy!: invalid start value -1". *************** -*** 3415,3423 **** +*** 3466,3474 **** bytevector.mo:Expected error in mat bytevector-copy!: "bytevector-copy!: index 4 + count 1 is beyond the end of #vu8(1 2 3 4)". bytevector.mo:Expected error in mat bytevector-copy!: "bytevector-copy!: index 0 + count 500 is beyond the end of #vu8(255 254 253 252 251 250 ...)". bytevector.mo:Expected error in mat bytevector-copy!: "bytevector-copy!: index 500 + count 0 is beyond the end of #vu8(255 254 253 252 251 250 ...)". @@ -3539,7 +3539,7 @@ bytevector.mo:Expected error in mat bytevector-truncate!: "bytevector-truncate!: 0 is not a mutable bytevector". bytevector.mo:Expected error in mat bytevector-truncate!: "bytevector-truncate!: "abc" is not a mutable bytevector". bytevector.mo:Expected error in mat bytevector-truncate!: "bytevector-truncate!: invalid new length -1 for #vu8(1 2 3 4 5 6 ...)". ---- 3415,3423 ---- +--- 3466,3474 ---- bytevector.mo:Expected error in mat bytevector-copy!: "bytevector-copy!: index 4 + count 1 is beyond the end of #vu8(1 2 3 4)". bytevector.mo:Expected error in mat bytevector-copy!: "bytevector-copy!: index 0 + count 500 is beyond the end of #vu8(255 254 253 252 251 250 ...)". bytevector.mo:Expected error in mat bytevector-copy!: "bytevector-copy!: index 500 + count 0 is beyond the end of #vu8(255 254 253 252 251 250 ...)". @@ -3550,7 +3550,7 @@ bytevector.mo:Expected error in mat bytevector-truncate!: "bytevector-truncate!: "abc" is not a mutable bytevector". bytevector.mo:Expected error in mat bytevector-truncate!: "bytevector-truncate!: invalid new length -1 for #vu8(1 2 3 4 5 6 ...)". *************** -*** 3425,3465 **** +*** 3476,3516 **** bytevector.mo:Expected error in mat bytevector-truncate!: "bytevector-truncate!: invalid new length 1000 for #vu8(1 2 3 4 5 6 ...)". bytevector.mo:Expected error in mat bytevector-truncate!: "bytevector-truncate!: invalid new length for #vu8(1 2 3 4 5 6 ...)". bytevector.mo:Expected error in mat bytevector-truncate!: "bytevector-truncate!: invalid new length a for #vu8(1 2 3 4 5 6 ...)". @@ -3592,7 +3592,7 @@ bytevector.mo:Expected error in mat sint-list->bytevector: "sint-list->bytevector: #(a b c) is not a proper list". bytevector.mo:Expected error in mat sint-list->bytevector: "sint-list->bytevector: #(a b c) is not a proper list". bytevector.mo:Expected error in mat sint-list->bytevector: "sint-list->bytevector: (1 2 . 3) is not a proper list". ---- 3425,3465 ---- +--- 3476,3516 ---- bytevector.mo:Expected error in mat bytevector-truncate!: "bytevector-truncate!: invalid new length 1000 for #vu8(1 2 3 4 5 6 ...)". bytevector.mo:Expected error in mat bytevector-truncate!: "bytevector-truncate!: invalid new length for #vu8(1 2 3 4 5 6 ...)". bytevector.mo:Expected error in mat bytevector-truncate!: "bytevector-truncate!: invalid new length a for #vu8(1 2 3 4 5 6 ...)". @@ -3635,7 +3635,7 @@ bytevector.mo:Expected error in mat sint-list->bytevector: "sint-list->bytevector: #(a b c) is not a proper list". bytevector.mo:Expected error in mat sint-list->bytevector: "sint-list->bytevector: (1 2 . 3) is not a proper list". *************** -*** 3498,3506 **** +*** 3549,3557 **** bytevector.mo:Expected error in mat sint-list->bytevector: "sint-list->bytevector: invalid size 0". bytevector.mo:Expected error in mat sint-list->bytevector: "sint-list->bytevector: invalid size 1.0". bytevector.mo:Expected error in mat sint-list->bytevector: "sint-list->bytevector: invalid size "oops"". @@ -3645,7 +3645,7 @@ bytevector.mo:Expected error in mat uint-list->bytevector: "uint-list->bytevector: #(a b c) is not a proper list". bytevector.mo:Expected error in mat uint-list->bytevector: "uint-list->bytevector: #(a b c) is not a proper list". bytevector.mo:Expected error in mat uint-list->bytevector: "uint-list->bytevector: (1 2 . 3) is not a proper list". ---- 3498,3506 ---- +--- 3549,3557 ---- bytevector.mo:Expected error in mat sint-list->bytevector: "sint-list->bytevector: invalid size 0". bytevector.mo:Expected error in mat sint-list->bytevector: "sint-list->bytevector: invalid size 1.0". bytevector.mo:Expected error in mat sint-list->bytevector: "sint-list->bytevector: invalid size "oops"". @@ -3656,7 +3656,7 @@ bytevector.mo:Expected error in mat uint-list->bytevector: "uint-list->bytevector: #(a b c) is not a proper list". bytevector.mo:Expected error in mat uint-list->bytevector: "uint-list->bytevector: (1 2 . 3) is not a proper list". *************** -*** 3539,3547 **** +*** 3590,3598 **** bytevector.mo:Expected error in mat uint-list->bytevector: "uint-list->bytevector: invalid size 0". bytevector.mo:Expected error in mat uint-list->bytevector: "uint-list->bytevector: invalid size 1.0". bytevector.mo:Expected error in mat uint-list->bytevector: "uint-list->bytevector: invalid size "oops"". @@ -3666,7 +3666,7 @@ bytevector.mo:Expected error in mat bytevector->sint-list: "bytevector->sint-list: #(a b c) is not a bytevector". bytevector.mo:Expected error in mat bytevector->sint-list: "bytevector->sint-list: #(a b c) is not a bytevector". bytevector.mo:Expected error in mat bytevector->sint-list: "bytevector->sint-list: unrecognized endianness spam". ---- 3539,3547 ---- +--- 3590,3598 ---- bytevector.mo:Expected error in mat uint-list->bytevector: "uint-list->bytevector: invalid size 0". bytevector.mo:Expected error in mat uint-list->bytevector: "uint-list->bytevector: invalid size 1.0". bytevector.mo:Expected error in mat uint-list->bytevector: "uint-list->bytevector: invalid size "oops"". @@ -3677,7 +3677,7 @@ bytevector.mo:Expected error in mat bytevector->sint-list: "bytevector->sint-list: #(a b c) is not a bytevector". bytevector.mo:Expected error in mat bytevector->sint-list: "bytevector->sint-list: unrecognized endianness spam". *************** -*** 3561,3569 **** +*** 3612,3620 **** bytevector.mo:Expected error in mat bytevector->sint-list: "bytevector->sint-list: bytevector length 12 is not a multiple of size 10". bytevector.mo:Expected error in mat bytevector->sint-list: "bytevector->sint-list: bytevector length 12 is not a multiple of size 11". bytevector.mo:Expected error in mat bytevector->sint-list: "bytevector->sint-list: bytevector length 12 is not a multiple of size 50". @@ -3687,7 +3687,7 @@ bytevector.mo:Expected error in mat bytevector->uint-list: "bytevector->uint-list: #(a b c) is not a bytevector". bytevector.mo:Expected error in mat bytevector->uint-list: "bytevector->uint-list: #(a b c) is not a bytevector". bytevector.mo:Expected error in mat bytevector->uint-list: "bytevector->uint-list: unrecognized endianness spam". ---- 3561,3569 ---- +--- 3612,3620 ---- bytevector.mo:Expected error in mat bytevector->sint-list: "bytevector->sint-list: bytevector length 12 is not a multiple of size 10". bytevector.mo:Expected error in mat bytevector->sint-list: "bytevector->sint-list: bytevector length 12 is not a multiple of size 11". bytevector.mo:Expected error in mat bytevector->sint-list: "bytevector->sint-list: bytevector length 12 is not a multiple of size 50". @@ -3698,7 +3698,7 @@ bytevector.mo:Expected error in mat bytevector->uint-list: "bytevector->uint-list: #(a b c) is not a bytevector". bytevector.mo:Expected error in mat bytevector->uint-list: "bytevector->uint-list: unrecognized endianness spam". *************** -*** 3583,3591 **** +*** 3634,3642 **** bytevector.mo:Expected error in mat bytevector->uint-list: "bytevector->uint-list: bytevector length 12 is not a multiple of size 10". bytevector.mo:Expected error in mat bytevector->uint-list: "bytevector->uint-list: bytevector length 12 is not a multiple of size 11". bytevector.mo:Expected error in mat bytevector->uint-list: "bytevector->uint-list: bytevector length 12 is not a multiple of size 50". @@ -3708,7 +3708,7 @@ bytevector.mo:Expected error in mat bytevector=?: "bytevector=?: a is not a bytevector". bytevector.mo:Expected error in mat bytevector=?: "bytevector=?: "a" is not a bytevector". bytevector.mo:Expected error in mat tspl/csug-examples: "invalid endianness "spam"". ---- 3583,3591 ---- +--- 3634,3642 ---- bytevector.mo:Expected error in mat bytevector->uint-list: "bytevector->uint-list: bytevector length 12 is not a multiple of size 10". bytevector.mo:Expected error in mat bytevector->uint-list: "bytevector->uint-list: bytevector length 12 is not a multiple of size 11". bytevector.mo:Expected error in mat bytevector->uint-list: "bytevector->uint-list: bytevector length 12 is not a multiple of size 50". @@ -3719,8 +3719,53 @@ bytevector.mo:Expected error in mat bytevector=?: "bytevector=?: "a" is not a bytevector". bytevector.mo:Expected error in mat tspl/csug-examples: "invalid endianness "spam"". *************** -*** 3642,3653 **** +*** 3686,3706 **** + bytevector.mo:Expected error in mat bytevector-compress: "bytevector-uncompress: invalid data in source bytevector #vu8(0 0 0 0 0 0 ...)". bytevector.mo:Expected error in mat bytevector-compress: "bytevector-uncompress: bytevector #vu8(255 255 255 255 255 255 ...) claims invalid uncompressed size ". + profile.mo:Expected error in mat compile-profile: "compile-profile: invalid mode src [must be #f, #t, source, or block]". +! profile.mo:Expected error in mat compile-profile: "incorrect argument count in call (profile-dump (quote ()))". +! profile.mo:Expected error in mat compile-profile: "incorrect argument count in call (profile-clear (quote ()))". +! profile.mo:Expected error in mat compile-profile: "incorrect argument count in call (profile-dump-list #t (quote ()) 3)". + profile.mo:Expected error in mat compile-profile: "profile-dump-list: invalid dump 17". + profile.mo:Expected error in mat compile-profile: "profile-dump-list: invalid dump (17)". + profile.mo:Expected error in mat compile-profile: "profile-dump-list: invalid dump ((a . 17))". + profile.mo:Expected error in mat compile-profile: "profile-dump-list: invalid dump ((# . q))". +! profile.mo:Expected error in mat compile-profile: "incorrect argument count in call (profile-dump-html "" (quote ()) 3)". + profile.mo:Expected error in mat compile-profile: "profile-dump-html: (prefix) is not a string". + profile.mo:Expected error in mat compile-profile: "profile-dump-html: invalid dump 17". + profile.mo:Expected error in mat compile-profile: "profile-dump-html: invalid dump (17)". + profile.mo:Expected error in mat compile-profile: "profile-dump-html: invalid dump ((a . 17))". + profile.mo:Expected error in mat compile-profile: "profile-dump-html: invalid dump ((# . q))". +! profile.mo:Expected error in mat compile-profile: "incorrect argument count in call (profile-dump-data)". +! profile.mo:Expected error in mat compile-profile: "incorrect argument count in call (profile-dump-data "profile.data" (quote ()) (quote q))". + profile.mo:Expected error in mat compile-profile: "profile-dump-data: #t is not a string". + profile.mo:Expected error in mat compile-profile: "profile-dump-data: invalid dump 17". + profile.mo:Expected error in mat compile-profile: "profile-dump-data: invalid dump (17)". +--- 3686,3706 ---- + bytevector.mo:Expected error in mat bytevector-compress: "bytevector-uncompress: invalid data in source bytevector #vu8(0 0 0 0 0 0 ...)". + bytevector.mo:Expected error in mat bytevector-compress: "bytevector-uncompress: bytevector #vu8(255 255 255 255 255 255 ...) claims invalid uncompressed size ". + profile.mo:Expected error in mat compile-profile: "compile-profile: invalid mode src [must be #f, #t, source, or block]". +! profile.mo:Expected error in mat compile-profile: "incorrect number of arguments to #". +! profile.mo:Expected error in mat compile-profile: "incorrect number of arguments to #". +! profile.mo:Expected error in mat compile-profile: "incorrect number of arguments to #". + profile.mo:Expected error in mat compile-profile: "profile-dump-list: invalid dump 17". + profile.mo:Expected error in mat compile-profile: "profile-dump-list: invalid dump (17)". + profile.mo:Expected error in mat compile-profile: "profile-dump-list: invalid dump ((a . 17))". + profile.mo:Expected error in mat compile-profile: "profile-dump-list: invalid dump ((# . q))". +! profile.mo:Expected error in mat compile-profile: "incorrect number of arguments to #". + profile.mo:Expected error in mat compile-profile: "profile-dump-html: (prefix) is not a string". + profile.mo:Expected error in mat compile-profile: "profile-dump-html: invalid dump 17". + profile.mo:Expected error in mat compile-profile: "profile-dump-html: invalid dump (17)". + profile.mo:Expected error in mat compile-profile: "profile-dump-html: invalid dump ((a . 17))". + profile.mo:Expected error in mat compile-profile: "profile-dump-html: invalid dump ((# . q))". +! profile.mo:Expected error in mat compile-profile: "incorrect number of arguments to #". +! profile.mo:Expected error in mat compile-profile: "incorrect number of arguments to #". + profile.mo:Expected error in mat compile-profile: "profile-dump-data: #t is not a string". + profile.mo:Expected error in mat compile-profile: "profile-dump-data: invalid dump 17". + profile.mo:Expected error in mat compile-profile: "profile-dump-data: invalid dump (17)". +*************** +*** 3722,3733 **** + profile.mo:Expected error in mat profile-form: "profile subform is not a source object 3". misc.mo:Expected error in mat compiler1: "variable i-am-not-bound is not bound". misc.mo:Expected error in mat compiler1: "attempt to apply non-procedure oops". ! misc.mo:Expected error in mat compiler1: "incorrect argument count in call (g (list))". @@ -3732,8 +3777,8 @@ misc.mo:Expected error in mat compiler3: "incorrect argument count in call (consumer 1 2) at line 3, char 19 of testfile.ss". misc.mo:Expected error in mat compiler3: "incorrect argument count in call (consumer 1 2)". misc.mo:Expected error in mat compiler3: "variable goto is not bound". ---- 3642,3653 ---- - bytevector.mo:Expected error in mat bytevector-compress: "bytevector-uncompress: bytevector #vu8(255 255 255 255 255 255 ...) claims invalid uncompressed size ". +--- 3722,3733 ---- + profile.mo:Expected error in mat profile-form: "profile subform is not a source object 3". misc.mo:Expected error in mat compiler1: "variable i-am-not-bound is not bound". misc.mo:Expected error in mat compiler1: "attempt to apply non-procedure oops". ! misc.mo:Expected error in mat compiler1: "incorrect argument count in call (g (($top-level-value (...))))". @@ -3746,69 +3791,24 @@ misc.mo:Expected error in mat compiler3: "incorrect argument count in call (consumer 1 2)". misc.mo:Expected error in mat compiler3: "variable goto is not bound". *************** -*** 3719,3739 **** - misc.mo:Expected error in mat cpletrec: "attempt to reference undefined variable b". - misc.mo:Expected error in mat cpletrec: "attempt to assign undefined variable b". - misc.mo:Expected error in mat compile-profile: "compile-profile: invalid mode src [must be #f, #t, source, or block]". -! misc.mo:Expected error in mat compile-profile: "incorrect argument count in call (profile-dump (quote ()))". -! misc.mo:Expected error in mat compile-profile: "incorrect argument count in call (profile-clear (quote ()))". -! misc.mo:Expected error in mat compile-profile: "incorrect argument count in call (profile-dump-list #t (quote ()) 3)". - misc.mo:Expected error in mat compile-profile: "profile-dump-list: invalid dump 17". - misc.mo:Expected error in mat compile-profile: "profile-dump-list: invalid dump (17)". - misc.mo:Expected error in mat compile-profile: "profile-dump-list: invalid dump ((a . 17))". - misc.mo:Expected error in mat compile-profile: "profile-dump-list: invalid dump ((# . q))". -! misc.mo:Expected error in mat compile-profile: "incorrect argument count in call (profile-dump-html "" (quote ()) 3)". - misc.mo:Expected error in mat compile-profile: "profile-dump-html: (prefix) is not a string". - misc.mo:Expected error in mat compile-profile: "profile-dump-html: invalid dump 17". - misc.mo:Expected error in mat compile-profile: "profile-dump-html: invalid dump (17)". - misc.mo:Expected error in mat compile-profile: "profile-dump-html: invalid dump ((a . 17))". - misc.mo:Expected error in mat compile-profile: "profile-dump-html: invalid dump ((# . q))". -! misc.mo:Expected error in mat compile-profile: "incorrect argument count in call (profile-dump-data)". -! misc.mo:Expected error in mat compile-profile: "incorrect argument count in call (profile-dump-data "profile.data" (quote ()) (quote q))". - misc.mo:Expected error in mat compile-profile: "profile-dump-data: #t is not a string". - misc.mo:Expected error in mat compile-profile: "profile-dump-data: invalid dump 17". - misc.mo:Expected error in mat compile-profile: "profile-dump-data: invalid dump (17)". ---- 3719,3739 ---- - misc.mo:Expected error in mat cpletrec: "attempt to reference undefined variable b". - misc.mo:Expected error in mat cpletrec: "attempt to assign undefined variable b". - misc.mo:Expected error in mat compile-profile: "compile-profile: invalid mode src [must be #f, #t, source, or block]". -! misc.mo:Expected error in mat compile-profile: "incorrect number of arguments to #". -! misc.mo:Expected error in mat compile-profile: "incorrect number of arguments to #". -! misc.mo:Expected error in mat compile-profile: "incorrect number of arguments to #". - misc.mo:Expected error in mat compile-profile: "profile-dump-list: invalid dump 17". - misc.mo:Expected error in mat compile-profile: "profile-dump-list: invalid dump (17)". - misc.mo:Expected error in mat compile-profile: "profile-dump-list: invalid dump ((a . 17))". - misc.mo:Expected error in mat compile-profile: "profile-dump-list: invalid dump ((# . q))". -! misc.mo:Expected error in mat compile-profile: "incorrect number of arguments to #". - misc.mo:Expected error in mat compile-profile: "profile-dump-html: (prefix) is not a string". - misc.mo:Expected error in mat compile-profile: "profile-dump-html: invalid dump 17". - misc.mo:Expected error in mat compile-profile: "profile-dump-html: invalid dump (17)". - misc.mo:Expected error in mat compile-profile: "profile-dump-html: invalid dump ((a . 17))". - misc.mo:Expected error in mat compile-profile: "profile-dump-html: invalid dump ((# . q))". -! misc.mo:Expected error in mat compile-profile: "incorrect number of arguments to #". -! misc.mo:Expected error in mat compile-profile: "incorrect number of arguments to #". - misc.mo:Expected error in mat compile-profile: "profile-dump-data: #t is not a string". - misc.mo:Expected error in mat compile-profile: "profile-dump-data: invalid dump 17". - misc.mo:Expected error in mat compile-profile: "profile-dump-data: invalid dump (17)". -*************** -*** 3766,3772 **** +*** 3811,3817 **** misc.mo:Expected error in mat $fasl-file-equal?: "$fasl-file-equal?: failed for probably-does-not-exist: no such file or directory". misc.mo:Expected error in mat $fasl-file-equal?: "$fasl-file-equal?: failed for probably-does-not-exist: no such file or directory". - misc.mo:Expected error in mat $fasl-file-equal?: "$fasl-file-equal?: record comparison failed while comparing testfile-fatfib1.so and testfile-fatfib3.so within fasl entry 2". + misc.mo:Expected error in mat $fasl-file-equal?: "$fasl-file-equal?: record comparison failed while comparing testfile-fatfib1.so and testfile-fatfib3.so within fasl entry 3". ! misc.mo:Expected error in mat cost-center: "incorrect argument count in call (make-cost-center (quote foo))". misc.mo:Expected error in mat cost-center: "with-cost-center: foo is not a cost center". misc.mo:Expected error in mat cost-center: "with-cost-center: bar is not a procedure". misc.mo:Expected error in mat cost-center: "cost-center-instruction-count: 5 is not a cost center". ---- 3766,3772 ---- +--- 3811,3817 ---- misc.mo:Expected error in mat $fasl-file-equal?: "$fasl-file-equal?: failed for probably-does-not-exist: no such file or directory". misc.mo:Expected error in mat $fasl-file-equal?: "$fasl-file-equal?: failed for probably-does-not-exist: no such file or directory". - misc.mo:Expected error in mat $fasl-file-equal?: "$fasl-file-equal?: record comparison failed while comparing testfile-fatfib1.so and testfile-fatfib3.so within fasl entry 2". + misc.mo:Expected error in mat $fasl-file-equal?: "$fasl-file-equal?: record comparison failed while comparing testfile-fatfib1.so and testfile-fatfib3.so within fasl entry 3". ! misc.mo:Expected error in mat cost-center: "incorrect number of arguments to #". misc.mo:Expected error in mat cost-center: "with-cost-center: foo is not a cost center". misc.mo:Expected error in mat cost-center: "with-cost-center: bar is not a procedure". misc.mo:Expected error in mat cost-center: "cost-center-instruction-count: 5 is not a cost center". *************** -*** 3820,3827 **** +*** 3865,3872 **** misc.mo:Expected error in mat apropos: "apropos: 3 is not a symbol or string". misc.mo:Expected error in mat apropos: "apropos: (hit me) is not a symbol or string". misc.mo:Expected error in mat apropos: "apropos-list: b is not an environment". @@ -3817,7 +3817,7 @@ misc.mo:Expected error in mat apropos: "variable $apropos-unbound1 is not bound". misc.mo:Expected error in mat apropos: "variable $apropos-unbound2 is not bound". misc.mo:Expected error in mat simplify-if: "textual-port?: a is not a port". ---- 3820,3827 ---- +--- 3865,3872 ---- misc.mo:Expected error in mat apropos: "apropos: 3 is not a symbol or string". misc.mo:Expected error in mat apropos: "apropos: (hit me) is not a symbol or string". misc.mo:Expected error in mat apropos: "apropos-list: b is not an environment". @@ -3827,7 +3827,7 @@ misc.mo:Expected error in mat apropos: "variable $apropos-unbound2 is not bound". misc.mo:Expected error in mat simplify-if: "textual-port?: a is not a port". *************** -*** 3849,3857 **** +*** 3894,3902 **** cp0.mo:Expected error in mat cp0-regression: "condition: #f is not a condition". cp0.mo:Expected error in mat cp0-regression: "apply: 0 is not a proper list". cp0.mo:Expected error in mat cp0-regression: "apply: 2 is not a proper list". @@ -3837,7 +3837,7 @@ cp0.mo:Expected error in mat expand-output: "expand-output: #t is not a textual output port or #f". 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". ---- 3849,3857 ---- +--- 3894,3902 ---- cp0.mo:Expected error in mat cp0-regression: "condition: #f is not a condition". cp0.mo:Expected error in mat cp0-regression: "apply: 0 is not a proper list". cp0.mo:Expected error in mat cp0-regression: "apply: 2 is not a proper list". @@ -3848,7 +3848,7 @@ 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". *************** -*** 3915,3923 **** +*** 3960,3968 **** 5_6.mo:Expected error in mat list->fxvector: "list->fxvector: (1 2 . 3) is not a proper list". 5_6.mo:Expected error in mat list->fxvector: "list->fxvector: (1 2 3 2 3 2 ...) is circular". 5_6.mo:Expected error in mat fxvector->list: "fxvector->list: (a b c) is not an fxvector". @@ -3858,7 +3858,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". ---- 3915,3923 ---- +--- 3960,3968 ---- 5_6.mo:Expected error in mat list->fxvector: "list->fxvector: (1 2 . 3) is not a proper list". 5_6.mo:Expected error in mat list->fxvector: "list->fxvector: (1 2 3 2 3 2 ...) is circular". 5_6.mo:Expected error in mat fxvector->list: "fxvector->list: (a b c) is not an fxvector". @@ -3869,7 +3869,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". *************** -*** 3932,3940 **** +*** 3977,3985 **** 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". @@ -3879,7 +3879,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". ---- 3932,3940 ---- +--- 3977,3985 ---- 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". @@ -3890,7 +3890,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". *************** -*** 3949,3966 **** +*** 3994,4011 **** 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". @@ -3909,7 +3909,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". ---- 3949,3966 ---- +--- 3994,4011 ---- 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". @@ -3929,7 +3929,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". *************** -*** 3971,3979 **** +*** 4016,4024 **** 5_6.mo:Expected error in mat vector->immutable-vector: "vector-sort!: #(1 2 3) is not a mutable vector". 5_6.mo:Expected error in mat fxvector->immutable-fxvector: "fxvector-set!: #vfx(1 2 3) is not a mutable fxvector". 5_6.mo:Expected error in mat fxvector->immutable-fxvector: "fxvector-fill!: #vfx(1 2 3) is not a mutable fxvector". @@ -3939,7 +3939,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)". ---- 3971,3979 ---- +--- 4016,4024 ---- 5_6.mo:Expected error in mat vector->immutable-vector: "vector-sort!: #(1 2 3) is not a mutable vector". 5_6.mo:Expected error in mat fxvector->immutable-fxvector: "fxvector-set!: #vfx(1 2 3) is not a mutable fxvector". 5_6.mo:Expected error in mat fxvector->immutable-fxvector: "fxvector-fill!: #vfx(1 2 3) is not a mutable fxvector". @@ -3950,7 +3950,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)". *************** -*** 4002,4009 **** +*** 4047,4054 **** 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". @@ -3959,7 +3959,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". ---- 4002,4009 ---- +--- 4047,4054 ---- 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". @@ -3969,7 +3969,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". *************** -*** 4041,4062 **** +*** 4086,4107 **** 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". @@ -3986,13 +3986,13 @@ 6.mo:Expected error in mat port-operations: "with-output-to-string: (this too?) is not a procedure". ! 6.mo:Expected error in mat port-operations: "incorrect argument count in call (eof-object #!eof)". 6.mo:Expected error in mat port-operations: "read: unexpected end-of-file reading quote at char 0 of #". - 6.mo:Expected error in mat port-operations: "read: more than one item found after dot (.) on #". - 6.mo:Expected error in mat port-operations: "read: parenthesized list terminated by bracket on #". + 6.mo:Expected error in mat port-operations: "read: more than one item found after dot (.) before file-position 15 of #; the character position might differ". + 6.mo:Expected error in mat port-operations: "read: parenthesized list terminated by bracket before file-position 11 of #; the character position might differ". ! 6.mo:Expected error in mat port-operations1: "incorrect argument count in call (open-input-output-file)". 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". ---- 4041,4062 ---- +--- 4086,4107 ---- 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". @@ -4009,14 +4009,14 @@ 6.mo:Expected error in mat port-operations: "with-output-to-string: (this too?) is not a procedure". ! 6.mo:Expected error in mat port-operations: "incorrect number of arguments to #". 6.mo:Expected error in mat port-operations: "read: unexpected end-of-file reading quote at char 0 of #". - 6.mo:Expected error in mat port-operations: "read: more than one item found after dot (.) on #". - 6.mo:Expected error in mat port-operations: "read: parenthesized list terminated by bracket on #". + 6.mo:Expected error in mat port-operations: "read: more than one item found after dot (.) before file-position 15 of #; the character position might differ". + 6.mo:Expected error in mat port-operations: "read: parenthesized list terminated by bracket before file-position 11 of #; the character position might differ". ! 6.mo:Expected error in mat port-operations1: "incorrect number of arguments to #". 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". *************** -*** 4065,4071 **** +*** 4110,4116 **** 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". @@ -4024,7 +4024,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". ---- 4065,4071 ---- +--- 4110,4116 ---- 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". @@ -4033,7 +4033,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". *************** -*** 4082,4089 **** +*** 4127,4134 **** 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". @@ -4042,7 +4042,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 warning in mat cp1in-verify-format-warnings: "compile: too few arguments for control string "~a~~~s" in call to format". ---- 4082,4089 ---- +--- 4127,4134 ---- 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". @@ -4052,7 +4052,7 @@ 6.mo:Expected error in mat pretty-print: "pretty-format: invalid format (bad 0 ... ... 0 format)". 6.mo:Expected warning in mat cp1in-verify-format-warnings: "compile: too few arguments for control string "~a~~~s" in call to format". *************** -*** 6567,6598 **** +*** 6612,6643 **** 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 #". @@ -4085,7 +4085,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". ---- 6567,6598 ---- +--- 6612,6643 ---- 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 #". @@ -4119,7 +4119,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". *************** -*** 6603,6609 **** +*** 6648,6654 **** 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". @@ -4127,7 +4127,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". ---- 6603,6609 ---- +--- 6648,6654 ---- 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". @@ -4136,7 +4136,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". *************** -*** 6786,6798 **** +*** 6831,6843 **** 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 #". @@ -4150,7 +4150,7 @@ io.mo:Expected error in mat custom-port-buffer-size: "custom-port-buffer-size: shoe is not a positive fixnum". io.mo:Expected error in mat custom-port-buffer-size: "custom-port-buffer-size: 0 is not a positive fixnum". io.mo:Expected error in mat custom-port-buffer-size: "custom-port-buffer-size: -15 is not a positive fixnum". ---- 6786,6798 ---- +--- 6831,6843 ---- 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 #". @@ -4165,7 +4165,7 @@ io.mo:Expected error in mat custom-port-buffer-size: "custom-port-buffer-size: 0 is not a positive fixnum". io.mo:Expected error in mat custom-port-buffer-size: "custom-port-buffer-size: -15 is not a positive fixnum". *************** -*** 6802,6817 **** +*** 6863,6878 **** 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 #". @@ -4182,7 +4182,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". ---- 6802,6817 ---- +--- 6863,6878 ---- 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 #". @@ -4200,7 +4200,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". *************** -*** 6883,6898 **** +*** 6944,6959 **** 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". @@ -4217,7 +4217,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 #". ---- 6883,6898 ---- +--- 6944,6959 ---- 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". @@ -4235,7 +4235,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 #". *************** -*** 7064,7070 **** +*** 7125,7131 **** 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". @@ -4243,7 +4243,7 @@ 7.mo:Expected error in mat compile-whole-program: "separate-eval: Exception in visit: library (testfile-wpo-lib) is not visible 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 ---- 7064,7070 ---- +--- 7125,7131 ---- 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". @@ -4252,7 +4252,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 *************** -*** 7080,7106 **** +*** 7141,7167 **** 7.mo:Expected error in mat compile-whole-library: "separate-compile: Exception in compile-whole-library: encountered visit-only run-time library (testfile-cwl-a9) while processing file "testfile-cwl-a9.wpo" 7.mo:Expected error in mat compile-whole-library: "separate-eval: Exception in compile-whole-program: encountered library (testfile-deja-vu-one) in testfile-deja-vu-dup.wpo, but had already encountered it in testfile-deja-vu-two.wpo 7.mo:Expected error in mat top-level-value-functions: "top-level-bound?: "hello" is not a symbol". @@ -4280,7 +4280,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". ---- 7080,7106 ---- +--- 7141,7167 ---- 7.mo:Expected error in mat compile-whole-library: "separate-compile: Exception in compile-whole-library: encountered visit-only run-time library (testfile-cwl-a9) while processing file "testfile-cwl-a9.wpo" 7.mo:Expected error in mat compile-whole-library: "separate-eval: Exception in compile-whole-program: encountered library (testfile-deja-vu-one) in testfile-deja-vu-dup.wpo, but had already encountered it in testfile-deja-vu-two.wpo 7.mo:Expected error in mat top-level-value-functions: "top-level-bound?: "hello" is not a symbol". @@ -4309,7 +4309,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". *************** -*** 7505,7615 **** +*** 7566,7676 **** 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 to #". hash.mo:Expected error in mat old-hash-table: "incorrect number of arguments to #". @@ -4421,7 +4421,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". ---- 7505,7615 ---- +--- 7566,7676 ---- 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 to #". hash.mo:Expected error in mat old-hash-table: "incorrect number of arguments to #". @@ -4534,7 +4534,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". *************** -*** 7629,7735 **** +*** 7690,7796 **** 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". @@ -4642,7 +4642,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". ---- 7629,7735 ---- +--- 7690,7796 ---- 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". @@ -4751,7 +4751,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". *************** -*** 7737,7752 **** +*** 7798,7813 **** 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". @@ -4768,7 +4768,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 #". ---- 7737,7752 ---- +--- 7798,7813 ---- 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". @@ -4786,7 +4786,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 #". *************** -*** 7862,7869 **** +*** 7923,7930 **** 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)". @@ -4795,7 +4795,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 #". ---- 7862,7869 ---- +--- 7923,7930 ---- 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)". @@ -4805,7 +4805,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 #". *************** -*** 8459,8474 **** +*** 8520,8535 **** 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". @@ -4822,7 +4822,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 #". ---- 8459,8474 ---- +--- 8520,8535 ---- 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". @@ -4840,14 +4840,14 @@ 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 #". *************** -*** 8567,8589 **** +*** 8628,8650 **** 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". ! fx.mo:Expected error in mat fx=?: "incorrect argument count in call (fx=? 1)". - fx.mo:Expected error in mat fx is not a fixnum". - fx.mo:Expected error in mat fx is not a fixnum". + fx.mo:Expected error in mat fx is not a fixnum". + fx.mo:Expected error in mat fx is not a fixnum". ! fx.mo:Expected error in mat fx?: "fx>?: "hi" is not a fixnum". fx.mo:Expected error in mat fx>?: "fx>?: is not a fixnum". @@ -4864,14 +4864,14 @@ fx.mo:Expected error in mat $fxu<: "incorrect number of arguments to #". fx.mo:Expected error in mat $fxu<: "incorrect number of arguments to #". fx.mo:Expected error in mat $fxu<: "$fxu<: <-int> is not a fixnum". ---- 8567,8589 ---- +--- 8628,8650 ---- 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". ! fx.mo:Expected error in mat fx=?: "incorrect number of arguments to #". - fx.mo:Expected error in mat fx is not a fixnum". - fx.mo:Expected error in mat fx is not a fixnum". + fx.mo:Expected error in mat fx is not a fixnum". + fx.mo:Expected error in mat fx is not a fixnum". ! fx.mo:Expected error in mat fx". fx.mo:Expected error in mat fx>?: "fx>?: "hi" is not a fixnum". fx.mo:Expected error in mat fx>?: "fx>?: is not a fixnum". @@ -4889,7 +4889,7 @@ fx.mo:Expected error in mat $fxu<: "incorrect number of arguments to #". fx.mo:Expected error in mat $fxu<: "$fxu<: <-int> is not a fixnum". *************** -*** 8615,8627 **** +*** 8676,8688 **** fx.mo:Expected error in mat r6rs:fx-: "fx-: #f is not a fixnum". fx.mo:Expected error in mat r6rs:fx-: "fx-: #f is not a fixnum". fx.mo:Expected error in mat fx*: "fx*: (a . b) is not a fixnum". @@ -4903,7 +4903,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". ---- 8615,8627 ---- +--- 8676,8688 ---- fx.mo:Expected error in mat r6rs:fx-: "fx-: #f is not a fixnum". fx.mo:Expected error in mat r6rs:fx-: "fx-: #f is not a fixnum". fx.mo:Expected error in mat fx*: "fx*: (a . b) is not a fixnum". @@ -4918,7 +4918,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". *************** -*** 8671,8683 **** +*** 8732,8744 **** 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". @@ -4932,7 +4932,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". ---- 8671,8683 ---- +--- 8732,8744 ---- 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". @@ -4947,7 +4947,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". *************** -*** 8775,8784 **** +*** 8836,8845 **** 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". @@ -4958,7 +4958,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". ---- 8775,8784 ---- +--- 8836,8845 ---- 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". @@ -4970,7 +4970,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". *************** -*** 8792,8825 **** +*** 8853,8886 **** 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". @@ -5005,7 +5005,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". ---- 8792,8825 ---- +--- 8853,8886 ---- 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". @@ -5041,7 +5041,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". *************** -*** 8829,8872 **** +*** 8890,8933 **** 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". @@ -5086,7 +5086,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". ---- 8829,8872 ---- +--- 8890,8933 ---- 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". @@ -5132,7 +5132,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". *************** -*** 8875,8885 **** +*** 8936,8946 **** 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 ". @@ -5144,7 +5144,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". ---- 8875,8885 ---- +--- 8936,8946 ---- 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 ". @@ -5157,7 +5157,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". *************** -*** 8939,8948 **** +*** 9000,9009 **** 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". @@ -5168,7 +5168,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". ---- 8939,8948 ---- +--- 9000,9009 ---- 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". @@ -5180,7 +5180,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". *************** -*** 8958,8967 **** +*** 9019,9028 **** 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". @@ -5191,7 +5191,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". ---- 8958,8967 ---- +--- 9019,9028 ---- 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". @@ -5203,7 +5203,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". *************** -*** 8977,8986 **** +*** 9038,9047 **** 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". @@ -5214,7 +5214,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". ---- 8977,8986 ---- +--- 9038,9047 ---- 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". @@ -5226,7 +5226,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". *************** -*** 8996,9006 **** +*** 9057,9067 **** 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". @@ -5238,7 +5238,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". ---- 8996,9006 ---- +--- 9057,9067 ---- 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". @@ -5251,7 +5251,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". *************** -*** 9023,9032 **** +*** 9084,9093 **** 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". @@ -5262,7 +5262,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". ---- 9023,9032 ---- +--- 9084,9093 ---- 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". @@ -5274,7 +5274,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". *************** -*** 9042,9059 **** +*** 9103,9120 **** 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". @@ -5293,7 +5293,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". ---- 9042,9059 ---- +--- 9103,9120 ---- 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". @@ -5313,7 +5313,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". *************** -*** 9061,9067 **** +*** 9122,9128 **** 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". @@ -5321,7 +5321,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". ---- 9061,9067 ---- +--- 9122,9128 ---- 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". @@ -5330,7 +5330,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". *************** -*** 9069,9075 **** +*** 9130,9136 **** 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". @@ -5338,7 +5338,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". ---- 9069,9075 ---- +--- 9130,9136 ---- 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". @@ -5347,7 +5347,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". *************** -*** 9077,9083 **** +*** 9138,9144 **** 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". @@ -5355,7 +5355,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". ---- 9077,9083 ---- +--- 9138,9144 ---- 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". @@ -5364,7 +5364,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". *************** -*** 9085,9091 **** +*** 9146,9152 **** 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". @@ -5372,7 +5372,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". ---- 9085,9091 ---- +--- 9146,9152 ---- 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". @@ -5381,7 +5381,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". *************** -*** 9093,9132 **** +*** 9154,9193 **** 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". @@ -5422,7 +5422,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". ---- 9093,9132 ---- +--- 9154,9193 ---- 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". @@ -5464,7 +5464,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". *************** -*** 9136,9142 **** +*** 9197,9203 **** 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". @@ -5472,7 +5472,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". ---- 9136,9142 ---- +--- 9197,9203 ---- 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". @@ -5481,7 +5481,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". *************** -*** 9146,9228 **** +*** 9207,9289 **** 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". @@ -5565,7 +5565,7 @@ fl.mo:Expected error in mat flround: "flround: a is not a flonum". fl.mo:Expected error in mat flround: "flround: 2.0+1.0i is not a flonum". fl.mo:Expected error in mat flround: "flround: 2+1i is not a flonum". ---- 9146,9228 ---- +--- 9207,9289 ---- 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". @@ -5650,7 +5650,7 @@ fl.mo:Expected error in mat flround: "flround: 2.0+1.0i is not a flonum". fl.mo:Expected error in mat flround: "flround: 2+1i is not a flonum". *************** -*** 9242,9277 **** +*** 9303,9338 **** 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". @@ -5687,7 +5687,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". ---- 9242,9277 ---- +--- 9303,9338 ---- 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". @@ -5725,7 +5725,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". *************** -*** 9279,9286 **** +*** 9340,9347 **** 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". @@ -5734,7 +5734,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". ---- 9279,9286 ---- +--- 9340,9347 ---- 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". @@ -5744,7 +5744,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". *************** -*** 9288,9294 **** +*** 9349,9355 **** 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". @@ -5752,7 +5752,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". ---- 9288,9294 ---- +--- 9349,9355 ---- 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". @@ -5761,7 +5761,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". *************** -*** 9296,9302 **** +*** 9357,9363 **** 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". @@ -5769,7 +5769,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". ---- 9296,9302 ---- +--- 9357,9363 ---- 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". @@ -5778,7 +5778,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". *************** -*** 9304,9317 **** +*** 9365,9378 **** 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". @@ -5793,7 +5793,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". ---- 9304,9317 ---- +--- 9365,9378 ---- 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". @@ -5809,7 +5809,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". *************** -*** 9357,9363 **** +*** 9418,9424 **** 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". @@ -5817,7 +5817,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". ---- 9357,9363 ---- +--- 9418,9424 ---- 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". @@ -5826,7 +5826,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". *************** -*** 9367,9380 **** +*** 9428,9441 **** 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". @@ -5841,7 +5841,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"". ---- 9367,9380 ---- +--- 9428,9441 ---- 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". @@ -5857,7 +5857,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"". *************** -*** 9409,9416 **** +*** 9470,9477 **** 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". @@ -5866,7 +5866,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"". ---- 9409,9416 ---- +--- 9470,9477 ---- 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". @@ -5876,7 +5876,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"". *************** -*** 9908,9920 **** +*** 9969,9981 **** 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". @@ -5890,7 +5890,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". ---- 9908,9920 ---- +--- 9969,9981 ---- 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". @@ -5905,7 +5905,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". *************** -*** 9942,10013 **** +*** 10003,10074 **** 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". @@ -5978,7 +5978,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