From e76d89ace6984f77200cbd1e40e8f16003307a33 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marc=20Nieper-Wi=C3=9Fkirchen?= Date: Mon, 28 Apr 2025 11:15:46 +0200 Subject: [PATCH 1/4] add property-value procedure The property-value procedure can be used within the dynamic extent of the expander's call to a macro transformer to look up an identifier's property values. --- boot/pb/equates.h | 92 +- boot/pb/gc-ocd.inc | 3 + boot/pb/gc-oce.inc | 8 + boot/pb/gc-par.inc | 3 + boot/pb/heapcheck.inc | 1 + boot/pb/petite.boot | Bin 6745325 -> 6753436 bytes boot/pb/scheme.boot | Bin 4842734 -> 4846749 bytes c/thread.c | 12 +- csug/syntax.stex | 49 +- mats/8.ms | 1371 +++++++++++++++++++++++++----- mats/patch-compile-0-f-f-t | 16 +- mats/patch-compile-0-f-t-f | 46 +- mats/patch-compile-0-f-t-t | 8 +- mats/patch-compile-0-t-f-f | 714 ++++++++-------- mats/patch-compile-0-t-f-t | 12 +- mats/patch-compile-0-t-t-f | 38 +- mats/patch-interpret-0-f-f-f | 76 +- mats/patch-interpret-0-f-t-f | 58 +- mats/patch-interpret-0-t-f-f | 58 +- mats/patch-interpret-0-t-t-f | 54 +- mats/root-experr-compile-0-f-f-f | 25 + release_notes/release_notes.stex | 9 + s/cmacros.ss | 19 +- s/mkgc.ss | 25 +- s/primdata.ss | 1 + s/syntax.ss | 38 +- 26 files changed, 1905 insertions(+), 831 deletions(-) diff --git a/boot/pb/equates.h b/boot/pb/equates.h index b17da2f70..c61ae8350 100644 --- a/boot/pb/equates.h +++ b/boot/pb/equates.h @@ -1062,7 +1062,7 @@ typedef uint64_t U64; #define size_rp_header 0x20 #define size_rtd_counts 0x810 #define size_symbol 0x30 -#define size_tc 0x7D0 +#define size_tc 0x7E0 #define size_thread 0x10 #define size_tlc 0x20 #define size_typed_object 0x10 @@ -1117,8 +1117,8 @@ typedef uint64_t U64; #define symbol_pvalue_disp 0xD #define symbol_splist_disp 0x25 #define symbol_value_disp 0x5 -#define tc_DSTBV_disp 0x2B8 -#define tc_SRCBV_disp 0x2C0 +#define tc_DSTBV_disp 0x2C0 +#define tc_SRCBV_disp 0x2C8 #define tc_U_disp 0x190 #define tc_V_disp 0x198 #define tc_W_disp 0x1A0 @@ -1127,7 +1127,7 @@ typedef uint64_t U64; #define tc_ac0_disp 0x38 #define tc_ac1_disp 0x40 #define tc_active_disp 0x14C -#define tc_alloc_counter_disp 0x2A8 +#define tc_alloc_counter_disp 0x2B0 #define tc_ap_disp 0x60 #define tc_arg_regs_disp 0x0 #define tc_attachments_disp 0x178 @@ -1135,37 +1135,38 @@ typedef uint64_t U64; #define tc_cached_frame_disp 0x188 #define tc_cchain_disp 0x138 #define tc_code_ranges_to_flush_disp 0x140 -#define tc_compile_profile_disp 0x240 -#define tc_compress_format_disp 0x288 -#define tc_compress_level_disp 0x290 +#define tc_compile_profile_disp 0x248 +#define tc_compress_format_disp 0x290 +#define tc_compress_level_disp 0x298 #define tc_cp_disp 0x50 #define tc_current_error_disp 0x200 #define tc_current_input_disp 0x1F0 #define tc_current_mso_disp 0x218 #define tc_current_output_disp 0x1F8 -#define tc_default_record_equal_procedure_disp 0x278 -#define tc_default_record_hash_procedure_disp 0x280 +#define tc_default_record_equal_procedure_disp 0x280 +#define tc_default_record_hash_procedure_disp 0x288 #define tc_disable_count_disp 0x1C8 #define tc_eap_disp 0x68 #define tc_esp_disp 0x58 -#define tc_fpregs_disp 0x2C8 +#define tc_expand_time_environment_disp 0x240 +#define tc_fpregs_disp 0x2D0 #define tc_fxfirst_bit_set_bv_disp 0x230 #define tc_fxlength_bv_disp 0x228 -#define tc_gc_data_disp 0x7C8 -#define tc_generate_inspector_information_disp 0x248 -#define tc_generate_procedure_source_information_disp 0x250 -#define tc_generate_profile_forms_disp 0x258 +#define tc_gc_data_disp 0x7D0 +#define tc_generate_inspector_information_disp 0x250 +#define tc_generate_procedure_source_information_disp 0x258 +#define tc_generate_profile_forms_disp 0x260 #define tc_guardian_entries_disp 0x130 #define tc_handler_stack_disp 0x180 -#define tc_instr_counter_disp 0x2A0 +#define tc_instr_counter_disp 0x2A8 #define tc_keyboard_interrupt_pending_disp 0x1E0 -#define tc_lz4_out_buffer_disp 0x298 +#define tc_lz4_out_buffer_disp 0x2A0 #define tc_meta_level_disp 0x238 -#define tc_optimize_level_disp 0x260 -#define tc_parameters_disp 0x2B0 -#define tc_pb_call_arena_disp 0x3C8 -#define tc_pb_fpregs_disp 0x388 -#define tc_pb_regs_disp 0x308 +#define tc_optimize_level_disp 0x268 +#define tc_parameters_disp 0x2B8 +#define tc_pb_call_arena_disp 0x3D0 +#define tc_pb_fpregs_disp 0x390 +#define tc_pb_regs_disp 0x310 #define tc_random_seed_disp 0x148 #define tc_real_eap_disp 0xA0 #define tc_ret_disp 0x70 @@ -1179,8 +1180,8 @@ typedef uint64_t U64; #define tc_something_pending_disp 0x1B8 #define tc_stack_cache_disp 0x158 #define tc_stack_link_disp 0x160 -#define tc_subset_mode_disp 0x268 -#define tc_suppress_primitive_inlining_disp 0x270 +#define tc_subset_mode_disp 0x270 +#define tc_suppress_primitive_inlining_disp 0x278 #define tc_target_machine_disp 0x220 #define tc_td_disp 0x98 #define tc_threadno_disp 0x1E8 @@ -1569,8 +1570,8 @@ typedef uint64_t U64; #define THREADTC(x) (*((uptr *)TO_VOIDP((uptr)(x)+9))) /* thread-context data */ -#define DSTBV(x) (*((ptr *)TO_VOIDP((uptr)(x)+696))) -#define SRCBV(x) (*((ptr *)TO_VOIDP((uptr)(x)+704))) +#define DSTBV(x) (*((ptr *)TO_VOIDP((uptr)(x)+704))) +#define SRCBV(x) (*((ptr *)TO_VOIDP((uptr)(x)+712))) #define U(x) (*((ptr *)TO_VOIDP((uptr)(x)+400))) #define V(x) (*((ptr *)TO_VOIDP((uptr)(x)+408))) #define W(x) (*((ptr *)TO_VOIDP((uptr)(x)+416))) @@ -1579,7 +1580,7 @@ typedef uint64_t U64; #define AC0(x) (*((xptr *)TO_VOIDP((uptr)(x)+56))) #define AC1(x) (*((xptr *)TO_VOIDP((uptr)(x)+64))) #define ACTIVE(x) (*((I32 *)TO_VOIDP((uptr)(x)+332))) -#define ALLOCCOUNTER(x) (*((U64 *)TO_VOIDP((uptr)(x)+680))) +#define ALLOCCOUNTER(x) (*((U64 *)TO_VOIDP((uptr)(x)+688))) #define AP(x) (*((xptr *)TO_VOIDP((uptr)(x)+96))) #define ARGREGS(x,i) (((xptr *)TO_VOIDP((uptr)(x)+0))[i]) #define ATTACHMENTS(x) (*((ptr *)TO_VOIDP((uptr)(x)+376))) @@ -1587,37 +1588,38 @@ typedef uint64_t U64; #define CACHEDFRAME(x) (*((ptr *)TO_VOIDP((uptr)(x)+392))) #define CCHAIN(x) (*((ptr *)TO_VOIDP((uptr)(x)+312))) #define CODERANGESTOFLUSH(x) (*((ptr *)TO_VOIDP((uptr)(x)+320))) -#define COMPILEPROFILE(x) (*((ptr *)TO_VOIDP((uptr)(x)+576))) -#define COMPRESSFORMAT(x) (*((ptr *)TO_VOIDP((uptr)(x)+648))) -#define COMPRESSLEVEL(x) (*((ptr *)TO_VOIDP((uptr)(x)+656))) +#define COMPILEPROFILE(x) (*((ptr *)TO_VOIDP((uptr)(x)+584))) +#define COMPRESSFORMAT(x) (*((ptr *)TO_VOIDP((uptr)(x)+656))) +#define COMPRESSLEVEL(x) (*((ptr *)TO_VOIDP((uptr)(x)+664))) #define CP(x) (*((xptr *)TO_VOIDP((uptr)(x)+80))) #define CURRENTERROR(x) (*((ptr *)TO_VOIDP((uptr)(x)+512))) #define CURRENTINPUT(x) (*((ptr *)TO_VOIDP((uptr)(x)+496))) #define CURRENTMSO(x) (*((ptr *)TO_VOIDP((uptr)(x)+536))) #define CURRENTOUTPUT(x) (*((ptr *)TO_VOIDP((uptr)(x)+504))) -#define DEFAULTRECORDEQUALPROCEDURE(x) (*((ptr *)TO_VOIDP((uptr)(x)+632))) -#define DEFAULTRECORDHASHPROCEDURE(x) (*((ptr *)TO_VOIDP((uptr)(x)+640))) +#define DEFAULTRECORDEQUALPROCEDURE(x) (*((ptr *)TO_VOIDP((uptr)(x)+640))) +#define DEFAULTRECORDHASHPROCEDURE(x) (*((ptr *)TO_VOIDP((uptr)(x)+648))) #define DISABLECOUNT(x) (*((ptr *)TO_VOIDP((uptr)(x)+456))) #define EAP(x) (*((xptr *)TO_VOIDP((uptr)(x)+104))) #define ESP(x) (*((xptr *)TO_VOIDP((uptr)(x)+88))) -#define FPREGS(x,i) (((double *)TO_VOIDP((uptr)(x)+712))[i]) +#define EXPANDTIMEENVIRONMENT(x) (*((ptr *)TO_VOIDP((uptr)(x)+576))) +#define FPREGS(x,i) (((double *)TO_VOIDP((uptr)(x)+720))[i]) #define FXFIRSTBITSETBV(x) (*((ptr *)TO_VOIDP((uptr)(x)+560))) #define FXLENGTHBV(x) (*((ptr *)TO_VOIDP((uptr)(x)+552))) -#define GCDATA(x) (*((xptr *)TO_VOIDP((uptr)(x)+1992))) -#define GENERATEINSPECTORINFORMATION(x) (*((ptr *)TO_VOIDP((uptr)(x)+584))) -#define GENERATEPROCEDURESOURCEINFORMATION(x) (*((ptr *)TO_VOIDP((uptr)(x)+592))) -#define GENERATEPROFILEFORMS(x) (*((ptr *)TO_VOIDP((uptr)(x)+600))) +#define GCDATA(x) (*((xptr *)TO_VOIDP((uptr)(x)+2000))) +#define GENERATEINSPECTORINFORMATION(x) (*((ptr *)TO_VOIDP((uptr)(x)+592))) +#define GENERATEPROCEDURESOURCEINFORMATION(x) (*((ptr *)TO_VOIDP((uptr)(x)+600))) +#define GENERATEPROFILEFORMS(x) (*((ptr *)TO_VOIDP((uptr)(x)+608))) #define GUARDIANENTRIES(x) (*((ptr *)TO_VOIDP((uptr)(x)+304))) #define HANDLERSTACK(x) (*((ptr *)TO_VOIDP((uptr)(x)+384))) -#define INSTRCOUNTER(x) (*((U64 *)TO_VOIDP((uptr)(x)+672))) +#define INSTRCOUNTER(x) (*((U64 *)TO_VOIDP((uptr)(x)+680))) #define KEYBOARDINTERRUPTPENDING(x) (*((ptr *)TO_VOIDP((uptr)(x)+480))) -#define LZ4OUTBUFFER(x) (*((xptr *)TO_VOIDP((uptr)(x)+664))) +#define LZ4OUTBUFFER(x) (*((xptr *)TO_VOIDP((uptr)(x)+672))) #define METALEVEL(x) (*((ptr *)TO_VOIDP((uptr)(x)+568))) -#define OPTIMIZELEVEL(x) (*((ptr *)TO_VOIDP((uptr)(x)+608))) -#define PARAMETERS(x) (*((ptr *)TO_VOIDP((uptr)(x)+688))) -#define PBCALLARENA(x,i) (((uptr *)TO_VOIDP((uptr)(x)+968))[i]) -#define PBFPREGS(x,i) (((double *)TO_VOIDP((uptr)(x)+904))[i]) -#define PBREGS(x,i) (((uptr *)TO_VOIDP((uptr)(x)+776))[i]) +#define OPTIMIZELEVEL(x) (*((ptr *)TO_VOIDP((uptr)(x)+616))) +#define PARAMETERS(x) (*((ptr *)TO_VOIDP((uptr)(x)+696))) +#define PBCALLARENA(x,i) (((uptr *)TO_VOIDP((uptr)(x)+976))[i]) +#define PBFPREGS(x,i) (((double *)TO_VOIDP((uptr)(x)+912))[i]) +#define PBREGS(x,i) (((uptr *)TO_VOIDP((uptr)(x)+784))[i]) #define RANDOMSEED(x) (*((U32 *)TO_VOIDP((uptr)(x)+328))) #define REAL_EAP(x) (*((xptr *)TO_VOIDP((uptr)(x)+160))) #define RET(x) (*((xptr *)TO_VOIDP((uptr)(x)+112))) @@ -1631,8 +1633,8 @@ typedef uint64_t U64; #define SOMETHINGPENDING(x) (*((ptr *)TO_VOIDP((uptr)(x)+440))) #define STACKCACHE(x) (*((ptr *)TO_VOIDP((uptr)(x)+344))) #define STACKLINK(x) (*((ptr *)TO_VOIDP((uptr)(x)+352))) -#define SUBSETMODE(x) (*((ptr *)TO_VOIDP((uptr)(x)+616))) -#define SUPPRESSPRIMITIVEINLINING(x) (*((ptr *)TO_VOIDP((uptr)(x)+624))) +#define SUBSETMODE(x) (*((ptr *)TO_VOIDP((uptr)(x)+624))) +#define SUPPRESSPRIMITIVEINLINING(x) (*((ptr *)TO_VOIDP((uptr)(x)+632))) #define TARGETMACHINE(x) (*((ptr *)TO_VOIDP((uptr)(x)+544))) #define TD(x) (*((xptr *)TO_VOIDP((uptr)(x)+152))) #define THREADNO(x) (*((ptr *)TO_VOIDP((uptr)(x)+488))) diff --git a/boot/pb/gc-ocd.inc b/boot/pb/gc-ocd.inc index 2018cd28a..7725976bd 100644 --- a/boot/pb/gc-ocd.inc +++ b/boot/pb/gc-ocd.inc @@ -836,6 +836,7 @@ static void sweep(thread_gc *tgc, ptr p, IGEN from_g) relocate_pure(&(WINDERS(tc))); relocate_pure(&(ATTACHMENTS(tc))); relocate_pure(&(HANDLERSTACK(tc))); + relocate_pure(&(EXPANDTIMEENVIRONMENT(tc))); CACHEDFRAME(tc) = Sfalse; { ptr xcp = FRAME(tc, 0); @@ -1471,6 +1472,7 @@ static void sweep_object_in_old(thread_gc *tgc, ptr p) relocate_pure(&(WINDERS(tc))); relocate_pure(&(ATTACHMENTS(tc))); relocate_pure(&(HANDLERSTACK(tc))); + relocate_pure(&(EXPANDTIMEENVIRONMENT(tc))); { ptr xcp = FRAME(tc, 0); { @@ -2315,6 +2317,7 @@ static void sweep_thread(thread_gc *tgc, ptr p) relocate_pure(&(WINDERS(tc))); relocate_pure(&(ATTACHMENTS(tc))); relocate_pure(&(HANDLERSTACK(tc))); + relocate_pure(&(EXPANDTIMEENVIRONMENT(tc))); CACHEDFRAME(tc) = Sfalse; { ptr xcp = FRAME(tc, 0); diff --git a/boot/pb/gc-oce.inc b/boot/pb/gc-oce.inc index 29d03695e..1317a3453 100644 --- a/boot/pb/gc-oce.inc +++ b/boot/pb/gc-oce.inc @@ -958,6 +958,7 @@ static void sweep(thread_gc *tgc, ptr p, IGEN from_g) relocate_pure(&(WINDERS(tc))); relocate_pure(&(ATTACHMENTS(tc))); relocate_pure(&(HANDLERSTACK(tc))); + relocate_pure(&(EXPANDTIMEENVIRONMENT(tc))); CACHEDFRAME(tc) = Sfalse; { ptr xcp = FRAME(tc, 0); @@ -1594,6 +1595,7 @@ static void sweep_object_in_old(thread_gc *tgc, ptr p) relocate_pure(&(WINDERS(tc))); relocate_pure(&(ATTACHMENTS(tc))); relocate_pure(&(HANDLERSTACK(tc))); + relocate_pure(&(EXPANDTIMEENVIRONMENT(tc))); { ptr xcp = FRAME(tc, 0); { @@ -2449,6 +2451,7 @@ static void sweep_thread(thread_gc *tgc, ptr p) relocate_pure(&(WINDERS(tc))); relocate_pure(&(ATTACHMENTS(tc))); relocate_pure(&(HANDLERSTACK(tc))); + relocate_pure(&(EXPANDTIMEENVIRONMENT(tc))); CACHEDFRAME(tc) = Sfalse; { ptr xcp = FRAME(tc, 0); @@ -4562,6 +4565,11 @@ static void measure(thread_gc *tgc, ptr p) if (!FIXMEDIATE(r_p)) push_measure(tgc, r_p); } + { /* measure */ + ptr r_p = EXPANDTIMEENVIRONMENT(tc); + if (!FIXMEDIATE(r_p)) + push_measure(tgc, r_p); + } { ptr xcp = FRAME(tc, 0); { diff --git a/boot/pb/gc-par.inc b/boot/pb/gc-par.inc index 755c578b8..bb82f372d 100644 --- a/boot/pb/gc-par.inc +++ b/boot/pb/gc-par.inc @@ -830,6 +830,7 @@ static void sweep(thread_gc *tgc, ptr p, IGEN from_g) relocate_pure(&(WINDERS(tc))); relocate_pure(&(ATTACHMENTS(tc))); relocate_pure(&(HANDLERSTACK(tc))); + relocate_pure(&(EXPANDTIMEENVIRONMENT(tc))); CACHEDFRAME(tc) = Sfalse; { ptr xcp = FRAME(tc, 0); @@ -1475,6 +1476,7 @@ static void sweep_object_in_old(thread_gc *tgc, ptr p) relocate_pure(&(WINDERS(tc))); relocate_pure(&(ATTACHMENTS(tc))); relocate_pure(&(HANDLERSTACK(tc))); + relocate_pure(&(EXPANDTIMEENVIRONMENT(tc))); { ptr xcp = FRAME(tc, 0); { @@ -2358,6 +2360,7 @@ static void sweep_thread(thread_gc *tgc, ptr p) relocate_pure(&(WINDERS(tc))); relocate_pure(&(ATTACHMENTS(tc))); relocate_pure(&(HANDLERSTACK(tc))); + relocate_pure(&(EXPANDTIMEENVIRONMENT(tc))); CACHEDFRAME(tc) = Sfalse; { ptr xcp = FRAME(tc, 0); diff --git a/boot/pb/heapcheck.inc b/boot/pb/heapcheck.inc index 3c9ddac64..51a243cca 100644 --- a/boot/pb/heapcheck.inc +++ b/boot/pb/heapcheck.inc @@ -247,6 +247,7 @@ static void check_object(ptr p, uptr seg, ISPC s_in, IBOOL aftergc) check_pointer(&(WINDERS(tc)), 1, 0, p, seg, s_in, aftergc); check_pointer(&(ATTACHMENTS(tc)), 1, 0, p, seg, s_in, aftergc); check_pointer(&(HANDLERSTACK(tc)), 1, 0, p, seg, s_in, aftergc); + check_pointer(&(EXPANDTIMEENVIRONMENT(tc)), 1, 0, p, seg, s_in, aftergc); { ptr xcp = FRAME(tc, 0); { diff --git a/boot/pb/petite.boot b/boot/pb/petite.boot index 70a07764f50571c620a307a9e77b5e667a12c82f..bbb1c5d29e40ad7d0083960678abd02f996dc815 100644 GIT binary patch delta 124564 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 QfQZOhln}q+mliGMaCd1hy0{ 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 delta 124366 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 z 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 A0RR91 diff --git a/boot/pb/scheme.boot b/boot/pb/scheme.boot index 262ca7fc5b47f9c60243119d15f23d9586d2e629..065f9de412b7e1939ff642e52d7a3aac4ce364b1 100644 GIT binary patch delta 92165 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 z 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 A0RR91 delta 124564 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 QfQZOhln}q+mliGMaCd1hy0{ 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 diff --git a/boot/pb/scheme.boot b/boot/pb/scheme.boot index 065f9de412b7e1939ff642e52d7a3aac4ce364b1..262ca7fc5b47f9c60243119d15f23d9586d2e629 100644 GIT binary patch delta 90853 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 T_J2qmcyBJ#hBuZE4BhoV%n}Ta delta 92165 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 z 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 bE6MqPR*p%*`jxP%hjN&8i pb-d->d diff --git a/s/mkgc.ss b/s/mkgc.ss index 74d067dc4..2d8cf8f22 100644 --- a/s/mkgc.ss +++ b/s/mkgc.ss @@ -162,7 +162,7 @@ (define-trace-root (case-type - + [pair (case-space [(< space-weakpair) @@ -309,7 +309,7 @@ (pad (when (== (& len 1) 0) (set! (closure-data _copy_ len) (FIX 0)))) (count countof-closure)])] - + [symbol (space space-symbol) (size size-symbol) @@ -321,7 +321,7 @@ (trace-nonself symbol-splist) (trace-nonself symbol-hash) (count countof-symbol)] - + [flonum (space space-data) (size size-flonum) @@ -329,7 +329,7 @@ (copy-flonum flonum-data) (count countof-flonum) (skip-forwarding)] - + [typed-object (case-typefield @@ -672,7 +672,7 @@ [off]) (count count-pair size-pair 2)] [else - (size size-pair) + (size size-pair) (do-car pair-car) (do-cdr pair-cdr) (count count-pair)])] @@ -990,11 +990,10 @@ (trace-pure (tc-winders tc)) (trace-pure (tc-attachments tc)) (trace-pure (tc-handler-stack tc)) - (trace-pure (tc-expand-time-environment tc)) (case-mode - [sweep - (set! (tc-cached-frame tc) Sfalse)] - [else]) + [sweep + (set! (tc-cached-frame tc) Sfalse)] + [else]) (trace-return NO-COPY-MODE (FRAME tc 0)) (trace-stack (cast uptr (tc-scheme-stack tc)) (cast uptr (SFP tc)) @@ -1313,7 +1312,7 @@ (let () (define preserve-flonum-eq? #t) - + ;; A config is an association list. Mostly, it determines the ;; generation mode, but it is also used to some degree as an ;; environment-like map to communicate information from one @@ -1400,7 +1399,7 @@ [(null? object-types) (generate-type-dispatch base-types config)] [else - (generate-type-dispatch + (generate-type-dispatch (cons (cons 'typed-object (generate-typed-object-dispatch object-types (cons '(basetype typed-object) config))) @@ -2329,7 +2328,7 @@ (when (and index (not (eq? index 0))) (error 'field-ref "index not allowed for non-array field ~s" acc-name)) (format "~a(~a)" c-ref obj)]))) - + (define (ensure-segment-mark-mask si inset) (code (format "~aif (!~a->marked_mask) {" inset si) @@ -2583,7 +2582,7 @@ ;; macros: (let-values ([(op get) (open-bytevector-output-port (native-transcoder))]) (mkequates.h op)) - + (set! mkgc-ocd.inc (lambda (ofn) (gen-gc ofn #f #f #f))) (set! mkgc-oce.inc (lambda (ofn) (gen-gc ofn #t #t #f))) ; not currently parallel (but could be "parallel" for ownership preservation) (set! mkgc-par.inc (lambda (ofn) (gen-gc ofn #f #f #t))) diff --git a/s/syntax.ss b/s/syntax.ss index cd65a1005..2e0216020 100644 --- a/s/syntax.ss +++ b/s/syntax.ss @@ -1208,10 +1208,12 @@ [() ($tc-field 'meta-level ($tc))] [(x) ($tc-field 'meta-level ($tc) x)])) -(define expand-time-environment - (case-lambda - [() ($tc-field 'expand-time-environment ($tc))] - [(x) ($tc-field 'expand-time-environment ($tc) x)])) +(define expand-time-environment-key (list #f)) +(define-syntax with-expand-time-environment + (syntax-rules () + [(_ r b) (with-continuation-mark expand-time-environment-key r b)])) +(define (current-expand-time-environment) + (continuation-marks-first (current-continuation-marks) expand-time-environment-key)) ; variant that builds lexical bindings (define make-lexical-label @@ -3719,7 +3721,7 @@ " in output of macro")) (else x)))) (rebuild-macro-output - (let ((out (parameterize ([expand-time-environment r]) + (let ((out (with-expand-time-environment r (p (source-wrap e (anti-mark w) ae))))) (if (procedure? out) (out (rec rho @@ -7391,7 +7393,7 @@ (make-source-condition id) (make-undefined-violation)))) (unless (identifier? id) ($oops who "first argument ~s is not an identifier" id)) (unless (identifier? key-id) ($oops who "second argument ~s is not an identifier" id)) - (let ([r (expand-time-environment)]) + (let ([r (current-expand-time-environment)]) (unless r ($oops who "called outside the dynamic extent of a transformer call of the expander")) (let-values ([(id-label/pl retry) (id->label/pl/retry id empty-wrap)]) (let ([key-label (id->label key-id empty-wrap)]) From 909beebf854aba55d4e2a1d38800a6f68312660f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marc=20Nieper-Wi=C3=9Fkirchen?= Date: Tue, 29 Apr 2025 22:46:25 +0200 Subject: [PATCH 3/4] add stubs for continuation marks for bootstrapping the expander --- s/reboot.ss | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/s/reboot.ss b/s/reboot.ss index 80b3dfac0..c3d73f5b4 100644 --- a/s/reboot.ss +++ b/s/reboot.ss @@ -562,6 +562,27 @@ (define $current-expand current-expand) (define current-expand (make-parameter #f)) +(meta-cond + [(top-level-bound? 'with-continuation-mark) (begin)] + [else + ;; The following stub is needed because the expander uses continuation + ;; marks to support the `property-value` procedure and older host + ;; Schemes do not support continuation marks. Bootstrapping the + ;; expander itself doesn't make use of `property-value` and, more + ;; generally, continuation marks, so these mock version suffice. + ;; Things have to be revisited once the Nanopass framework makes use + ;; of `property-value` (currently, the old, less convenient + ;; `lookup`-procedure protocol is used). + (define-syntax with-continuation-mark + (syntax-rules () + [(_ k v b) b])) + (define (current-expand-time-environment) #f) + (define-primitive ($call-consuming-continuation-attachment default-val p) + (p #f)) + (define-primitive ($call-setting-continuation-attachment marks thunk) + (thunk)) + (define-primitive ($update-mark marks k v) marks)]) + ;; End of "primitives" here ^^ ---------------------------------------- (define (noisy-load s) From 138b3f3df2659237b7cacaa365df86bb514a0164 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marc=20Nieper-Wi=C3=9Fkirchen?= Date: Wed, 30 Apr 2025 09:07:28 +0200 Subject: [PATCH 4/4] enable the use of property-value outside of calls to macro transformers --- csug/syntax.stex | 26 ++++++++++++++------------ mats/8.ms | 32 ++++++++++++++++++++++++++++++++ release_notes/release_notes.stex | 11 +++++------ s/syntax.ss | 3 +-- 4 files changed, 52 insertions(+), 20 deletions(-) diff --git a/csug/syntax.stex b/csug/syntax.stex index 84da5db17..983b86923 100644 --- a/csug/syntax.stex +++ b/csug/syntax.stex @@ -720,18 +720,20 @@ property. \listlibraries \endentryheader -If \scheme{property-value} is not called within the dynamic extent of -the expander's call to a macro transformer, an exception with -condition type \scheme{&assertion} is raised. Otherwise, -\scheme{property-value} returns the value of the \var{key-identifier} -property of \var{identifier} in the lexical environment of the macro -use. If \var{identifier} has no \var{key-identifier} property, -\var{default} is returned. If omitted, \var{default} defaults to -\scheme{#f}. - -If \var{identifier} or \var{key-identifier} have no visible binding in -the lexical environment of the macro use, an exception with condition -type \scheme{&undefined} is raised. +The \scheme{property-value} procedure returns the value of the +\var{key-identifier} property of \var{identifier}. +If \var{identifier} has no \var{key-identifier} property, \var{default} +is returned. +If omitted, \var{default} defaults to \scheme{#f}. +As the right-hand side of a \scheme{define-property} form is evaluated +at expand-time, note that invoking \scheme{property-value} at relative +run-time within the same library or top-level program won't see the +property. +This is the reason why the \scheme{get-property} macro wrapper around +\scheme{property-value} is used below. + +If \var{identifier} or \var{key-identifier} have no visible binding, +an exception with condition type \scheme{&undefined} is raised. The following example defines a macro, \scheme{get-info}, that retrieves the \scheme{info} property of a binding, defines the variable \scheme{x}, diff --git a/mats/8.ms b/mats/8.ms index f97ffb845..1b091e34b 100644 --- a/mats/8.ms +++ b/mats/8.ms @@ -8352,6 +8352,38 @@ (import (testfile-C)) (list $testfile-A-x (get-property $testfile-A-x $testfile-A-prop-id))) '((a . b) (c . d))) + + ; use of property value outside dynamic extent of transformer call + (eqv? (let ([x #f] [y #f]) + (define-property x y #'(+ 2 9)) + (meta define z (property-value #'x #'y)) + (let-syntax ([m (lambda (stx) z)]) + m)) + 11) + (eqv? (let ([x #f] [y #f]) + (define-property x y #'(+ 2 9)) + (define z (property-value #'x #'y 0)) + z) + 0) + (begin + (with-output-to-file "testfile-dp15.ss" + (lambda () + (pretty-print + '(library (testfile-dp15) + (export id-with-prop1 id-with-prop2) + (import (scheme)) + (define private-id) + (define-property private-id + 41) + (define id-with-prop1) + (define-property id-with-prop1 * 40) + (define id-with-prop2) + (define-property id-with-prop2 * (property-value #'private-id #'+))))) + 'replace) + (for-each separate-compile '(dp15)) + #t) + (begin (import (testfile-dp15)) #t) + (eqv? (property-value #'id-with-prop1 #'*) 40) + (eqv? (property-value #'id-with-prop2 #'*) 41) ) (mat library1 diff --git a/release_notes/release_notes.stex b/release_notes/release_notes.stex index 5a00e4f5e..1ec690960 100644 --- a/release_notes/release_notes.stex +++ b/release_notes/release_notes.stex @@ -118,12 +118,11 @@ Online versions of both books can be found at \subsection{Simpified lookup of property values (10.2.0)} -The \scheme{property-value} procedure, which can be used within the -dynamic extent of the expander's call to a macro transformer, looks up -the value of a property of an identifier in the macro's use -environment. This obviates the need to follow a specific transformer -protocol to obtain a \scheme{lookup} that returns property values and -lets macro helper functions look up property values independently. +The \scheme{property-value} procedure looks up the value of a property +of an identifier. This obviates the need to follow a specific +transformer protocol to obtain a \scheme{lookup} procedure that +returns property values and this lets macro helper functions look up +property values independently. \subsection{Efficient in-place fxvector and flvector copying (10.2.0)} diff --git a/s/syntax.ss b/s/syntax.ss index 2e0216020..a0df3c84b 100644 --- a/s/syntax.ss +++ b/s/syntax.ss @@ -998,7 +998,7 @@ (define lookup-rho (lambda (r label) - (eq-hashtable-ref r label #f))) + (and r (eq-hashtable-ref r label #f)))) (define displaced-lexical-binding (make-binding 'displaced-lexical #f)) (define unexported-assigned-binding (make-binding 'displaced-lexical "assigned hence unexported library variable")) @@ -7394,7 +7394,6 @@ (unless (identifier? id) ($oops who "first argument ~s is not an identifier" id)) (unless (identifier? key-id) ($oops who "second argument ~s is not an identifier" id)) (let ([r (current-expand-time-environment)]) - (unless r ($oops who "called outside the dynamic extent of a transformer call of the expander")) (let-values ([(id-label/pl retry) (id->label/pl/retry id empty-wrap)]) (let ([key-label (id->label key-id empty-wrap)]) (unless id-label/pl (identifier-error id "no visible binding for property identifier"))

L_#~6GYjNWL>M`K^#oBCJ}-FQik7r?>WS)RiFqv4aIY5))1bZv^0%(BppJA zB7ls;+_^YN61_1D#yU|FqP^eqH(o(`Nrd*c0@Z>7tffZbZ*#2L&H@<~D3H-KL;TEv zlpF~ZGJxJisrZgtKn%M-$g_%~7%j^2WnPZMFzCk|3NI+K4gx1LK2~gfFA8)XE{cfB zZ-WUuMsm7y!y+*Tl9xF%ZoGKX_r}0;{C;2SFz{YOn6x#9;XNf10gcCB_Os5A$;POQ zP|a_S)M)Qmk(%S8ZnK(V8DxEhg8OOyGuS$cjvK?P2{9)Da_=~HfgOV`?zU#6PoP5= zHFTB=?_dG+>;f{S+L|Uy9 zz~}^#>Q^#2T^xqWzOX!lQWjWG;K#?n{Guk}Z^v1;`sFxE>y zSf@}^aPPU+i&V-aI%H7;zY_45mUv#HggMZ%5sF`K^jh;M{NDy^UqFmXo2+pC^gXZy zysi<*g94nx*o6lJjWQWE8D}iAHb$U+yL$5w=O#`E?SBw<* zoMM-KEv&(ydi!PIAozTpb#_GW8i}U0!nadR7ZP$i$#c%IfIA+we!?$Ne!}9@!OS>~ z4k5G!Oj*8STChf@P)JriM-SalTigNQ7fnH9)VNY6NSD22QcUni#aWz58 zIh|FP8df=}+AUAPRCt#k2Tm6e=;A&EK<40UPg@mqBHyF4R?fhYdtgST1fbxxat4RS zua%-hz{6jb02>mh{`YXX&P!H1N-GFgpbH1AHDKbHi5>f4wV`UzuotbVs+l~+WYta8 zcxOS}dF_&U61T30zXXAUxE|~wd=KcJjHey6Mi5wJsg0c_&W-nl{YTl-4ekHZ`aB+e z*qRI8R-=~czJtVj zBc`CKj!`**EXs=4YYSo7+z5O-2z%-PUu~6rgzj>jY#&0L4&?IwwqY(RgKkLtIR;D zSFG`HztP4%aHYf0D^>)CQQ>&>;c#vt084^UH5)_K>>p@q5psNKwL-UJSFAa@MPiSS zSiZF0PCY^w)AEIjrop#T3{=l^E68MOo*``&8d z!E2X@;6F{^2tpgl0iImv!O^2$M#~`$oIppLc3XR)%O58wXfH=z?`2~D&rF=ySCCLv z@2y*}QXSil-%4A*mkVX}E(8Eew zBWbCHmQgBOif%Pri{iig3hvE3t7#vZ8GdZoUAE#x=audyx1=T3e$|F5=`JRe%!; zE-xh!zyQfeLqn*uY!+NoULGxX=ZnV2py7!&ClkVA)B05CTDYwUznN$&kZVGu-g!V7 z!lFbGc{Vlkxt>)J4%@Rbc_n!bhFXv8m^R43L=5%kOmMcAc68j=iMt@sjGSjJ!yyshPzW9KRUyFyLvU?me@#Q|Y2PjlrYO^U5 z=rAZHkM>vCbRoRpI<*Xw`w_`eONA{z6{?DMDk<;bohV(P`g^&}1_7VL`rG0d-jf2Y zz@v@7%`nDUo1EIzXErG|;yM8Uu+bf9P zUP1Ks;^^(oqUyzt5^C58Yw&-^ampizHctYdqcRIDAe%NL<`an+msN=?bvDSLmBbvowmLaDD{-B5M6)Krjr@rJVx$QKwDp} z2t%tvAupx)C7VuTlpJK&FVp&r_52&V_U zZTJ|r&88r9Jm;`&5SWj-+YNkXK_K2%ekNq2=MLM>D=ncE^Kdg7Ugd<_r>n-UIo;j~k>QRuf%ZBfX5%9gFMNQhfouk~5b;ZwGSQ25-YMd|v&kz9HkoJEvq z-&?lj{z@EP@NvQNq4i}W=i9a~C_B!0$JP=7CBP;^Ic2a`w)W%lYs*gA6zHu_ZG|Bv z+%D_b@|i79W0xXcsrA{B^E2CWu)nfNb>Qk6!1;UuD;RozvB}Xx=WPXkTd>!|?{`oQ zT6!~F4OoBS&Q3(5xxGOEQTLYUxa%JA{L8kDl*TEY1jDsHC%Naa1TKjg{JHI3|8DK| z4j0&CGf#b`B>HC@TGzZFh)o8P^$UGK==( zZQt0EWDs$GD4!H=`}DnX{u`pQ9fSf}XV>$ZDC?y&`R4{Yi4RA{mJ)FBYPt-o}jT$P$u=44&o@SuRnoFMypbw`2d7c>}g;h$0_y_g?756 z8L3X|n?ahz!b&gzZRP%`Lc?n8wWzU-mZOa)2SlLfvh2^}Wd-&}<>=R3dwkeXxW{o` zZ}1Fje8X^3Py1e3v<#Asd;_5@;5dkP@C|}LJTi1K&z>1E7`_i?!`nKNEhR${`Sw&a z#$bkcWE#hQ0936Ms3($6hJ;NU=?Y(~-HwYt8lf{t% z(Sr6D6j1IWWD^=b%C5u5jrP|=!k|LM%z61dnvG6-bP~DSL_`CpwvmBoEIN{*;v>l` z+_DTGN`XRcL@Rcd#K%@>eIz`V{hs%3;T2+pcnY2lq8W>uOYP^BVdDuAg;FBM1`#nf zkca}bFSba54)(K0_81Fad%kgGzX}fh|O}B3H7NBw*94lF^VkMM?%F>)! z5ar_&i$8b~zx0kkBnA#aT;62-bALNUCrpBi^B!g1r@UX>!j#k?X(aY6v@#FW^_FcM3qHrGM zSBoGTiYU}F!hSYs3QI`M(m+DAzRBvb=;W`a%vczKDI&0ks)SKzqmX@5@sLsW8ai~U zyoKFJHNI)+@EH5BBokRu7B>0wVZ0C51a__Ax`x;AUA4Yx5TkQ8#SWM39xv*Zt!cNA zve*lu-t;`thUI-^84ra|tc)qxhX+rze=OHcCyF!U_KLGM%}7|SnI@V)ypMI~fq|2{ z-G+a!u}`K$>*00+jjt|2zjoPwe~{QYk1GU@}V0EDo>_?mdoT3>?*#lb<@ zrjQ87f$yDTpL!=yTs)LT5-3hwUk}=H2ekCzplq*|Kyl$=jrNIm0;Ph3vSXA4N-54; zcxO=hu~1?juarP3BP!Kg(*RMHed`X+wSQ0jkIX?h_NMcW1hi(BJuUVLlLTZrnK?C} z_Wu`{tM0a2bx%swx(^Eu7cI1py%UiQW|@uMDOIJuEGU6n9P6`hm;LYTUTw9H4{GiB z3oT@$Qex4zwf6LAsU}tsi9`P9|3x}ey>@HNE~!RV5@>MkA`9(KIl6w&9dR_8SQ=T5 z(jsR6+eXunpw1;Q@VCX=W- z;I&|neL9sYCSZD>l}rQQA}C7^2QIX~*|H0--EaRdg{t@2?TSTU`#eRYnJk9RWk&3g zXuWSSzO>K&C9PNtEnf?28U36@HGNB19EBuiZWn&~x)syt+7B?|_hEZU*i!O!qxCHT zC}#*1zsWhB@*!%Y#i8~-*Tk;_2=ZgzQ~Ds-U9}OFzfsW}*BrLnLuAXq!3D?btX^D2 zpSD%Jm<6%IJ~Em=l-P-lc>sh&Py~n4Z0a;PDFoy#U97( z)e|~2zPr&+uh?HuLdZO|wwgO&fBdTbh$3aV)Y1b7?BztkqzWZmj?xClljY>&g~+FV4QycYkMAoyR)NF*gN*|N(hcuwnOmSA#*dn{Eq#CjBcmV zvG?sMP&wqn`}Voi3OwM9y-k))Zlo7ZlCAKC$p2<*D73+M^a^!r7^*?=(Gz;k-aU!f z)P?3yvBbAh-jYpJQq$fI4LWBZ5w9S}MDglRFIOW_(+)StowL73t;U`Y?bl`IRqCZA z(!>gTc`7)Hg|iua?fO2tocd1Mi{#MMQF`h!PT6p8P|4xTG9jJi(of>ce=VoZ5E8QpQIc#EFJJW$MBP$V@(vY( zGk>w~NTXK4J&YwXI)q`@p>_p&Kd!_EbzqqIk{210ec-7eH@&>?1?Ml#p;iWf4+a4k@+4y4MH>pcEDYc2bsSxMhz4hcb zH}}ZQxYoU-C&g^ZE_niqp^!p$XiaEk2y*o=2~F)8*!AJ=U3Ep9`j;#MO8vw{VkuI7es^p;&E zi*T$)q*>rtp^bGVTIB6lav!8;1dLZiK;MT! zBf9RpeL%^SSQ2_4pg~W-;06JNL8~J``~>Z~EkOXZAw}ABAA#qmT{2z;Ix&OAdqSLV z>|}|=Lk5<#BnXowjCK5J+anTH8QcF-z))K(fEzDhk0hHSZ&C4Oz;ASBN6C0t>o$!j z?15IcmY|3sq!n+Qf;Dv5?2^H#)Ll}G3TKxnlB7EQ=rXn`8+J>UTcK$^z-xK3Boiip zU-O;tVv1ax{w$s|D#WlxkubGBqiV$DKpj+I1)YJ-ImvJ>bAZyj7J zHM>L}C>fa8&^}NyLVL}Yx{?r1M5*W`*uynXld5 z+nxxM{HZ%*3dT7}$`nlUB#tS#3!F^y`ro;sP7)b`yGqF=mFu z!E*U6$?;e79NGs8M`+K@b5=_HJWmmK)Kfi$V;?)uGrFAT7Yz=W=X-8H{saB+8C?!O^yp&n(IAT>f-fg59rNtl z&vW*;7}lMe99eM0XurL1Zle&{QsIC?WJ?u7rfu&|lE7+7@dAF`&khn5RQ`gK(uluU z`JqRE#3VgB=|q_5()Yf@pz#*Rw+istGmoR{L*_;JnAMT2>D5E>WeaJE?LFizVS?pi zBL9avuTs;VgXIGqAJIuUz@u7cpAEOV-HC=kQhl!C(z4CdZBqk9L65-#s5FHEkLFFEn!=RI(j6Lhy;OF zRLe5Qegnff9G4GuSSb44a=d()qeu}}z?mzC!lHOD8yW`Rqq+F|kq&cAob;=pRikas zRj&Yn^v1S1jwdLpC;rD=$2odL=Z^%R3EE0do$YX>CclM`=nhyvb0w#}d*I-Zt85K{ z8jJGQ725V*SU%s;K|%et^^J~PO`f`inAD4T`G6~I-x5b0i3-x9YmJUXZLYe-0TSy? z<*m8why_sOUF3+&mxA2RHuZDAV>scqWdLw1Yn?~9ePxkj8P6?j=Sv*&s62He z%kf|i{xrgI3Ig}L0&Q91h=kktS_bg1Fua05ijIdI#hG~?B56Jz89r9@f+JAt8_N5| za+W)C!u(#u)8p{??~;Ip0!(K* z9PxNYtK+(y>;50GzI8a1iZK8dYLo*U$WolT$&n-*rp`rI^!dq=U;*?y_|9nX`3}c_ zC9i=s9?k zkP|s<*#a-DH*PTJE7kfYNnB&f8TiU-$Bz`HXBWeW3b3M0R#))yMKuEpa)}3UlDPT& zoilf}7mKdRnfS=Vj$`r=1BZGFYT0&M)Kj`bZMZG!NI>oP)qOAyS3K^xOQtZw^#T{T znA~cgLjj_Opxz$g?M9Kxb4~cxPRHXi$S_pJ-AkJGLT8?are-{0pTk6ln>#z{Hr}5P z-vIKmaFsfH8(9U=nHL=SVI~piM;h$jLx5TU=ynNED-RUX2)XDRzvr)Op#F z$#y%AdeJddM%nO`gO1;Wy)J)cJ1;}}-yAt0giTi*IcURc4mI-$KS&Uy@{yxNrYHe| z@5eQtI&RzvV22biB+&`p=}$QWJ&?>ompcGDy0YHU3tv9%c=t{)xTF|R#798-XPm*F z170e_SKf5|awj1BNI~lShN$zLDOw;};R2$cykn76NTBPPe^A^(Ob|0vF^PNXj$!tb zz|2AGz6K#&)C2&g%J8I5|97R}Tyebwjd=DafOsh*0HUHCNZohGqz()qbMK0@}CD0WoLi9ijZV>BOW@ z?-#ek*LuTwjB&`_|oFx(jjWl=_=>m&7PsL@yvhsy3V z!bLLe1JEPk&IIObVMZXR_)v>BR1`*`p9ff~achM0Cpv5pyPLHS04bl5EcI1*pT^k~ zk^=rG$;sCJ7#l;wIdM= zZ;8$mFzAPqocaEmuik&Lnx$zUf__hOz5>?^zMSlYYh|D!dYZF3YZx6dvu-IwxaGUJ zNHDhH6lH1935(Og{J>k8M-r#;4m4zQ1%viloex67=>VJab9v$@_R|fF zv;|O7ORsGoC2!Uifr$|Yp=?*5STx?{R72xhmlLw8ukx0(k@&|l=PqRuSHll%Dt>2V znYISLVcN%_ef^zBm}~qhI1=UUbbd^Y#e=Jy`AX$jxLu%q9J-wBN}$H04VRoT==ovJ zXPN8EIJu5Q$7dE@RJBilueS9N*!fsdPuw`%sZ+@&Kw@H9MxPk;$XI6rkAF77&z;2W z;K$(czdzP_gW+P^wGgmL0MhLf@pI#yj7kQnm~2u)8hEMO$H8aWcwm`)eA(3%RoedW zfQ7=-_Tn{XB1)R(e3#*`zyNq89v^R_|((1*Wka+bWTWy6uQ_p=Ugac z*xKei5(2Xnk}x9*5)zBFP%V)=K|v{lZXBTitSu5Ryw};Aq#|xx=N!a9&+oQ49ZHy6 zaF0@=7MO#MBl-4YK}=}mW6qgSYVpWp&P7m0QNPuh%{4ZVsxo0{-=QcadSt7!GNnfH z{k9oCA!~@9h@M}VpSgr2o0|~<6~z_bj|}G^s^y+9F~bkUk#9+ z0-br)xtaNs-=}zC)!~ZQo&Qns=m!5a!7%j}LP-v7v%Cz3i}T_^+H<=!*VF?>jJn$p z@WW~6L(EOC^b7F2;XUUk)LcCKeP^>0GDiRLq0<)v#Vl2uqO^0jnDUdb?<42hkQ8zo zlb{^Lf;1;!NaARWy%cpw2Hz7XYb|!g;9i zMg>?=e{$}Dd%F+ItebP`vl`{(Gsa#1iRTBiuYucCMp=y^w5w{Wwi<8k|hlqse z!zC%2_9ghiNY{@t-EtT}_H7U0O*4L2=YsI^1rQiS(&I8U&4C!Oe1(>C@%i(S)IBzUvPc-}# z>`s0|$QmCA?Sb>tQgkrGbyqma9M-mz%c0=^C??ajoLR>Xu%`WP^kAmzZ6(A|$=jRJ zi3iK$@tQ1Gvpg=KS|}{W%SbK)01VA_B~haw6FMY~%PnE6YOcw5_294V1(0mANBatZ z33)mjdiG7nvwOOpmKjL!k+5R4I<@U9IGDgh5pU8a$KQ%>+I|qPt0rFhQDmv_9*8JO zw^BHl`Zn+r;%@YOzUw&n-5Ls9sY=T#PHHfgf;8F`+V)iv=|Jog{Pv#*A(+2?6?)a^ zdW+e_>plll3AZFE)tNDS7b-KD!tC7R$8Y&wFkz-JJ zIG?@u54Ni?bSXDWjXwMozL&yXu8gqz_!HjUB+H-jlpR3V7Q5D}20#|QrlT8fDRuow zMRauI#H6l<0jNQ%%3VX5&FooE(?Q`6%U$Csx}zJppvuKOz^y?Ya9`C3*C|w1;aW}J zoveU&Tex$#@a{|{_ilJUS1H4X-~&A9*N0LKBzgQC&~!9(s4E^N4seAse3ZP<3^i7{ z6g=*9R5;oNpMh1-jE{fkF>NVzEmsZY0RklkR5l12J*l0aBC^LQ2Cf*mq~4i$})i1q4tS139&#udXn zAxMlHq`+otCc2`~tZ~rnNkLj7K-EH?eikbLOlNim2`r!m!0OKI7G=d=WeWF%ZKbXt~Yfoq_6-;5pdd^%((W2$R0^OPVV?*3Bf{{$UPx@tRUe{(G~ zhvRlWnz}g;^1f!c49wG_KnP-TL75eG&oxA&HJ`vOW!r09BmNgSiO4wHmC8IL3WJm! zM@#3qthl7k^R{396x$2o0 zMKWO^p2JP|y5urd6*0DVC{Vf2H2}?Pb44>RaceMe!#3Nzku)3VZ#I!R&?Klh+v4E; zq{SeA3nwc34wQV?T2~DE#|D>*7GQnwU=S=PI=sP^%^V7(?E0gf0G{6rDttJQGTjc+ zjP>OJ11FJdBJ;OE%FH`Si(#E8>+vX1Hfg(rvJp>9VSzB5$hI9QI~qt?({r5wPIwY1 z^rj!x3CyEmUuHC)?4YSWJ42|9VmHJN!WfMl7bBN`{K zas5CiMF;hamh@yrmvYqAgLy+E#SGnJ`0mmuAvghd#6b6je#8UN;FGS{h&KiP#GI%7 zc;LIPS7ZPw9)0z?D=Rb>Itu!$KjRvProZ7zh&Uxo9e+oFaoEKeY zRPdoo!@Mgl24pIsOJBH@c>8Crfifs9@!daMg`r7-(BsiRK6jO%4?cyyr@0k?S2_?& zGJfnc*AN-pKgMXH9Xq~v z^;5*9OOBtO7;Q&7zt}x=9gei!@qz2E$#Ui#zno{F>*Gt`r!w)$38e)gahXAVGx@&y zTdrbRmS7R~XI!(VVm4Rc<}H|fAM!euLC&eiz}#CpSpg-%BI8P9R7!HEVn=tRU!#;B zsUKFBmNFmn!sn^!!BKfP5;LD+vNuoM`fS(fl}_ zg;F~H_KNa$6)4K*;_$LW6mUeu6$Ghm0k5_>BmM_5C8C>EpgI3!0!b_6r&D1N>_Q$k z(0V&ndUiah(wD3jXgc)h;`q|fsUn`#q9AZZJUHcyzaW*>t+&Smm0vC6sMMpD2TR|? zQ3{t2*2l*jH8jV;F{&7AIS0P%|NBa zBKa023!Ahag*P02clsRm!HQ!+!`GF@pna%R4Qw4jK;Tt=3+Ay{c`V6W2^MP*7OUiQ znqaYZiN%V(-BFqb2-J@Q8$a@D$|JBz5sa|~A+QA@uyu*R2JvE@%?DE1kK9vwl)g?O z-E*byL5YobUnpHJQ`vd-8gj7o9`wWh(g^yep6Jj0(4vHIQQ~j$AoKHZGIW{_C%$^H zw3LFf$_0l?;rQ&}8(EK(Zl-S};L}G+p?0zZZ8}n#j*5o!ZW+^E=!xMw2{9n2N0( zu{9ibLrt2D4@!TN!pM6sl%;c-WoG-(nBiBvpeDpuX3RD7DA&SZnxq{s8^>^Fv~Aue zkk&WLRp&%)qY1#U<`U3LR^)oPYt z-uv?3E1PLU+>VDn!U{ylw+RW5DzZ*MIFcmj^Kn@m_wTvpv=9t<8;4Iqjf-yRD~a++ z*)}^uDK{U@$C%S+%VH7e!hna#K3DdAvWf_|7)&y^e$JGDm)Ppxc|WzQzo{=cd@}Oo zUJAF+jb#13Y_|(nf|?5j9c_4vk>TRM%KC@MXez3klph<`$AUD?^7s^3f24m5nfiU% zLdF{~K({XUcbmr5yhOgah)W$d32(4zu;$^Sco2RlOX8XXEHHA7{jqE@6N!+VhKfSK zGa~ORC+B}Et9ByNM|QL@6mffe6`=jQtTdzojca?Og)%sk+tWs04n^2${z{VeTiH`~ z1ljl?L>PoFpy@WD8~!o)i4g!|Y1YHcKvH5CPTSE;jM=L21ZCt%4$A1ICX);}=@t^$ zRq^mow{XHS2xamvgdhGyP9tZ-gbF9(C}Xo~(Bi#2TIgX%JsLI-|91svBD(OtA<#EQ z_!}CKnQdZL2F;C*$*k2SP9rRfdul*H?HDHsuOw+#1nje~n?(hc*3#ug$CwStdLV z4;Kol+?{p7d05|#1SvM#Fhn6GhR4vGAhECTHx7Z+jG;7XvAz*jz7aHEQpins99;h; zx;^zM6z0RzWmx+#cpQ7S4WFu$7j)iyO^4CQhGScgrH^c9YN*!Ukatf3bGywi?!O9v@W$ z@V-%`VX!d9iT03Xm4alF|2ub&)!R18w8UsbwJ-|uZ$j?lgU+Ci!tx2iS#o%cFoT6R zCJA=|I~p4Z)_k)VTUZ~+vviuUf_6U~4viP0Vaa466ixZYn+o4}_;j@JIb7MT=8&=} zLKzz|9v3_lQFt)#tAh_G2@iAkTNBA&YQnXpq9(MJ^7!g(h*L?UqI545dO`K;`8gY= zV+$V$^ul2NmQ}*Gh>_?u%KIkbN^|$%%mk>uLx>@F&k&|^j)}N7`bNU<^Mph+2`4rQ zH#6Kr*0yD_ic(-kL+(ao{+A1c3~r;fJ6p`B-%$fYYnVjFEfiWf$D|;tlPJ{!1{SOp zJW#Pxh~YLDn0yYR?;MTgJ-$h%yhp7UcsSF7S+|J(AqjNGs%kQ+x=OaF1H^;6IyPZ<4)X zqmUW%m|s9_&8VTpyB@M-Dy-co>}RGBX_JuQPM(6-IKQTzUJ9qUnp95&O=ShrpB{87L7PjvbW2+M zG(CJ7X3&7GpBg43m@Sr>^bQ`sL;4Y+h-yxZD3$|gL`jTzfDtTb9uc;K_hlgs3Xh`L zK553JFkAg1V?(yhf;&$LHDtka!e-j~r6+}yJa*3%~9XqPPP_R0R)?kvRr)0LP$? zY=2z<+Lf~7LTabk^u@pLIz7Q(=a@Zt;JDC*J7|rkLCfS!BSFqwu$V$AQTxSpC?QW8 zO-di06w=G*Oy z+3+cNHtQ%wb4UFGND-HJIe8zoPwIHYDC$X;M2Iu(MT>$Pf_w>1uN;DDqha%nh9R_q z5fM#*^+$VjVSS51j20JmTpZ~3v;H+TFr-T?_L~;Vwjo_&u>W>)Iab6Wy}cd#L;H(7 zxw)Ts4-RRTn9MyN=!7|>OD&p9uNl&%2F+#U!5k5XblG)j9$>f^tVXsCDT0@13@IxS zU$=GESRB$>*BMg3KDX9jrGwWx1P^J6Em`Xj%*rZ{W|$j&w^MVY#?Ud%VKoGos1Rp# z)B@oKTVFCCaQJE+h?4k9;buCVYZ)79s1kSC((O2w{?=f0*EBzNUF$1;rZ^Bgr&>Pb zKqO_mubP@y(N4t`%$n{2tMM_LP+S1;vgm@2dy{-zY6FkIWHj! z8R8(#BSZ*sE^{r!_S+z(R_ux1VcVPORQ&O+l3pf@n}vIGF}TMJ;sWW;pmuePDV0rhIoYGj=&9A z&bsC`-Gbm>#x%A70$VM_d^~^~Om0JNpTKHvvb0sa-`44xaD$qgP8cneP8coB8uf6f zyHlL$4G&Bd3me~83)qsau>3A@9maX#*NU%)c8+4*R#Vyy_=!a(H)&huR`eYNC;#4$ zhfgYdN5Z!U@@iNuf;@AdINg~U5iEuyJX&xXXS5b!G|&ZuwursC$o5lOi-Nsd#0{RP zKub@inbpGFA4;~f8c**j*&!G#(72|o`5`Y1=6osM0NWoGligMtL9k}EsJcik9L@2!J$NhjYQ6o)XJ8K{`oI)eI?_%|lnB+<_J zfh3|05;3IZY4OMK5VU20FhlHQ?F;14tKtI;a~g(T7I%pC<0J+q5g z9bF_tc@3lP+3sv=3oHq)qkY`ukrU!6M{I2HqJvTwi>>fzURZltEMel{&C}wRHss{i z_xn=r@mf4t{+=i^Od?t6ks{e_Jd$B-z;f3}dOE`wHIW@nj2BnxSo%Yf@h{yv>3*4F z=d~o(ZLa8+`dN!_4>UT#sU_e7pe>;bKmp15Se#_Y@!1QCLV_U*F|JCK z)kHXa24{E@e0@e-=uHX;z=zWf0l*54)mQ6eNkFIe5-`{Ou?bG3#pB?wf3#o=y<)jx z!&hPp8V(ZAi)&bfRo?Nn_+$va>)9$wqPx4NWxgx5*^XT%TfY+zvF3-WZu4D9#;4}GUih6-ob1j)ZCc}S`Z3cgmGvatHjdfc?JE?A7+cNp7d1lr+{>KbXXj zmf-uemV&3%=&v@?u#N(o$y)h2VNc4+8OTl5;te7095Ty#oPy#d$M)-%R=iPzG} z%us2LE%dB4+`zBM-%2OW<`C%2OG%;U%=Jfu3GekXF5Ye^dmqO(<9{R4h^8DZC5KuX z@oQ+V2=QncRPa-wvZK_A`?8ZMf$3y+M`6|7PD8^_Dt@{WIL`JGyGxU~g_|6?}Z6B$e3uNEkIE`@fq`8Gk;VvW@AK4Uv*m z%zZc4T(EMiT13DgpMPn9B+cNo8GrJS2_nQX7&d6(UzA;34J+>Uy--bDa2=)hW>TjT4^!DXjdQYfl%XG5yc#jhCX;JhsHBSULFrr zy@DS3UXmu#2%BU)(9|HwMXJ0x!q4dIu+sU8e8<-dIWXo!?Y!zh|Z%ARs+{ct=%48#?k19FAGXg zIV;=J;qCQ3V&K$1Y&m*4RKuCw=$q74?vW1p=j0ry*^jI1Po`d0%Oy?wr5_mwVxf-f zkN|wWoak!(*;+vHC6**@CA|(wrx-Maa76m6Jz+L_h@gJP@N;Rd_h|jmo4k$h9U{{!XqQmeM28{*m?ut}d6%gDdt3b(dS<^Ead##3nB|E_FuG41c#TTgz6i^>*Uq zfUP9#O({QwD{+fVOCzsMBkD=%bvCTT*4#vcT4(Xv3`l%eTE+buXtbeK)JjS1DM<mTMg&%B*8V89hd9^1q|ka^bC>c_&EB1>7CtMB}zY19ocG|Kh2d*Az1ATj>Z3 zHJ2nW4EUE6iq0bqmm~>R|4Z5hV=hZ>3wpw$=G4%15xO=wQuvH7q*t9)a`0w~%am-p zvCVBPAqwY&zuxvu@MsDfwkn$zsHV0hL_K6>ui1)Tj0)Q>Nq=jzb@-O^fv(f%UuT_i zMMx-8Xhu;khnfGD68zpTXq^h9W`%TE$jZ?S@`@H{4Z{Lx961>&$3qw^)Bd8Nq>y3{ znAu}ITEMj8!(#!}HDl+E(s?|V?qXF}iRXfAYiBWPa23tiom_0<2 zgG`bxtCxeQ-JqZ>=8w7+4z3uvBe%MZQO3n`FnK#h9?WohXpTm*Q7D1B7Qf6|E0Ll$G507 z7M}a1C>^gG!`U=gzdJ1%)}+c|+?oQjwbc|?{0XLp3`vtmIJ`AMs{p;z)gbcb=5cZ! zA~1ZJDfj3kc1Xwxd7*=oNpPUsQzKn*(y3=ZKQrs%63pr@l5dFd+z|*z;ag{M+M@evDQ5Oh zz7gd{#n`pjR7}8f>$lcwpohW-ZlM4m%)d0<#&Aj)Q$O~bt zghFaoj2TC^&xm;El<1ct61}%wBQbAn`@FSg-eq@|*eCmDsDqtyA4SkMMhP~ z(-@o9P|zJ&d4>|%oRq(1apnXIam%SD&-PbHAs%*?z3h_H6B8GA3k;8ytV zUj);urVf4^CnsSlalE`Sh}c7>UR;|9Z;Y1@a~rLz%tTl>0h61o)BQvk zQAd;3xnd$DOvL17Q!|KVKc`7Va52`LiSWoIOl}?GPfnjKzZAZ$#7bg#jRZP(W1(fT zypuz8N~=`J6!{4ENT317X!6lO1J+KZ$v^`}Ov5CCR$65fr(<$^paExTaz~&6+h<^M zr@sNvFcXuH2kI@Hg~=xZ^%H_JHLd1nPlc`NpG7Ov@SVT7W#$RaB1=4K$gFh0>70IB<>p78D#IX>ZO z6U17ZNj)01hPM00%nj?Mt+0KoyqcL!^0vu8N4hY?OS@C=_|vir50BOR<%#&`z<%6g zFz(+0xj)urTqLkA2XsFuFXf&wM1$8F;lM%pX=V;-I3%-dkGXUdEFX&Qcvtgi80zAh zivzA2b6k_@r?!hjmsDQ61%oh9A4F5>>Q}J)j#z_((C>KWCfZ-+g&{fg;-by9D!?G% zsF9*BjmR`F1>#ywb<$qf1fvqX*kpPGUX8w^*0Qn?rXH4$G4n{l5xL0jofpJ#x{1z1 z)K3~h= zwI-7Hnj97G3cubsG{KD1@P$e4{zb8j9;dDf{K)3hhNauWm zolR}*#DG59tuXt2+(KS#&%V45!(;lI~mAH5fjLH0G#dtqiAb+|KvuJ~Ru z*yqs}2E7c|7LmiB$Y0vL?R@M|E4B!4*9H?GOzGu@%RlsR!>4EE4c%Wh*vV_R(RiIL zTaG=~p?S^n&5k`U+}Gh+Cf-IipTp&ySxnykLQV~LMO}|qiy`Tv+~`ZAuJ7%qux3zB%ugAmj zpX8^VI)mrEm1y0Y)VDL){j>Z9<28WUEZH~5cNux)l6*KKzAr{k>V}tfidq)!(Wu*A z@MUu?#zjIi*#k~xs+)S@=>`H^Gl<*sVj+IJ6b|{Jit6f%pmE($2Z2}&Cesre#G_N!C#vA1={ttd^o@blJ!+TAH{2lob&H`7HQN{XRN*VV~Hl516?jRrbQc&pdz1rIasjQv=xy4Es?p^cr zraMgdi~&_jCcNWPQlUDz_qY&V4<*}rD_=(pa{ejrOkPpmg&MrFjzB6+(^n&w0uOl^ zN_~cZKq2_9Tp59}WJh{*I~FmJDexxTauXR*p_DM(sVZXy3ToGOG~OACTiZZvxA|C~ z*E^E@fl3+c>`QSb^k}kRuyWa+%-N!O-Ni;tZ)lj`REM#?axHmD7kS-F?i{Y;323A0CKV+)$ zP%%Sve@yn%B}x`fGFZP@L0h{a z*-_TNZI3h1kfHO`4y1do=@H$m{XL{T3ie*2J)*(st%>yi+aqrdbzlngqrjs_{|PaF zKg8R61mj z(`6}rjHBC(LjtwJ>CwhU?g}n;>vClX_kpRtz(vczqiASW&?X*dY+=j5y-G zb~Im+Mc$*Na-W))d8eQJewe7+HiIyk;(Teg`pYkf~;a2l29{^ z`vht*n>(Rs)9pk@4E^=E7=5x)$;X<*Hz_Y?C$rHeu*1Bj`q`7F&+<=g|8D-7d5dn> zh^ICyjc9({w@FFkQrJYZJn;7@$($ARxn1^a+l+04^-XyQz^GF_y?JUlQ)do^IeKPi zt$JwQc#obE$a~g&45j0+u`#6JF=a6e{=3 zl_4p--kE%NNWrL?(J~Q(?eMN|L=VE+z@E@BNBA*t@{- z6g=0`-wi`vR(f;it>wD2+1xIqE!-5l`C=i!H~Qw#(MO0x|d{N3w4To zYi=n1$KvT8tVQ@*iFRbst|2VySIP;d8`*Up4;@T8@c1e5zb(se>mLWJKElAFE5639 zsvA7_welSrmv(=nq;TJuXGy)Y83tC*A$NbPbhG0VmDB;6l%|jGh^eFLY@P@`&E%F=qg^%Cw;Cc`>BQN+pCJ= zKseO=5Orc3gqq*~U z8K+KVkaI(l)b8+myqeAaTtK=dsGV7OEm_TlMM-K7`%4vhED3*NdYbuuN>=l^OV$#A z@VRu77Lw0W)aDSlny*GcLl<=y_bWr&#_PREmvnU$dSn>$&7)&P8{`-%>Z6v};ID{e}KBvr7bTonPPrI zY|%3%YP^j>v(*4K15zaQNv^rJU6y`UmVRcIH!83K1Yn~|1gp7dX)>wwH?u4nqV8o| zvLR=vdd!aKg|>TO->8yqq{}dMvJ&TTae8-HfZG%RaNX+M1g{?OKhdnPwK`n9P_~m?ovh}w ztdA!>rmE}M$m>EM7>*;}8EPD-Wt(FvkX|#?$5~DnO(tPL)?a$2!O7a(d&ol#>N$p6 zV>Fi6MY4L1x|-$gw4_`#9aAFbskbxST5Ay7eoSXz-vV{K-ycD5_vLCdK1?-q7DkI2 z7pa}Y)|=WXU39F7f-`-ECrH(8Dn34z$k&V2uN>%_b8>~+AOF-O7vLr{bU-K+HsND` zb)~wWk;$c%>Ss1y4mwRDlC&KBm?1w-iSDuJzP9)sqn zSGTFJ^5w=!3lBZ?{)Fe9a$27i{bo*%im^~0R+CWS{@ugs<4KjQ^OpKab8ea3HX8S& znH;Sk2Od#>W}Gs$izAi2kE#8*d##C4VZMIQiWCXbrGM?!V7l3cDiZpHTEbuyU;~F^ z%9Cn5ci$p&gsaRZ7{?lUm)hvhbZVE14h+^fR#Ao9Ub1Jm`Yy{pm`z&tslyoiuy|e{ z4j=4SbL<20e+NP60hIzp_B^0=V}`)k18STby%8O}J{Ug_h2;m-&bEObeK0(BK*iJuZ*#42!@-PnzKMYSw|VS7+7FHhz@MA8T0Kyy>^q8$S&X>xuxB9XvX< ze0lU?5PeYXdcz+P^yt-XggknUNrF;El)w2Cn-(?J8%>!=sfHre;YigLO_^&B$dd4V{yt~sFgSvc3Az0+gM{V z+JMe_%%P9Kf;wznQ;Gqb|9WUi$VD4LLEHu8Q)}&ic{P83_%9a##7#WO8 z3Vi>MuYBvm=jHByrbW$G2C`zqv7?je^K>vJFWZBShDz{`Vz}b0O3cqBic%C z{!z_k>d2}e)we@1nReKnVZzs}zJw>2$4!kg)_3TVdW;7B%{NSl9^J?qZ%1!`y^cyW zu9u-jp)TzSyV;Gg@Q z%D3S!C;~0?Ndo?|KCHYL?1|-5tdKUkMW#53lGznsjxm_Cu0y6Lv}TnzUWZn{Y@}sv zRTiz8-6*YZGs{(&QCyw?@4L%O;f3PzMpzYAE(shiZ|yU2{>;e}d*3o?R>Pe9y56@= zxn&~x;g#|sjz9T6>do>#6?`>2D8kX<%`r>|Hljm^ePNa4;pmF8ravwRS6eHR{`fQL z>8m*XXVs>ytEjldG?MA9l|>`?O7`WH)(-n3N8;b*__vzu`LwcvVWyE^KC9GSG4y+* z^?e%sj_C=o?0jW5dG71V1k4B@e^WUR^AG#B@>V9Tn%$QY+F{@Clkh)hhnJDAnVxB- bE6MqPR*p%*`jxP%hjN&8Nad#njTV#}roYOmAKmjtyJ zp>1q3)Y<;~Jae)*{y5|A&INaQuK&Kod~oC4McEq# z;FcHo@5}y#$}+C~{23f)Rd?!L1UXaNjXJXJ=;o zUk_V5vmc~pX2I93%u4OL3$;H>Zbfn3g^RXQ8;%t#El^kahtz?j|~5;h5dVM#+La1-{lI|Mn!Ae z5w5STD_PdZ)`AQYY+H~~eQal$%J0iQwvQ~|Vl^U)S`8GGgKR6hnlffvY(0kMG&p6q<^`d9wXksp-VV#Izyy75zrsG!!sK+?X*60gc!m88 zA+X5)nyEe!+`q85^5x+Rg*zm5H{qScPjhH#VqBO$&EaSlQv$sYIjl3e zkD8x!SS#at2qotnW=Px|f`(6;ke)VvWO(}INu%)7lJk-+BT1DG!CWz!R_V~%Zx8Pt zGg3c3Bf+N;*`)IpL0$Xy>)fA$T!6lP zx`<#IZy7Wyee%fBRIY^sZxxh2ESy1m2i}@OiF^Dsgp-eOofu)GANB6 z9zG&9Gu1Xk>cIiDmUNG+)1!Ach0_GLP#jSH;rKQxF8 zedv7uEuxw>WKBmGKViWi&hOZo@JsI2IS(~8KJ9kHE88$ox(5oEpE#f1!gFXRIPtpc)C=i*M%<9Ty({JL`rsSJ1dgA`Y~n3IVa zF2O>g#^sW!#Z6*jTuc`C%NQ3^#UjAwFbj zh?|TSIFcOe;Bv%-O<`3>m;PaI$vh5jntAeMl8c*=JJ!X+f6?2WZO5{CCF|Y;pADD zc5h2@WR!rFY|GIqTMDgzbjdK8=mY0n!X>66eRaX5M>kUfLp)s1nM`Ka5Lc7Cz@8A- zx3zB@{q{7Rd>rArSC}Yw9b+=&$6>BrO|H0J8rNlS%VQh;iWx4zrT5#`L7OOY zttELoL-k?0lFDPQ&rHqx`f=A9lZC$Vt?QR21^##1bxSW(EC3f-r>Z{#d=ePgH4gcKn&jbHF@y|b3gG}VRGH77y1OyYlq~eKI?J6P`lKp^CVLN^m^?R zWoq}^zt*>->6a@6*p{s67cz_t;e1`lq_w_*!ZJ%=T~||XXY}%oGQGXPY}98ZzJ17} zRxJk$vwQnaH+fpL=;xc%$&|-wEB`+{#uz+)EX05AYsnGK(U$KC=U4mMm_CW3qGPmT z4xr{DAP2|hnF{9Jz?N^FeoO=nM!@tpo7!@OuUfZUyu_5VK8NAVlt9UmmYa)9`Jr&r(@&;P_#sMmH#z5o zK)*Xj zFJL%1PW)X+_xu2Nl2mSQA^30bKWQ@FSDXAphM1ahoHQUH!-N2tIyJ!5aUfJr4M=%g zsqi9qbDjSPl3oyCM>;O{vmwQ*K)hYd3GgIIc>%*r`9GT%aKOa4uqHpicby3VQt2OP zasurG0#BQI)fIeIfmJ4xY_AQx{+43`8_<(!LBoV60fCm>>Mem&g-MZtQjQddx%iNw zHZ~T5T~y$2gH6rDc4c7Sw=9VW4Hj%TDdv5Hh02wI`%O-3UGZC{wQOTx&09`^n21R6 z73R^JK)2P$S`HvLw*(d)*b;c4%EVNJ^SQ0Y-7z6R`i=}TS+ip!gPcuH?mU zi;2|I=lImsqk1TbA@+?2cI{Y2Gz*m{5~e8K`I2( zX=r=UWEzCq2ZOWTI?Z;*J}2mNbCUF(tCUO{8)Qdj{utsTy#6NmjO=Z5k0!Mlc;Be3 z2)18+B-or(<_4ruc$YSx7k2(=zD4Ucd!wEHl!B2_hb^kF~p6cr}RE1P}sLQ#KyqklX6S(8VH3JQI@oHe+aTx;*H#1x)n* z+ji3^4O!AXWUJ`l$=D!o!T)?nf~l=Sm=O><-sEQUIxy7D&s17fokLCb^qS70CVRSj zm(VP!$qUw~m?(05f2a@9XZ3uyQ2hgpl`yG$=qDy)Z_y)kn92Qo!F!?0l1xla(5?&B znzS&pB=oYWHv=+$hw1cO-Vti*`dXN|Gj#IXR&+aY^CHXkh3eNw3dt=FT|OC+U6V{VglwB;UC>mfE2kC$KPo~lEy%A@j&^<{D3y1pv@pESR5fD zVX)kphHPiH`&z@LGa6jZ8-{}4o&s}{uz zhJdMI;Cl*gs>BhSp#aNNL^BlP@r=2WGM|Kt5|=0_4kwk95Q|SLW|tIB;!`1R24*^# zn<#TnYf=1eD#V8}5H?KS3ZcJ0OrAp)4wnaz$HU}n`6EibsIX%=owQUTDtv~*$imUo!6-Nw93ooTF&ge|$@$Up96mRg zroA(-2^PopjgepCTL&@0G+4gYisrjBzql1~_!#ACGgjW4;~fG;k&WXZay&o;cPU6` zAZ$Fm_>=d?qdt}X%sO~{E(8BipkW|x0>Di_GIWCcZ{jowAy1zuUrTV$d^&93@fK}IX28NK2BuTcm4U+)JoBPCnZu9wB10$3J90r}{bYG3 z{+g$7bF%zDo1QDh{7>Azi0qc$EtoGabVN@S!0U^TBfh<==58*XYlk&a1P)PInfE+c=BE zubfC`7KXodBA?Uo1y164FDLyt=R$0<5yUk|qRGZ^v7EaM&WbFWA^(v7!k#RiA#Y1OXM(38aWldD){eBF30?(w`~W-haHhOJ z|F8x9*_LF_0yDP-`C=BBF8ZHsiDI@qz;Uasgl-aav(Rr8{=%Tys5gJln&i&G3eL19 zH|NN`_^#IE)g0u=inPj+FXG3@$etYe46n;p*gmp&_u#tM?tu zuDLWhR%CpxJPK9Xm@99`U$!LIa^)TQxt7EyPaefbTateC=R*s!I1l1`EXdb+@{c9$ zEhH<~5Ah=EeEGZlx8@`(U;Yk11|QVs%V+SHrKEj<{HR1Km5_jAN+0s?C506Um@D_> z_ee+IbtSJC zKwYr_>Rc<<3;j8Zb#~xM!Bkvh*Ka6&|ki^yU0Jnn=n;Kj8kmRn$y6N|jhUQL=t(K4T zI`W`-lgl26CO;n(u6cS&Wu!jE)X zixaA54YKm>?@gt?_}wUlMbM1Ewco^5a(=CRoLkr5np*IABhZ7Ceu1gYz0*``Fv1lV>Wg@9#A~jgStYgGD^)TMoUiWhMm*C zSU!$;m0+N*7z2k&FtC1&+={$kf`Ne>Fc7l=saSQrX$a%5lk^Spg>L7rv9Wq*z@}^D z$yLO^?4rVgs5Z(6ySW&o>ZSbQRijigk!^yXURRsi3c5t2fKj zNX(ZoaIUJUflXDSfhAwc2a|=H4RiO~EFb6I>vB_jL6><_`jet1Ikp))-Qr74B}QDL z7TwAFTTq^Jzcl0W7o&hBd9;PjzZt2AKi89*vlUWdJ32 zJV@LwrLEBEYx!i3&loNmyRaXYxe+25b^u^G1AiXCJTpd$0bCHM*eE7;5CJ3{gmJ!1 zex6@GT5tS88T@O^d%=!dFieopvrqkQtLi zBNxgMWNA5qoP0vQg|A8%Wnxbv<7pXY^1G7isb-}0QD}5IjWTCUBQL!X=})KS(>R&X zqe9+}lO$v@k&R~{qRSFRBF`cLY1v}+&Qie5pmzPq@N)n~df-Q1oI^IWGew=1KVYO{ zrl=G4BS7jbQRgHDb$Z}O2A+q`^4X%!)APt}%p78~38vRp0#wf-J8ThT7oB{bq%a4; z4MhA8fOu`LIJFfQcb z`Lq0cK6|b>a^)9{$UYHA#$G}m6E7i;)|U}s!aR|^fr6@eVo-5a2r6$r3+i?i8o9g* z8u?dXsC0p-;dB)>%`Ozdm8=L zo$pBoK9&={^nc>=c7B3T64#01+n-RkPpI2kP>Nbm_bF9DsfB;Sa(S^R8u%0-r9_Wt%8|=p|g#ZWA}HzOQJg+sWBi*k1y6u<8{23vSsCQQqr6$S3dAhqU8Ayik^l zwD)V!+OPEdMU*c2O0V!4ub9MZcZu{0(B&dc0y%)>-J;dK6jU?N87h*DJy_5qQKX-E z#YCPf73GFWFtohXjI7DE zc+dUf@}FUek!}0M{;{!AOyd&{khmCZJ{u{hIw0!A$`sT23_%1JD3Bc#b;emktmL4m zBe4O9DHFxk*g#CjK!hzo+99g5n&%FS;=@}&yy&nf{-OmWv`0j+!VaL~i0C5B9%8BA zh&m@JsQX3~8|VPB&qJlN%B5w?pRnRrJM3Q)hZIU~D zAX5dTKPuvUA(M7iw0y=FC9Y#&U`v3)bK;5mpe2+%e_$(QrXQ5H{U9n?`zt1KF=U3n zVyUF!M|S3h1wbO@yeM%f00GyWXS+(zKn!J9inF{*flMdLjco2q+JvrNX~{ptnQ+iyFsAl`vY6D~5u! z#!%4}aUUNaPgqADP|5k;8^sb{ zc3Tt~+m;sNwxJkpA)>e=Zi9=W0Lt!AIh3RwK;mzr()M=nU&TOdG(g(#tR&G8tNWdn zWC>q*R}{Y=0}0Q2;`7YRSoC=5J+YCU;}kfbVih=_;uJY#c^s%d?LleVgZh(FI!dkR zpqMVHc))TO))88=j^Ll^2#IZ!8rum}Vkc16@rtEf3Rx4c*dpN`GnL^9ih2CD$6`Fz zofY#X$xqmv_jQJ~<(;9~r;B1fUsNm36LMX2*ggSSFqkwLpZc(b7 zQu*&-f~C*IK68E-DM=Zv~D{k+Fy}I=!#xAxZp~wb_pM5lGd)qVL!ws{9|>k%UgH`;Vn!P%=ac zUyCC5laWfT8Ao1uQF7=}_EnAS-kzRp3^8Z;b3%N?24pTnW0a1yl^jlfX3 z6VqxnQZbFLu#pNPsdZ-ZeMUjP&_$GgFbeVku1vmQG`y6#ie9|OU?|y*Y3&^Ytr|B` zt7jU9^4yu$Z6My$L)4l%7DJ^TOv`B;v=Tij8MZAv#}Coa<+cQ&A^^l3S_$pK{(GunX%i<#70`H5Vd>Gf_AD>1cxcmF%UKz zAR$Z~SxZ4F12%I20$PhBGbvckzyk`na2Ct395|`~vL)Cfl)2b^QdHtzayVD9SrVXT zL-~1_T`5qn*+__UKGKt*F_e=c9gw(S3ShEG%k*9pKu;0Dk)5{KtQO6M%~~M6yFQ;_ zEH4sP=p*&*Pmr;MHf(IeJS3?KNN+QCzGA(ksI9@~e2i(MSf*DlKyfOfXmM6cQrj_& z6NS(Sh-Mo33!za4q<>NOUIb6sF>LJ0B8)l4GQG)*vALGTvdsUE4aV`aO{mVU}v zN;yT06LuGz*OVh`FUstgFSj8RmneElvg>nxrJS1joZd^pN$DVJh2_A`v8Aw6!8rQu zO}z}9n2w?h`pA~7r<`q!qxWUE9CkcAG4HD&ld~K$g^c4(kDSMpQ`d>jav)xZB!%$| z-KWSifuR{Ik&jXXa$2RxktBCE+U_qYX8>mL=Ga9X!Lim~Qo_JX3LNpFmVWU}S&fsd z97tcuKmzM2-9#<@&VP&`vI@qDyMtKOpMw+g4)aMl>nUd&Wi~!4YaBl$7UgF&}l6=iHV}jxKeO-Q%)JtSabeRIA+r%0!e9KwhEm#E9TSlZ8KhVYWlHe>9GZyt6~c_*ZW)OGf#hx zj1QvEJX;kvaLB5)zY8(MwzE+%)R19Nd%KaEi8P4|I z!}}EnB-#-i@wo@dl?SlzmIH|^OMrDwfb|oUDxuV{gP;-)g5t|SRa0t1nPRuZag11r zafh%t%f`UqKBXV=K8*S%r!j+j4?{3uEJOK6=oSj3uYmVARB{{(WFHV;GmeBE#TJ}5 zUNn96D0YF`@$B)k?=i(LN%;getH9%!Rq{kmydB(k9Ag2K*jRo!#!7+ovvN9tAo9}L z*sT+&fn$bPvMDE_R-M6yI)4kbjLA&x!naUMn8L<3e1|a|Q2Q8kPvj}Yo|efZ&z!=% zxTy>c`yQwWNPk?t{2r3pX-seBX`IwmK>EO9D-cTBbTaNaedMS>CF-U#wLxcq3bUBt z{WEaxna$3gnP+hVR%eSTiaV#6!)MPRhtHu3vYCb_@gE?f1JWOo5kJBYy}v#RKPP|0 zkYY9)T6i8qWwXhHck#sHU5N&+JC6b%szj-aDnSj@Db7o3a+r9J3lPuFC5JCy^~B_{ zS*`sECb@i8is2VwCE+4;`JeIPlvp6nZ^zH{3H)cUd;9|9ieEt8r&Pr+>{*;{D8iCU z3JE7kp2r;Sy$pxdxV|2U(7RN@L_n1yK)6+fivo#bAp)S!-czokdA1db4`?>m=pnw4 zrS8NvRHF_^e>pkmI(-RRM9yAEwmcUznHj%ArqqC(ZU7~I%Eq?ez^+mIshI4ZH_?x& zOGI#(0v!W**}-GfQgH0IxWBj9Mm+;Oz#FQ4HY429Ht8#Sy&I;Q5XL9BTa~ z)ePV~>n}-OA&Tvwpqv4mVmLlmiX)3CC|SuK2_?T{qS{sBW7x{y@vu_6N|ft)7jmhe ziQq5=ItIe-0VJ$uIo)`VK7A6FhG8}6z~u(?XAPduQa(qG=mY2B`zTA%ecCJ!P|uhL zpk7d_ic)JHg35jfD)tXho_~P4La8!J&3FVVRqFnz8L z;hw0Yy|#r34}1Z%e5*l~BE>c~l|?Vnu;sYKrfuEo6*cgR8hC}7mr!chzv%nrJH+}u z{TIay*eOaE{D+;PbSE?G^cr2$sQ)iOO&|(E)_GlQi7rKQno|2k^&{~WrBO9O56iUmAH*D zS1y&5>@yg!0KeKC{0$b$`I4HiQN8QPcuz~^5=qg1M6e#{r6p`B4ltdCR&ZK&K-{6d zWy;NxJb|4Vw}I%pjkWT;#IuYgbEb`Qm!t+r|EAy57Phhvv90MUMY6-p^4J#2EfSpp zMc4rq9bscH?2r@1H--Y)!)+~)eiQHO091CAEkXKh-qKO|lCL^Oyq%P%BqhfUvvpQZ zm&BAaw1y%bkpA5y(gik(P8htoU`%_Gp%tz`6(`w3#c2o&m6(eV!Z+fNfbNlNlQbnIZ#vL6JgdC`Bt+D+AKEigyrD;svI+JqWE*bwO;E zxM1ZR;u(xyyAq79E2Gqm5Kt*0pu9qnVMvqEtDh z@>QTxRiFaZpg1+C6O<~U)G!UG1Pv%&3#yt@8z_~h1=TqMR6qo%Ta+rNRDL9=)JRZ) zZ9s8tK%Jme38jX$#roTJn?-9K1(bZpkPRTd?hc7-r(8#3+Cln7JLpwWYE3k#>}XK2 zF`ztSKwY6!8Kq{#f=Y=6oM3VQE-QL{prd-X(JQLlleMh-kQu~al^?6rG_-%ht zZwDl)e>3ih?ojvqhoKpXKsp18=z#=hKW7i!S9{PUTPK<>=!w3msl$Sx7bZP=q1m%v zuygxrFXcQ*z)QAR3f@ByRY3YKjq8mr&3Gkt=}!O>*}sNqy^nS-F(5t(MX7!tMcF{9 zyd+SalMzqhYyD~P86RLq)}F;yQqTuh%FKBE+7!I|D)BY@8jghZQy$<;cyhZRB2AR= z`U~HUA1MEmq)H)6!#>d;Vb=nQ2g--=qx}$m{-l(SQY!|4$`}ADA_bIV3aASyNRA%v77pm`1R*r(Bau+d&-lLVc zHgaWvULM>Stz03|x`~`cV{nqyx$)w){Gc>tZ%LXvb5W577u5!oFjko*$@V~K^aLm{2S`S{wD>v{7-lXSjM7VJR&M<`!Y|&?-MHA5y zTtm*X*N zJN!JIj3@&FnC1K_XxXv=F(~~_hF_*~jU+perTa=IidvSb^dygNDP&~kROKli-^HGJ z9hQbqLm)*#%+iZ#IObA=ncj)%&?}h^y_TbuGBP|1EnE@829?=Z1sS0{`*1!RW@K{F zj4*bF(vOoQDwx&nGZA040d<~*;%6w?*o9fj>GauiHnzN?FmZM-XQM@{W}^w$%z>t^ zHJe$E@^49XIP>2*7r_POBDi(cnAGiDWW-U8LHf0{DR~HI8<0Np*7@)lqhV+bMHL35 zEC5Q;vav%H)oANgzxQ0_QwbNz#)o}^-F;gmdGHB#$(S|O15(bX7Tbz8^!HQ8 z<||J~5~6tV3tSr)D33}4+5w$Iqy>eDyR@AsjT^6bB#zN~v%Vx_p%RxgF>JnL7twtQ zNIxZhF|wZ+%L1jBMY|U(aV-{$aoRiHpTbE|9MgUADMC`T$9j!ZqAi!8+sfLLmrHO& z)h$7q4=q*V^ZyRwD(kxpO}MQib7Z|7TXAY9rh0NYDpRr?D#KPF{Rt~T@hd@9Q)&aH z@>YWCyb4snDp0p5RZgk=&)}r2i`aJFt5KljuFT2a)tFn20ren2dEMC9ErQq`-(hI- z=P;N2Im|f~fvTm{UP>)50@Y^?DD4_he^N?EsTFHMWvm4i@dYTyFF;-R0v=>Nna#2P zqnR}zejUwhFE+M)9druUL8r%h#F71;m~s8*hBwwD<28)4b|H44_lvCLJ_A8wBp zD{);|pQ9=PC+7WnGV3U38{^>P1$@-E0d_o-L>YX>fa_GsDP$ac(10ss%Bf=fq^FvVvFW$%x5hU2vF)hfi|wdo6{Xhf0F}K1 zRP0Vro;#J|=dAed5;pXm*gInep#kVZTKg5ABB}?maCTvRCJfg1hA%1Eh4mTpkvOEk zL|wOAIg@1XRyq(*B6lRQd(bjzAG20Evj>gkI7Af3O?H1t9s}4U-jP%fVP+HdDlhX@ z_)_dX>@jJn2JL-Rdl=LH8VVW1n1b$WvbBC_Kb+PK7X|e>e*b_nR+2b^NpCx# ztdzuz6vydxwXj}L=JR~@Xz^s~atJFkdkn1UkHbUsI84LYPOmt}9R?}_((gep4#SgT zEJF*AU=@`E>A$7g>Kkkn+&9SZiEkiPJ5Kb6%W&M7jAtq*jw&BZGA6LVFC4@9$W5f% z5{{+g*rS$D6gP{f0JxFF1I%?)q@bMcm_Yg$oC$5(dozCkDy4{iWx(l2gj4$i!rA*H0;rzFbh?~JhZfFeQuoiJ zPqcFwT2Tp9Wk9hypu8OB`L+&vid#V=toOngqg_C3yGUW?bp)6a-(AaCVVg~f$8YWP6 z4S}w?4t~WV)=FW&qLoq>Go3@fLaOLjNDaIJslrbg|NaeF4p_oa{!O4V1M;edWa3gb zwjGGCT1vcc(WSeLanIa>2DhA{VYi{N+<^YPjgrKyV9$7K@8B6vw?cdhiu?`1rLJUZ zCw_xk?Mk+cey7W5l?d=*7A_tcz|$Wt9zSDB8}7n-jREzz2ef=OEC17bC~*v7Jy&ZSzdnhyC3GjqejxEu%HrepVfn(~sG;mMofE%R=wJEj?4rI%hV zr$N@Xip&N)hh}*9JexX6YKA9ohPTY4zHW}#Cu6{@_xAyQ0j;~}-juhs8J+`pjr;DR zTT|Xn@EZH@$Z3Z8(6y;xKkynm@o0wk#HFe3;AVIl#xvw!KjY7xn>rcX46hA%jb~Eq z)RdRm4DXs_10PfLtEIRhQ_sr+ud$Om4o!Ino8kF`*Em~u>;BNXsguu};iZGu*vTDSUNz<&Y=$QXuYO5#0CX3v8Zs$wCwPqw`ZvRSX4zD31bFqG zPUq9Z-)0o`Y*||a(2xbEN!X~)C}(nNmDtGW_YXk zrgCP@@Gf(DIl~ecce*5z*(va;0lXH5d6}900$TUQD;8b-c5e@6<1V@PvMJ96yvCh4_eE2l zycyn}x`y`j?cTl-leVW>GrX^#H&mu_W18W)G{ZanPgC7l|Gdg+GUNDW1YMfp&HcOS zjPLx_l(!YU##zlW@;u(`kG;`z%+&f8Dss^}|l?%f{bH+Sv zYN=~8yvu(!l^fp-&#W2Vs@kTya*@|?y&QScR4}O--krxy<+7ULJ%7|Rb;ld<@JNEL z(=7nAaXx!B!*gh$Eb3nVqp6c(@EY42(F{+X(~R};}ye|El;oZC6G{BwB@Y2DnXD>&e{^*8GJ_7uI{znIgtxyk6yIo+Kb zj9$j+RvGA=1)Q#{0pxPJXTLI`EX>eAr*pb~26_yqlN#uuoNmE2CO-g<4RjKxyLXlG zyTkDnM#sakfsW>MR-kkA>C|w#gH=pO&gq_9X0$)2D>l#`oG!^gJ7C5J+KSWdxy0nn zINeYK{TxpN2KtGaZotn>=AM~u8GfaS-tSGb9G%nvE}QAT{)r7#n(0Ou=+kC87Xy9V zO!w^tCUekCmuaB)p!NoOD;{-pOs3dOH`hRaZl-HvpqH8H?o?8l95mAcGuuR90%yiGrGehZSx=jXpjG3;VfgWn6lN#s&n81%rJ_*77!07H~x+7;99dD-780cs; zXifzi(4cEiGg@w@yZ1e#{mpcr8)y%_V}IXtnfZL%l(*+(Q(pIz>@0Y~xjR1RF5NIQ z`;P2d7S>9V)={$Z#~$wF!LqPW$?@`6Bw>+{kEEibguLn__f?%wFK=pXa5KF4@>gXe zgq-DJH=MZv!jLb+-0@v}Vfxmv89b*D{@fmRP{|D@JAMuu$_*53e+f%9=lTm1uZDG# za32a^{~C7Bl`qH<);$YLlyWnKd(XrATXU8|CrN7y3D-$@$D;M4vEaAOXzdut*$VHj zY~A0L8!D{Z+S6J7hM(YN6Kpu?(q2ya zYEpjLsg>}NT=fYrJm*zy&AI7BWu@|SoFMJ)6k;8e;1tT+7Q{H^Paq$I%}pS4tW+Ir zGo%uy5l;D&yetFKS9e$Wk?%FC>Et7s%9Becx=S(cWQk1GhRYzT#j43I@+VpQB-qc5 z=56!#CJ60k)H^J=pNRWc*hB@T1%mVaciR3FeMdq`eS@TpvY# zvQz#PqV1?^ODfN)%q{XWy)1)=67J8KIedO5*<+(}Ctr;U?@o%Z#JZ51-NX9{InJtI zc*ksBGAb+F=;MG)NcL3y%)8FuttLlJo)TMsP!JM+3qQkI%;N39CXRQ*UHF3v0);Ka zetfq&690w9hWz2HigL=I!%IhHY2O$wBVIM($1J8Hw~N~l$AXSNr1EN%qhNbK+`~fR zls}b}EL6F0na+uF92c3|4L652X@szwkZ6KOw4EPL|cA zVuvhID_Hb!%Fn8A55>w7i zz1Dg_H)>2@q#4Epev=>;X(lVu%tl3;`KCyG{w$K-Q8kSC%VRCbo^#>ewzG_Oj;4~* z?yB!B^Jm*|7N7Pb2{mekusKmB<4NU&aFno3n+V~ro~lVwO!T-U(oKqJW|N#GRTz(- zPwK*b$mt|i5T8GXyn0u)wMG6MqwV7|y=`G`yeftlcK1~6Hy9y>@2aMe+9cIxXEURC zxz>p{vvSH;5$(#3UyWAWO!p?C^`q`jOJ` zHm>CB@v0;VCmleR4TujUO9sRTliXk@8ToJmN+1#PC#Y`Qz|yE}Rd>!(V(rn*sX#*Z z&ro%6w4g1mG=~2@Crp^7ihz4kx~Yx7dx6Z@+HZtTJ2nuqEU=+Ht`vK`B7j_74U~Zjfi^_ypcSnFyX=~%Y@kyFffw?rv zDX*V&j8lZv!^0n|V6>UzyfNh8g{n9!EB!7~U_s&+sY*CYapS04gpI?BZX8o=EsWiH zmJ_~OtQy2|=Cm9AT?%Bz$)9r+D-l5)pN79jmK_XFvn;T-;mix$*IR_4OI2H>Ev@T? zo}cJcU~LFJiH1%b+!Dep3T&{i45s@^-0DxG+)1TXXAjTTP6akbk3X<(iLgL%^SX!c z6&yCGj^jJX1-61KQC+j*T9Eid@vVt}0^h=wW`&b>MOIqt_py1wP6f6kzE~A3Ya#7N z^WqdsbOYj?$;~mHJCl>es*d<=h`(-BY28p{wJ`+8@Ys;2s0yPKm zZnDY*eI^R*NaekD9}zVlXGQi6>XO12*b5Igsb)(;>`@KFu8#e*z}`BOs(#ZX-=nw}%^`k1AvvjcTm*807EGT!VuDZ2y$>^iAh%zL=-)}yl0C#CEEoS!i#7qdy9Q>qIbem9}HI!+k+y~@rUVA45kna*VU zIaOs36k|{r^4&lHRC+Mo5ptrE=yy}XR zx7(Y!I2E|p2Oh%4TdF{gYayJvt=i26`0%!GB8`kNy15i1R>za1j&E~_FTgK;d=s-5 zjX97UeW3E@yv4wM5V%XD!2R1e75Eq}UdA_&Xh*cPHj{EoU%!6JeM)BkpxVRvvMKoL zr{FLA`bc%b^c2o=YO6O>2&g{=ZIsbrRkk>VmTU@s0;Z5?&iT>kTah2E)t;Qc7<~Yu zcW4y78=?;|8oSEU9wh9sQFr9HK;f~iy2Q%MgEt?QHD&yGW09|YBu=xHu-#QJNH@8b zQV+*@p2Wso9cXhsLkz2xMK6;2xn>>l|0_~PZn&%Sxj?onuJ7L$*NcR1iYWcT|61 zD;KxWP%q0?a*}G*Wh8l$r1paJn{~c4l}aD)q@IG`7rER$<~`z{*(pj~-oAa*-p-*$ z-*?1~t$_JfFyD$sz7?YHFwwUXzFXJxt!U&Mzc`lq4r|u;o8##>mNVuXznV5dO@zID z)hAjwwr&(aYcT+o7(lp}W$5#I0km!uKx;B>7y?i=7l6l`$G5x2Vs}rlNg$;&aHtO% zq3&pIrJ;Tt3)JMxH1*eH<#4qVzI--*toj(I6+~hxL;Z&ft z&hsJKBy}%xcbM9Rs8*?z#6j6!vpQ29;-)qxy~Z$ci@bP}F|ONs^35#uN?D{$f^?CO zV?mTKeX2UsqGelNHY#iUq|w9DGBrls2l~!;EQkrSno#&wfXAtylo^Nu<@+d9j)1hsDr!t1vwVP(d~Blr1b1?_%mug@?@*V zA}^f;Txq{WIJ;W?6K~!YC+0z-D{dcQi)GQyhO=Ca12c+L7pd`gHVf6EHe5ThXO()S zL%Vth@FE<9Wa#A>R}%Y~`e*01MmJBAMK=*7V^?%rm>#@4gD@B^oUSh8mmY(^Vx)}|V47S~4a5xQ?ycbD3>7aJ(f%M!mo zFxfXI!Vx)WXYG(+pBI7C+FolhRH$Cp{t?F)wAYW*5*>in|VG9&Wj;h!2r2SEKqEB}^sgcu0PJ9#N3mG#+zS(8SLcq8%B zu)c^^-Qg%-&_Nh-LhWHL>3|2|)Qk=;WXbnxE!UA8|6aYyxuY>#uM!OrifWz6xbw*F z#}(>qDc6alUr~4G;z_`d>gmq$Mx}oZQR{t?;0kq&u;Dy3$fY0Dy?Fd-O~-2W6z9%H zh1Z78X2Eq4cK@tCF6FxD9hi6ZvUE1n>yT>~)izef4AYp%S3j#e2pzAfKfxd9xT1cK zI8>`MiRLQg3`?6@{eV2_*w%r(s#Xs)e-~Z6kmz=3!h~@(>K9V(U6OZK{W1Q+)y=!= zLg(&=xbh2(y<)T=z`|~Gvh0z%jd>5mRsWRjeNP=?6=SGG>SJ|VPSz8T!t3!w_MWi* ziTbrY*YmUWn*Gi_>usq^@g&$2@1DB6j;_KiPGiIQ^`h$^OFtZcp1G6ZT+5%wqG?5z z?}#rZxl!>l^1eiq&-K(FX#qIW-hZ>>7)zf&-%xtNQL33O;d+s!mYNt@Z)_B6U7Qe^ z&Qi0h1=pM8x@v~w#~oKqKgZtnmh`d|r-I((zmqXZq{vOP(7Bf}q(atrt&rlFZNd$A z%}L(;eJ}IiO~wV=n=X`GAAA(_}JHG{m;CK`P$PG;q3VyKVa zkkqkHBO86FjZv~sjm?wstlI(0g1&eqThN}Ae4OAZB!_9@q+DO}sao?t+0r*Xf|pm} zrbaW?9FJkO(oP?eBrevA9EsAn%9d%3>!>)gSeVgH^8wFkgvuCAoG;f;u>DXY;kkaq zAw_e|Zn>eqY0L>EU_ggT;mknIF&CHqyaoOY_tf#3*8bfb3qG_-Fw3_k%Y*z}gwjcx zXx{PzY@3ds3>2PZXzuc|m8>{HR^pXQbnl2pqVX5XL*=NQSX)&jI7c`faYkJ96 zXE#-ISfv>#``j2-BQ@KZ(K6z{TGLrpWbBYeBKDta-j%IUG_t&oldUy03~8W|B>N(< zkuaj4y-t%N`(J};3AyVvC7f(s{VB1z+HKSflC7^loBDHg`%;r6D=|(f<5$fVE=9;I z)hML+vR=Y=%~jb3!}=ro(SdAqARWbDuh_4#Bafuot?trcld|5d+Kt8;Q7yr3vnF0j zh0n=08G2f8PdK-Oj?6l&IWPOt7`|R7x0H^=m21w(ws3|t=ttTMY{ZVVaL{fc+rQWN z%C>qoka>B8$_VE)7iHUw-K*E$e}az8yrB7Bw%wRs{aQ{HGUVDC2`M?JaU(A-X%5JC zGz=;3N2*$UU2|IYRfCYY;bL0Iol8*d6_wyf{%fz@L|WX@ILme!Bhz~s!MrTI4$;f^ zG=glmFkbSMFZ$Sw8i_Y+dRC`Lc->{I0KB}=SD%;mk{m5FoS9Tz^ zzUuzqgFf7>7S};h_DJjC0dE%E}tVCmge(M#g(}?=1Jl>DwL2ZT9|D~t4f4dLvyfc^;5fatwp8|wF*5y}GMK={5C~Lh zF{fjmY)%3dkdiL#w1;HJW9m;77tHzvLQZO-^+$U|RNkPcajh;2gtvphSDg{qiH3dj zRWuD5BX%UayS7~RZG&bKCUn%#wYT;c*>{F`#3D>*0e{dPmJjyT?vtG|#zr3q1>X;} zUcBu44-B)2|4_S-lbtqZjLym&_ra2dB)}z7DU_yY!^|aFxK+&97Z*$}dqp|Xo>Y;p zL$v#46%8tEo{ht7E~(Cp4-=|}!jB{ydOf#m@OQX|YlqpLna#XPqn!$7kkk*gY2^Hj zE;i)paBYO_tT6@pJ?_U5+T+|TvUH@jx9nWDA-{&9)1>!k?YpucWrhKLxn>GDYqb(? zCdnPAZ4K?pHgRf_RNN+v>`vF36Wj4xC)s&p-%uS3+z(6U1?lgHu^P2Dg2M!@l|(XI zI*ZP@6)E=CTJQyP$UEuyO}Z_|YppoE*3$!_xGG^28JDS5k$-(VPZV}f)=tH*FibH7 zRJu=FEc`H48^#9}euo?EOvBfDy} zU4F6KI)1L1&}oVGH)*h0z1QUY51i(j(Z>*}EiP#t=W?Eob9v_$z1k5Qr@#<0X{FW` z7vJyr@~z0$m0E?AH?y@MXKr^3B=)5pEX)g1picNz+Bu%Kyma`aiBpV^KiA&0t=_vt zIJ!pbC~YAzdUKk~k@DBbtma7vD|6gR&Xtg3eo>wz{zf+`>G!0A6Ny=`{eW1l(YBCX zH?C4~GE!zvYQmgUG#9vDTOj+@xEe%#bD?*!_8ZG^dQEM-7{zQF+;Jm0=8f$Kl7U;b z*0_!yxm8;uyOCi?IqfO(&o*r`XCWkR*TzV!Eu`sA8Z0MFbMaSNe_U!0?q-v~7iK!m zwG zjW0~6_R`C=znRN!IkIr5y-l11nuJU3=ud*nwf3^x0fu139LR+0<=O#~z$mF1ef6E& zAHgCQdarpIPIG0_@rDW1-s$4wP>>CtbtWdk&GV;D3%=7HlXzS37Sl!!&zxlZG%x?n zb&`Ii{ac|e=Q#XP^|M+p&RV!~R;!d)TfdnSjJpxlRjswHHLj&$eSQ+P9(!IpN9t?K zTaC(UWdAo~Z^3>E$-Sv9Zeb%%0q+M+bFE3q4XvN6(_C9)JN|C$AALyw{H)b+K6Y}$ z#5GRNaBZ)}b-lCo&;-Z1Em)W>nhUcjon*ww)9qc&Q-NS=-(wKR1xn^FxRO2|;gCzeDhX>Dou$>%>b)=6*MO_=jTL;=4#A|h0H{aicQ9QN^vpr?%+K0%r5j=dW; zbrF$qHlEmjQd1}6z4!>J9TgD-i2+85a%p5HiO)3mAP$=%BAh*qss6*bpX=Ru?Ozu0 z%-Z0?tC0^|Z{8d}^iIx+PQ2?>q?Fgb$9&yU(zGY+ge&nClaNn|#d-8=(gp~!W3lhS7 z*ArvDU;4tg*03Mxli`o#@30h|7rz@BXmC#Uw2m-0*rc_#4L}`6h;_Io*1^AF9C91~ zdI2}AgR}9Ii2Of|XRJPez~-w_nHL#lWvD}7J-aj(t`$-AL?Qwk2B5D)BOc2|Jub^d zczfi+xJ~Hm@U(sNbqH$YzC|!^F?@uW3s)a87eUR0(ugO9LXPz`CRPl^IoP-|o@F;E zPDsOrh)y*$iJTKOBP05Ah75%?3XuyXcSl92Y(naV)o48$KZwZx+p&RHIa*@6x#&vs zzlavRfc24RY>eVj#`yJ{0DdLJizyLm8+kof`c)~f7gNJ-Ais`A^4TUBL~2Jz2twp< z5xL@)gEgtNF-%NZ&xpSCVI+AjO0R6_O<(#(JXZR8T$b-JW4@mo&oq4lcu#A-0a`Z- zf+Wq2kP`dPBEoH2HxoxA9*d(Mm$jh7JY*rILGD!zbKl>%^{N_$z^TdI4amBxp?^6T zZ}#X$SwFiP{tU;QxEE>~u0C^C_8U7R{xi5H#TyzGTuVCcLkTnuUF%EGh{vX0kIPD6 z{Cp(;m8^aO1gkHbFF{1TY3chQlGL3<5D|@nz^4IC_d*%l$XMS0{Tg`)sPC3*Lyyz0 z=E1J?#bl(^f&Rzk%`+;_W(VBMCN3?G4`&(R9s^Km7fe`%+_`BWwUzlO(k z6kW+a#tkj1@od_Wmp@~Y z6+`T9qj93^xzaD!`hss7=lCxX9o}55>v!x}+A|kh7*=R(BL}u|*d1|T)7&`Iul_ib z^uS0bo7jd9_3hG#$J(VHmsKq74l35*6c^OLHQy-h8->GlApX)wjZOPz+&AJe_w~4} zTRRwXUr^BCJ6S&6=_)mQC4oHNE?t``Ww#%x-?) zABoJ&y{F%H&bjAmityB}ERq&fPT&q1rG9~vy%Jne6}4TcT}0{!g_T-9K0{qHIK(o; zONatya0-ak^-4!Cdgoxr{9TY>u$iFD`7PjO&CKp$d9;Kt!AG z1R`YL3Pkjgi0}j~+EiaMvc%;Iw@+7h28lq0WfD>muuM}!Z>tUedO5TWSri5emlfrQ4h99|8jfoM5W+I%OFBKuYte`S&^Hb@J0*%w9E;rmyM zlEC#%QC~dyODD?ajnX{Hxdx-&DjEur2XGeLwYz96)XWTzg6hLXef@{R=1r2NVGlbE zsk@MOi?B$uO%E15MZ^3D@jG!2BHv*Rv&e%*ujtYw>ZIrui(s%$CjQ(9t_GQ+VAUH% zBjMM*2w{#4>K1&(^P9f-%Q%y^ z*UeINi;#q6yE%NNFBd%mhYll9iEl)QzwY{=Xg^2I)+6|%TmUYL#UB?^Iw^~$S&DY~ zL2s9FyY^WGA(}2>hlgJ-WBG$)*hDT6p$X5nu1FHBKO)AdeeS8EO8<7J*&h)TMe{Hq zi!y=0>!%Qt+$`{!&~wNuk%Z17;dw}u2N3@jzvM-9H0J4{c%YYBA?}c-RlNP^4Q-_9_73lz_9lbnS}qkynCl1O@JIiV_)C z3UHz^NdKl(DLfHMWL|xW|5Y8Rw5ajS5wS$jiRI!GVQye5&$L8%PZH~K?Xg5Z0F z=;LI;Dz0HksJ=lKr{ctRAWXl2IWLkbbY2>PST0DkVkQ|TQ;saDRJV*Imp=HgT0^8h zQB92ujIF!i+ZcV3Y7`#MgkkK^!u#p%SoWEv|V@p@}qe+aRoP@fpjHYEWt(n%?P{jj& zM^Xw0xF%O0Kt>`w&>ev~vpJw0Hc3!vTBg!E*iooYX5JH3!gJLY9FfvA*jA`dW8Sxj z9GxuGpH_{=l&j6WhK}^o$1wb1k=!Y184cIw>Wit-kZ#i#pdia^dOKAC8*KWwbrsUY z@xdGs9_DW!!;4)#2kV!MVBl)8-loRD(HP8TEBV2d1gYiv420z>*V|NM6N6$dK~uT@ zUENp--eqYIP2jOb4*d!V+A9O}!yuwuUnoGJ#>0wo{Rc2*kX|;ya{clK%le%hh5g>B z!0>$Ot%6`kpQ=ybAvkH>Mnb?x5u)vI=|~DVY{|oe;9-*%4!zt{3olmc$EzoyF>i|I z@8b-dre7(XA!Fg#6upg^q-~i*wrw~`|Fd5b*yri{t0pG~#f1_0b>Q02JCnHAtmt+Ns|WNdO-h3s>WlZgXS-)nO3#H zzf<^+WH&rbRXk1ItH`loCTfPiJkdkjGK<7TW@BWN{{}zIA>Yh}T@UD^)$_>T)nGem zN+Q^vVLmGq4V(*6U3gO81;+2z*W%qplHQk*vX~CWbilmnl?x=_dGqJeyyfq7?m>Si z_-eO4IA(^d#}|?^#2z@AJglEDp{e81;G*qE^QCCEz$L@AkPD2>%b{sppA7cgBl_*tW1(qI=wPFtHGnwn6*~(h|dQjHtu0z=B zhBQ_AVJ$x_YZd;aK7qM8s4ZQaiOe{XTAtF!2Y)L}wb1mXg{52Ovy+bKCk2JhC$VeH zt<$vBvM(Lee@ttag+$|3B+PIiw>#I=Xj^LG*m1o>F<&_wHpS>O;EkgNB`O=qg#g!S zYcAbV2OD41@72{wL+ZOmk(j|J^slJvF_m*u0iT>$a8iFTxO07*h9nH%c)s zSBAM&0*E}P?;E@@#MY!D2q&D=_fX;8PAr;R7T0?qTqw)$4Z8{*YPd256H&6? z&?jl7l=NmXH(KC%5nJ-MK8R+cFX|U7w2K7JkwN4WGYb~sjZA$Gks4u3-Le?(E*v5E z0>+X15M8178+t7Vi48rkXJ~fdy9fsEyrd5a79cEX17Rsbct(O?CaWz;ublKD&i>5L zVm1wUFY7Nczwmbk@p{FKEBNtOL0y?-cQJ!vew!nRRM+FXyu3Tb99d-{@yjcd!}P^^HN8xU>C7eFgsW?T`8an7@OQ{#Y{U7eK*f z%p<(;lU^Nm2Y)rKFUH{S08KY@D&G8QkuH$7td`~sPF7F4plysL*$&UYB@1x^agj5p)MHTZrn$al?=GQ@iy~3NGjFY`Arha!Wr6Z2uV$ zF9oh!)`)^8>5F^lmX$|`8ln^_Eh{^MsBKw=R~oBelU0E?^xkr4;KaKn2{Br?bbGX= zg%SnL<>)L_8pbObcZ#UZw}TDgihRtO?_RfHPE8SsA2kgnIYv#rl+hYDMMqTE*3Mg0 zmq&hHP&HE-rtuDd^i^RAkQ-(Q#WxO2VTNqXznKzd$P3R@&c<4Vw7P1+g4zXaU96#2 z5kw<2ja$h^Mj2{USd4f@jA16`EJr39Dl)uwLWjn!BA3M0lS^W)S6;j|WyAGbe=Jp+ zHEsnvA=c2M!26{IC0fj2znNjkp%h$S#+S$O;8wBo6Af4bkoz?o!cz@n;#+zC+$sV@ zO$TSrsi~{2ty{>}#~S7G@p!LEEmZp2;u$RZuIZU&HqN7$>mhH;7@M&2u{tGrjt z+DQ^U+NOodFf}Hfbb^eY`AO_=`Gz~mby`oMp$D^$pLpFWi1?uQKA7Ii@H*zNLTOzhNf1-HXjD9foY3bknqD13&sv0oajM?B9-4X^ zvhkv*aJ{}|Qwn>ew_ylHWk225aKB0wo}h6@zz14d4{r}LL}0SoCxejO2+Zz6M%>|0 zIM|S;i=;y{XIIXjkvF||M%4_oP8^KW2OGMmBb8xV{Cn+SL#j%HptNvsuwgh}@%(eJ zVPvV6K&cC2Xx02hl?_!|w~h|uj5cr1{Kd8Ns%SO;uf{!!j>ufHpt7#6YC#_Uzq(Q5 zuAsx)d@~ky4Ka*UMI)XVC{3jek>Q<`sxY-yr;X9ZYu(XsZz`P)bA}pn)iH=VBnPg! zax&mTX>dr4nkM6}WGGr^C{(1-sStHBDiz%8 z3|d7hodjQBh)RN^_zACtzPiqkhF1|jTZjEJAauQ}kf=1$m|1@Ve}So+4AFUJni|ud z4hv0nAZ5Hgw#g7f6$87;kWSg)-AzcA9e&+}{5c?TvmuFcf^oAUH5@O4Eo`WqJ`Xpi z(`Q53I)jcXfkm5fcJ2*3HyaW$hV|@bLnhT1E^jt;qvD`x3$hl^|C7M|!)D%XcwY%S z4)lnJ`S%)PnS1z^3Qe4>RB-i8!)Qp|Zs-N)UokkSe(>8iLkhE%-#55p*^K)P7FyR& znm>R)A&A`%9mDRoc8cBm!~6FeQki>&*)kTe`|s?ZI}LV9*I$CMjT>cJ5yr0f5XO}U zMHmC%`Q1pueZssaz_|P%fgyP+TXtx~p~;gDfItT<>0WA5)J{>l-M{v>vW zRR;|r%+3<=7eD*Cj~MFU!z1|X1HvrLA^n4We2>9K@xSbnrUI@X$M;YB40Zk-qLv34 z5j2N%@neKy=}gh`P=@$32Z7_ds=|;6Cmt=*f$JSZA8O#%!-gbAa3rI62ppJEVMyZJ z)EzJkfcgc7;c#`kp@n&*tOJ1MBETE_4SjU!lFawa5gYSB%LSk;0*$0(4fh4w2PfE? zBgm)}&S-g5v<_aqUmYck`hR{b&_p;3vpj=40*!kRd~qQv)xQmUTy7|Tu+KhAS{CN^s)*?3q_OlBF?7Ei`>@$J(go1l1YXlu7 z0b4R>{*0;xQeJn9;I`)N^bhuxOQ<}*ufFA2pdoRxd-Pp_%5J4}v;?@a0m+SA{=CcDnH4LV^$ZrK=dcGS!bLTPls6^&MNI^f1yPQ4pncUQDni5)i$Khs5{#q&6E0hDRoqxr2X=Mrch#C_)RRU|T( z5TDkK9_ACd(Qs%cp2EM`R+zZ;2SYmZvLsO++nA2AjcJ2zOdD+Yna4IZk$Ja6Y*6uw zp)2!By=cJP(ak-M&HL5xLa2RQptr$2PKK`;xs!ixLGHNE++_!nmw!fU%n8C&68w59 zocyo|tAu=56x`we?ok^vVn>toa`$-TVZ0J+T8u{f!H;lOZTx~cBaK|{^y;2~r`IhQ z?tZvu9=k2rs0&G%Ag2{+n?Pul)6zpR;lI*h(isczwk1ag%-0!X@q(I}jW?Lr15A>3Phtlq8!^k0zn&4E z9+J)(M-v+3Byy$VAahnSwQmMG-w1L~MlaBv%X!D~q736aRorCsM~cVuW>W5EJRVJxb@tg$>iz=)07F5le zv#_B`x@ORFL7FYN8{+OMY-|tXcr`Tz>U$Y;si|;(FJrQ9y3E_E=!E`T_YBZ%F{cC< zXmgb58g~`k>}A}flRVBXLPSQ`sIYduaUM-ggGY_Vbmq-*B8@!CN_Ml!_+gNyQgk@s zplZRHr4m*7_Y`0ueiF9mp8J`cWp;b7KE@mweRqkh}^N*F|4|(a$y5J-^aKY zR`oGzwvC?d*b9ss;1nmus+5aqO)I<06WE!)IKth@UAF9u{YE&kSkOqg$hz9XZ^X8x%a7_vp+4_h{onW)=cl zkHBhJs=}BZM9qSmO~#qjY`)~o)%WtdL%}`9T-_Y;ibKo$oX#}vdUnWU<1H#|CU=Ss znSnFgEI7Qtn4algMTc?~;ik{7Tws$t?kz&(#~mBU5HpWsNb8>4o|k!Tc$r6d(YmYQ z!cJpBa4pYD9sD%Q*bq9OV@2z(Np!*PoGvk}Yn?GP2p>NlWroX^!D&<*5x&OtJTIs8^B1h{ax)j`v{#y#vC z7mXS^#Jv(%Qtwn8Cv5s_#vc?~_sTZhtb`ly81IO7`^Wreg7MU|tKKzQY1+M#vzB zZ26{Mv=YBG5v8&XO6~%sj60>ko!?$>h_elmC31(g265n_C_O3(nGm9CD@t`6Wa>8j zsRd+y8~RSzMTw$ROQH;tkbR#aaK_hc@dUF6-#0c!=!9F7yrPC_J;At{DmHpfjU%;jLfXf8l)q+5R95*XO38SjNs10v~^29E~n@>zBs#v=9uI zqRnOaXMdVg|4WA2Xj60bhITt>`#%V*YJ5#iHX;ArnO4uPl@^|@us_!kuA4GiZMFi ziDZ9CHU-nF$V62FrtCIaV+mjB%xY?dia;S?3c>N8CJLeTNNEZ5Wp;VK*Q zsuzYNV|a-8<)peIqqUwWZtu+(Vr-d&pV`-PO$i8szuc|NGijKn1ktXj{(WDCPxDNx z#oxU>O*&?cFwA4Q@KKOQht|Cj6LlW$nal z>1~RGkatS7Di1?Ghnh`4G0oBhK{o9{o@ktgH_e9nm-}{OKew3P3@!?QPAeMn<_oO$ z&>||lw~Jg8R6Li>bF`jl7EukN;$y_I<8Bc*e?-`^?1;XmL{)GcS=h85D!pKb%!@wWq-G( zr!;;p&NZdb=nlVLZR*F|B@QFjUSm>|uO;)2St}bv!P6_NtMdz|Pv=GRb&aW<;wOc5 z^`;VLoiv`_sW(N?5$nbAL^Rr&{cfS@ACxLRLF37Q=NFl5=!Ji+Z%uZAdg59S6Iaus40t13bn)YtLZTIdLX13GDskoQ69@|HkHzA$ z%OzIC{_{c8avGy8rH|lmJLQ7XvkyOF>P;*4iP`CX5imPNIkEZsOy8*}1KZ_*=`A%b zp6IL@Q=9}>*J1uv>QU3^P=m55nVg|DUOTKjYMPB-=LwDQ()8Q2ebWf+R3B6$qWR9uv+{IxKCg3u%fk(Rj@4 z64vBoqRsMsOh2v1OsYMf?Crutfn_*J)sP=BrcEro3%}T9FiDi1FQWaHNkCpxI zHPb5!@q*WhH%yZh){rPTT$mFJ#`C5wSUPe1d6N@kPWPQR8Dn>g;#BI@CCD1iR~nC< z{q(%4o=%Nbn^jtmjrf&3b~+4&kc@S)-Sr_uv5^ZFy=j_FIoQi@nt;ZC7r$kCgH*8Z z_b=0wp!Ta?y9F3`%}#jjs_B=6zO=HYs-|8%Gr0F~Hlp$LW z6+vTF6b?vImLPUk;2o%;Yvzg5aj=sHg;;^upfJy(@a%cN(rn8ZgpM0bEUBDbRXHPXkyHxPeSlj|HJ-ujuS)ZB zg<>G`Uvkry8tsvC{M`rn&Aw+aXk7M3Vb^!2Ty_;>UPp_qQ&Kb@yjMkH7c$U?1X=sL zb%Equb1{ zFo9<_EX}-3WVXw2K8uEDmUtl~;7{?}H5n@$O_SNE&gMR}VwlAJaH-1?{$x$M1ZWmq zEBYx}rn^~3L6`~IIuvEDfYrOT!SGyHa~?H<{j955OUDi4473-Q1%-PP&j`-WkcV#O zjMP$^sjI5Ou&$iQqx@;^_89k2K_Zm-HgnS6i@6we<{)B$6OR-daX&2>rC$TNfQoBn zr{|l4C2mvFG@dd#m}oD6jA!`mbz4~lv#3ARyFfsAOUqC29DWAn&0p zTHH~Ex*UsS?k<4)?>EP>8+)6djN*&k$HX+_1W_*AUt*C*PdR6duzHkPiBT8#DDwz9 zZ8ROSXns3+3Xv)tYFNqkC5nA!jCla2>Texy&d?EmJ@+Vv`?!D9bYN~@k2jy9@I8@3 z6V0RPgmS^OxD23)T2BQxRhMJ7OW|>IibCTV3yvw~SVo9+wKu5NXUtE*jx2L5OrBsa zXY(t~DmqbwLT1-qxa#pP`%H~z3_ErZ@$t{5W#%c=ME2S;^JOY!JRQu76(v29Hb=@N&H!-2i>iUoWnh3mwfUms_+hYEipJ|h!E+$_E zzs6Y-a8jIv8C{FGNl~QtCBfDPgGg_+f|@`mO+ZQ~NtC|Ktu$KCP<2xjd$Y=1OR;0O zo1HW@nZ5UZ^Xv#1a5ri#cE4Gxm@K$7Sm%E8yTTmkCnG)`y`fX+U_wX0XnIvNG-8gy z=)l=#PD5|2XNp9_8DS>wa5Mv&;smfgYn}@|j+pELkw8p(>D?*96V9#l@nDc2*>cP}kV^_cE7&Bd!LId8=511nlemR9 zBHE7zZbDE0hZ(QajW}U`Fl;)P1K8XtJ9g20HsfU+vvBH^xi>W#et*fFjHmSJ0s=CX zC(pp_{Hi4wVV45;ZsBc++hcl*3KC$j2(mkBmn;iuXbDnsg8L0|JtQvc`YYxGY}grd zvQne*%;XQBvuFyB92poMx@<0liRX~CD)bYqtJZjG*rs!4E_|@=k~v*dB@cw6{Z_&8 zOXf7HioJZvjHjcSQ2D9ZNmaqtcg%S@sUDR30w2;rHm+YYjox}bKMHE^$t&d+K)5kA zuPb}>UGqDN$T>Vcb7>0CNf~;cp0gjAH9@mOqHyZ0f>mBy4O{w@WgT7-^2{L(^wMw1 zR}kr3X<%O*M24!yQ_oJkVt!m1JdX!n4Ur$4%aP=9Z<&9msCgpEScW@0tXeYNH!Imo zpPDBq@CBlRFU%&U76r04Sc?Lw`@$TrPMI%r%8)TFcyiHPYH>$#{>Q#C;F!}7U*`CS zB?KwK}CCN zVdwAWY@L4>@)pON7J1`(VeDi3&t?mvAnjn?O>+qIHaD+nJd4=KU(6K>rh%pjTn!!v zHF@0v0ZR$+?spn_aux}I7vGa?k>LLRGs68>3@_Hkdp26)l&JK4;!)Vc*8IcD(h#h) z3=QK#8d}d1)S;P_vhPiK+MM^8_k?M^5z>n+!aVwMyk!Ff<@Aij4CETzt}kPqYRi^L z^)lsHjpq)&s`uA1mKaPEum8ZDl(~{uD4sU$h$+5JL^KD}w>>K`gS>|m4yE);g$H6S zIs!|Ju%3yvr0AB*1E|`QZ+`#N8(pd(vsysK9q#$g2w8Fg!>iSLs~2Zg}5lK}0O#7_J0E zvE?rM(=xVkAc0rrv`pee1@nelLKwcFp2i!&t{iHaNW-!+izPJ%_ttI8=es}SM+mmu zG}JPPh8HR35~-j%zB7yDa7+Xs=r&gB`-COX4=)!cMG8(5eKFp zOWo95w~TlWVSDO?fRHzWoC>+?q){;cyS!jX8Ps!JkT(*qE$*8Eb?5W5SZb_gTQp`} zmukFGWN^hQG+qt4PKNm^)hIVDTx_(JpSX2k}im$ zGBvQf#uBU3wjEYp9T`?5$*>AZ;j=!VQtSQy0K~TBf>|rl#v&^PoNu$NeB;aavXD5xf zGy7blr3&-D3KhF@Tcn!Sh974rTOH$MLgzI z_Q)#BU^+Bez^wHqv1QvVpWsVW-W0gmY$?$s@MqAWT5qx+R@Z26iUjNjK_aRA?zDEb zWgA8L;iSV}pQXPHPFesQDaX|Pqad*iHUcbJG)%h7q6^Ior0hQwOk0P-=z_xVHfT{8 zcWk$WC^cQ=el!$D7dWxWGBPNWL)C?2A6%Pp(Er3w%w9jS%dy4*!ITw0FbSYIyA8$JJjFR2f^0%@A@i$+w;?~V z8>rB3fuK1$yTho5k8hj{7%$6XDGO?jEZ*m)-Sp5T1U z5|4|!I3X}_;y?L#B=q)xdmpphrRyQ_`}-W8G7(N54@Z|r#%E8oO#Z^CUhB<=!b|yu z2%`YrJY?AzTOh#@E}?ld)J-`+-hzR&CoS)y2gZLL~ocJKaes0~O z3fb(VmOc@fd_V8Br9@FkygC2ui}y56TT(QIvfb+XMyZl&+U#uD66Sp30WJ zWZ8t43W%?nJ?_n)NzA?o&cA9Ig23^~hireX5Kog}SH^4L*CZokzH8~B(aWg88%AC|RK9CjNE!IIhOU0!D;`{rMX2HW7nb1= zHMEPGq#UW>@V_h>I_c3Y52iBVu2zdm`{ZAik5r~mDr5&}&g&Ck!#5@k`_p@tQ4#n& z&XCV7qapcSOB5XX+>)sYcqnIu){F1wJdA$6Up}|YgiG&Qw6Loze?I^N%+Y^`XP~`}oY;@M;E&HMCMzN}UWY8? z?t+qMT`|z|yTv1xxi~rd6D3+W!u7Ro2a6ciIJf>Lv^kILv$D zpxU~ZDq+V2S?2}g(~74ftsyF_6C;@Fnboy;!x~cqe3f|5sdn02tYM5fhBGm)PcF>( zCeZ2`wTq@zSK${;{mI=t7gGiGj3zJho&vQAHvXCy2iG?{62X;Y)rb#`;50ct$NHQycce^z zEAaxmca-dlHMptZr;%ihw;wq3tZC@RpOR-SR%xfo+L405-b&ct%NmatP!12nfBLhR zds(w6^2lP2udTk5sm!OArSgiMWhI9#_`C+Q@o zv}ZH7AJ%wFVT#>)idE>XJCxA#v{eh|ds{=oMi5fElW@CtC_HDg_EKrR!!ezsezh%| ze_U;NA5^VWzQ%L6upE@a@;=so;xjU(eXSn^+sg@@JRS}bhWGj=B88cJ9yX=*k{4zq zin-4`#WHLghgl@OHx|do_SJgJ#cABLMKGgM zz|HYtoIyvk$s??n)b=riuKe56HM$L5qXkLI=qhy?Lt#pVH6mv;9tgb^MC;u8t z=mBAl;gEfRTmR|Si%AnXjFtE}F44M(QR|%$G8PK%aCAmrns=f^@4eml5n9UUiFmQB z2Hnz^pDnvoS&Qh5hhHhe{v}1L{5_ySv^xnGT&BA4O@rGZQr4SrF1-b*iS}pVMJ@gEbpdrx!O^b3&(M z?t#WT1HZ3=M;oj?mD9A|8Ss9CH9x2df6{tqf@YD`l{|~&C?sZbuEhc}KQ@_^c<7#u z9p^yJBC8p5efKP~uI@4i8!DqT-uXckt*&gSt(h}DtSb(E?_8x#i~2d zZCY%ds;tKLQ0BHK;A7U2ORVO&9o%+W>n$am;2TCWt8q=hyVV&htfT3Sxq%dDy|ZzO z@y-_zXub19SW$1-62N(vH7((OKDmYmXu$`us;5`YK`-H~zYFsGa;rIF=V+Ort!&H+ zYvtdd>hLP7Ir;%UDTgPhm}qk094K3Foy*?xS-+zGcOExf5qQ+@GRUa15s+;CUDmPx zD`m=>PKo_t(;BNWocA>HwAtCiZtKLq17sk{o-sr`7$YOc!LIjNC;c5LgLx#Z8)|0rT2mf-|SB0PPc)!wF;?e@k;(RNI|nI5AA$4+Zf z#KUq6EMe>K{(C|l$ushZ-12&}!?#+a{thFU68HBR>ABr%j@=`-*FI!UtXf*v05~A$ z?)`MTwXJ6VLM|CQt!8Ggux%~n{Q}~%b*pi;t7X?eVBM)sspYm!ysKkPq1IbVw*Jzc z9DJT6N7Zb=uVL{X>zB+vX;Q}1#QXS0QU86`$=c9*e0u=ba`a}M<=z8@*PpXSDC)$W zA*O?bM0@{Yo$h(e8kf+FJ1K34ttKC{#ut)$t^5jKpiRW=)nwc*kk8G;H+tJ{m|Sq; zm^DUKi#>AS;`or^uxqjU6S(?Vfd*1vuqMUVOUu?{vO(Zoz?QvWy+*4RAXBfBoSfd# zkIBs2yO3kKJ2Wje?P33T!TK9Twnz?iZ`Yi*_K$d6W{2Je_T*{n5k>GKa>&wp8(_sN zI4dubGJVoQJp0RpVGQI#k=lzn`av6kyRpQav08%_i_t$q-u%horGQ)ue+W{;BkL&t z#*^%UHeIyF$F-AM2;Rm(ZJxMjy~rHU5TqLKQn>F;>yy+HcGy3yU#n7<$UQW;lU_nh zL~atDLxo)$?jM#w%fGBIhaTkij9TwfbscElL3i^08`d7M>pkmyY8e~(zIC*c_O61m zakd0iDehG6fR-!Pd03C-#uaO`BC}DprCNh$KH)Q0O#&ZX@ivCwV|#B*>5~jkePqo_ zBED{MXNXCe-et1mmIx3zfTR6${>Nzxr=W``Y{@D5kwVciS#Cnsw#FX~A zH8E+q3|b2wc9#p#wB8j!eQfQQ5JW2xnv|yRc~aPptz--Tv|^pZ6E7KAs8bX>;QY7N zZ#3RjLTQ2J98JDXuz)5^1fg=oL&4BcQ3)+mpoNdlT-XYO$D)oa*J(28U^O& ziE;R5O6ya?)?UT^vlSt(ep;UbPp{&So)oQ5{(6%)20z2eisBRuTow08B5@LN)U2%` zZTV3{>^yQzaW_g0DHX-LlvP5vg4AxLk-yV@Ssiw=j457(RQd^dC{KWppY}+7Ac#F3 z<3$j4@P3OeH0@wvV248lmW`>5P>Bl5w*}yC*4Q!9G6B9 zXZB%i%{|3i73^J;iocBE#Ti1YLec7X{iPfS_G@F%h&7C?J%Zc9n}MIVE-oIAQ`5<5 zcy}bJqFBejE`Df-$rZ)uJA9*fY?9nocQkTM zx!hSYZw53S1?fkMgZYWDbAZ8NZX{yp$lxHcqBxr1=}m%2>fju__=<;PT>FUeNd=BP zCxm0RV0@8m>eI#R6@W5(f*to<@k$jtrKR{-h-i(lY*BFtoxS|_0?br|v=bnjN~BzX z3Gm0F;z^?TOpP6iFETW;t?bN=#pS%qwe+cCWuO3Ygk$?a0gCN4G6AN-m*|< zJ1I`v{A8&mR@0OqF`T*y8P0h4?=g%Pqm?t9fkkKh40qjJyp`C7wk?1Exx2UuMm$xl z3Sf#Ps{N#ty? ziRxg==}6Nta>f(1z8LvXIe6qYx{e8y#o-RbfEvbDaxpy1OMq7?IFBM9-9$dPDImW6 z6oBhr0>A#n;Y_ga_Ikw`wH zSn@Zm!7Kl`>1jXK<2%;ur1KqW)*nvw2q|#5BjEI#^xua0+^@(mZ~1%D!C{^xmkugF zNiLo28@Ew@Qd@E5-1y6Zj_m_wCbky_Iww70peITL{S_v_Hd5OR^oU>^4)p!EXSt)9 z4Gkhy&TjCV?F*_4`}F|ZJ(})aWQRq(SLo}aYzpJg|1e?%aZLA@5EuArCt+^wHlRcmTP_4?EaOuRw_7$+>6Nx!Ia1+;!}U4n^AJz;|)Y2TGLfE+hOm4MhGGYpMzVbKSN^8UGnCB&Ei1?ALMJ59JX} zQJS&LIffIt{h`Baiww_FHVtg^t35RB}+&z?t#IvkiHlw9ZSNQn0`*wU65J;DZWl2y>D568Z8;%Eq>m1w}R5c`4??PcrlOfh_~?g6cRon70^+qmne9f_q+K_>@%lq!xbtc60(sa zgsls+pKTkK_zN#DhH=pQ?V^=if3k%mg;cOTTb6DQuGMMe1?jvv(D293&&4DJ8>3=w2_G0%?-!rnt&U8Zh_$ANeb{e3(bw2Zjv z7o6Xfd4(HI+V+CO`Gph=67X+?@L=abM1CxPE~>;KJoWOOe8Q;E&-T&6IJ=|cEe6!Uez1% z{Nw+I2d|QGCPSofi(+?2+2j7#=oTTff^_eq;ujbq63jsG^_GV1N9~4f9X!j}cfiz* z+FsIUkO+V{{lhr_jnPE4TLrSG1l@%5u4 z`24Iq$ILlPF;7ck?Ne!BVNHlCI5aXpihVD|-dhnikXxdC{ZJ_vIHd^7T7PzIhP^%* zLt(FVvnNpl;L~pQZun1BcY7MvPATYax5f+%xROvFpN`MkVC~rM_G`#qWv)HXUkumt zAI|PHzQM3N*M3Sh2w7}_jOe27?B*W!TpG)^AMa@|#bTk6`St`xs6>RVG0po$Y6yEX z-`-6THbgyl=alanT(~obe-gw=VbQ%&W7ES?F#q1?pSN zWSBj`ZezZ(@RMK}{|LtLf%e_hNcP4+`@fZmSk{vGuelf(23~z5l?_;o$4tb2^W#3T zp}c1sZ{GPvvf;z+O?1T9yu-{_MqaSNw79YM3v6|n{h}&~uP=z91%C+8rLDxxBIYPQ z5bjt3tFyEWTpnXLFxQ3IvJ6UJu)m|m8kxasqeuyt6gGC8Jye}A8sA3nRbW2scoZlX za1C({(hfjr*3Gs@!|*Bgr~+>Sb2Pk7^z_MUkYwZ8G%YK?Ca9kj4v#oY9=lCVh2K+OkfbTV2B-y&JLD8gNB+LwJ`-~) zr$1p|gtZ<2^@KeWM=!p8Wg+hYsNw3lNHz31VDFbQS$3+t8_%_qiK$5eTpZLH5OLTZ zq}qaB?8)%v0sFFmE;~lwzRUf1D4V=@>p?rEkz?7PMIh}xWbYOL>ELaVhoZa^58LMCkQ`Jx0vd z7xB*^_*o@;<&^yuVs*sE{vH)G{w5U%Ua}`Kzwka;QJ@Q6w!cH_coOWXe=P&pdd6NV zrtynhRI#tTW~YM%2t)rG0+!9tHek-h81&ePQ93L?>yzKgbfXZflv8oGfyxi%;)Nyu zv~OX47Zy4}i8I-+F4=z#`rpvw@LVX8Afd;pbf#=%xY7SIvqSV-KD6H#_6J`p24~x* zOt^W*K8U;{lMWAEwpUZL*{Cb_1~vM^+@ILJ)GRjqQ~MLaDYIn0Fyh*p6)^5FmnIzw zZrFpvu*xw0Mi|Fg)p^4n1L@c8v66WO!_e#Yy(#4VD$x>KQnbF=9YPDkY(V=Bdz}_* z{}GhJ|4BYAlu?d^&ZQb(Egh0sQ#r3HZ)RPCbTQL&YmPXHb1T7ITnV;g5&dy}I>U)C zO4RJFn|5Egb*_wxHRH6txiSf2ePR4ORvUqnds7!&Zu;Quc>hF$4ELbs!Z)|<jztm8!Y)j8pq=bO%1nx3yHKiW7fcw7)Mi>caqRS-Arm9>yN+*g+r-Oda$@1 zF0z1&Y!oc{!jS@{rwf&^ZoD-ZUOeUO4ljzam(k8cx)GhaGSMis6ws#i?=7-nfu2P5E$-pHSMQKKm3wV32 zW7lOneo!XV;rjB|OMMs|>*1IgS&t3H40;o~i!_CfxH#Op_|Tg0|8>IuqmizK?BqO0 zwgM}?VkJ0?#X)^vM=CsC;OLsXkiX_bCImrjHCkUo$V7y&2)-_GID6G|EkbN1+GY4u z7H*0bar-S{E0je(V|JR5Bksmc-XfS>=olGJvWB%jlA??MhZhPR%b2@36VUjUf~%L~ zH8ti_DSZv37I-}TQrtg*Eh%zLP#Oa2o#Jf2nA}l7EIC*xXDQiH2+nLPxg`)X7Qv6i zYKJHLI=aCLO&;DK{obI4(u+=f7Rk3nvetDBZv#vDH`{!Th}^3uLo1mLvpAkm#E}Fi zab8+u*ZLZHyl}zhNWvF1abd~g$|(}ikZN{>2MZ%*DcJitUQ}a=Qq@`|ftbz~I~>2L zOn2~dM4gNBX;x`{cgW<0iB$O6zkkJB0KPk5USG!T*F>$A>zy@MiPJLmk5vBb9wgspdTL5*9vxIJ8R`tQZv$3il6lSeQ-1W^*ZfWtd|i zMf+B;-9|XBQ&GMZJi{TSDDKH2F1Tk0kQ{ivs zVD1l;3LL89iAJe7nFj=$6%ojK3UrL0fpqLj2qag8A&MpeZd75j-QC1yyo$#7=}3o~ zS&nq(K}j;G0F-e+i(9iDS1@(@Zbl4zr2=lGL9DCm?I8^J1$KdvvTE}8$uPBnhF7xPU(pu|V zg_A44JulGWZ5>VL{5<}kwQ+3EWS|-x3CuoG4*Z2J#JcCd_CB%1VPzf_ndjfDNnh?T zL&H6V@oe34$48vGUR~zcz&s`l+?8B27Mm5(#18St1~{`4<@~s)^bP=Brh)|KNrzQ1 ze2pWDc|sVoevmzBc{2`f6uj!jwg*J^$S{zNqQPEAB6BcM!*I|inOiPg^EslKLjsda z;ZL9AAVsm)?sj}lCsFd1wM^Se;T8moXZ6#x((Kb~9oHxj@HXNv!^$-Lsas*@S( zxvw4Zu<`B0F!BgvU*;8YSP6il+XBjo#-l}RjO05=_U{PhXj`KZvZ%NK$hna4K91T~ zr5T0L$)36BIHgb^IJoaEN0OxSHa&B$;!t{xkqelLd-|GVm;$Tl4*%GZ9~u{kb~wEK zu|vbWF3ulhdOS$Q^IhWkF7dK1HQzc$!5yDtm$Sm0!4Fs}f$x&QcOkU}#4(N}PGQc? zk<-N9y6RY?z{!l)5CWaSoDZZrNf^}fd>VWtrZov6kCkio{Ev<#@kMmO-l=4vb8?#* zA-Qem&wfSA7K;9~rh?`-$D33No7>CTUlo_ab>_Fc?ig)riZIueP|hT(GdqcLPF6B+ z^0PYj#p?p+sWkTZAZO3uxU@EX(}ceNig5PAI=JXyz7O_9Iy0F|yb)o4+)f^+TQdaY zd}@gwd4>SsMhrm?n~tf{xP9rtdhJJ6XCT_{~M_r5z$guuxnOQ0aDjV!YK z6vV*l0%r;@kZ0wfgg4eDv2^9d0=_h7ED|+hAQGkSkSLTzGDMhh3-#NP_EkZ83D+ZiTnBo-a~$gVnxrQVQ?7u?Jdo>mewv8sKG-oG)%x!_q7--o z>mhLTRhfwAuhh$LB0o+bFf^?_!86zSZz@kf$&3?G#=z-?q8|Ujd?MIEPbg`1zCz`* zH}^UJsbmK&bArN@FFVSRQI#({7G&!FK6e|k4BdPjO{G3(=ZF!V!XnVmP(TJ*YXMB(i?n^kFORJ~S(Mjy6&vvk>9ue( z*XzE`*sDLe!Rqhzy>cqdFLBS6E2Bx{o$Tz?EV*=V--OrVd#gRblywfWZ;pL*vQxjuin!u-0$oS5gi72uy3`= zmKc16xz)y=dEYsiVt(Srou<{!7JTSjLo>e!_F*U6|3_iv)A`|S{Z*%tW`5;Hm$uao zC9C@V4Ck-e}Hr^P518ojx^dps2BT}TKb;~YIR}tr+b7e;}^bj9tgpTlP45Ku}U;AEFdvgZ&r>Y zf4%jmGZP`7+*BOHM&5ERrF2pd*eg5(&U5$+jQPnF!(PqOD=E6Q1S+pMi{W$HmBg%; zI3g~tL0HM+Vi(u&sB%qfUs)lC5U3A#^;DsTTKkee z$58#)GvThMRan*m+b6<(I#(e^U(f1X-4*>&c2hH5SrGMbuMoI$%oYxYXxBmY0F0vE zW#-=cX4NsSBPtBgikQpREawXEujj$!j^@e&NI-J&* z^1xb>T|ZVe-cBOD9rtrCvp>uavEj5(g+}$;U!btB= zxvp)&njx}T2fawGLtwYwrKg6#+j`gIm{G@-xkR5PI;^=7^ti#5!1y?O(6m;t=L{|f zg|T7rx3Ji%+L_Y(qP{yh1J|?;hoL6dDQXy-?r=3Ju|V)9n=6?rg#$L%v&>x?ymbu+ z5|yW0M+mJ(kXDJfy~PW%H_S0G`?{?_djgP5Z8SQd~y-H9fb*l zT%DP9mGXv=>TrF|w}RchU5`O&tt%Ynk8nl9ib1Ym3`195&wmhBPjIc(YFbCrK@C+) z$=hz|9?`Uxv#*!BCIl(U@!l-@vSYzH*3~_Tl$$8P0wp(-?WwSStm{Q)qp;9bz^2Dt zSfUGoX*8{4Y4x-@^D7rL5?4!WIqbetmbL>S`AjryeKy zj)!VmCqUCe*J>iU2zX|$E1J1S824iT@ooD@jraH0wobrY&idaiI!ROANy0=f5pxEd zoy$p>s2DEJbX|k7i%`cOe*v75Ga z3U9-Ad0g4d4q;gpbkY{XR95YCwJ_?bG7M7*hOrd0Q^Q+aAn>U?@TYfS4SwGiR}Axj zWb+;JP|4oB#}yq+Rl>l>Tvlo{Te8!oq?lce9RaVDfafp|GNQqE2zMIW>p>Sj4?j(S z3kdf^nEJRYhj~aCDuIMg<6-}@-_K!n^~>hr7+ML8FeN}P11(2~a%+0W zG7(k{t)*XoZ|D&Zo^*#o4BL|@-8}_@Cz6!2A4$jwQGg*KXXGjOPRI-h%J3BQ-YIuR z$P+Z(M2GGtFibr@^>6nj((Qw9xYLq(W9^t?F3H8j?AWk924$|dofdj-So zGb;?Du?q~!Tsh;;3VF)Nm>>YrZluIa43zkpjOOzXU^Fv`-+=cIMgvc0(ymD#x;uwF zZIU(+AmC;e0^C&N)#u#XOa!GycxQCP5Ze8=yE|HS9@dO!Obib)aWb3W1VWvC;$C$V zVrJ9U#S88nZohx6*;g;_WW96nOFy}1v9UBTLl#ZuHA3*tan1ymYQQ@_bI%HcP`}Jt zF%_&q#4}Ah(VXGxKp@i&4p#8p|E7VjV8Fp0D%#*>UtXuaC5PI%{@DenR_F+ zqm1wJ&^r=Ue_8Yx`ZzX!xfSMP6aG9ze88GMpLI=XHuIhk)uS2Hz3qA5ET>sL(uRq( z4liUww6-lV1QK-mgAyLE<;AJiI)M-h#k30TF@a zRaHNYekR$LpV@){E&GHu1e%KQYdL#q@su`*g*X3b#PP=8s>UcJaSfNOBXfMT{4;Amh{(=vo5i6j~78J4qbO zSh7HY88M=*l#4Qdp3Es7=Tt z?nasg^ub1CioGZE;voNu=JzjedpX;;Qv#PfYA1;YTOn!>$%njlx>&@p^VK(-}JR&F4~n)!r?xPMK8m>;u8Q6vrpVTqzUi)UIC_KFCzx@fp-7AlF+VY8Pw}Jxx&~tfCtlljywj|$>vQP^q zvrn^;*{5-Yn{w@%6SAtd5q7FXr-P-$7^i<8n$hinr=agXrdsdNT;L+KK|$Zeie2!< z`^9a+X`yV$yr#Jji7KxHFP$1qNi+ySiX4()ZK6E{PM+&4iKPJ8_>!#QYabQej=YdS zwjUvAfn``Wv=F1?4q`cAZ9@D!H3KE@6+;;pSwdhCp$WDk@EnVkD!^y};%7#@UhJY7 z#UW*4TugzWh5CnOCV~cmoe-D_BPXzI3#2TB1K1LD%QIq%%S`?39b#{3K%27VhnaAk zx?hBSBhcX+7J4n5EE-w_e(+iGtq@BDSY)h!L`;CgYU^-}j)_%_nbVoqBGK2!#pfB` z1jKh-eKg(xB;al*#2-T;Z$t1Xwi+8WFSzRQjn{W{U>GHHlA9=E+4PeAfo z49@yYlo=)tr*)FT*$fZ_!R*B2yp70&At*gr zjPhMTYcWQ^&@GHKor%TweJS2;D~P>;=KgZ)957D-qQ@FU7n~Kqt#M%RIsQ~}Hmk*> zO_yN1i1*X;>_Ccu7)s9slb#8Lp8w$9qoIOeESoNig$yVHj$RShvJg;q=vDDa3+&C| zr;5dpZbIukXIhI5Mt}$YCO*T$i|g0Lfx(dP(RjLfs1(B`68kSL(OH0Yd?BW1#_?JT z8)B~blWOO+uc9CL2zK*CP9nx75OnHZ&^rye*3*Um&Pdbj{gZCMMqrsB!(S%YX@y=S znb;w7IT`f{mbx)1Xlk(3+MX(~?IXID0rm~Pxu285tZ*^ED^yD6&e6>b-ud~)o(h}N zMkQc&J{cxKI-*}4QfNM~PpTnV(+!yPDHZx032u;(>U5@g9LN&JIKkCW6Hr<#^e7Eg z#Y#^{`olT5eQXF&yq1n5D0P=W4g2f6g2-k zM$AA9Go)1Cb-53eJClGSLSh=alqn^&1G64*^Mee0_=Sm^Oe(#fnqRmCcUPr7 z%%4xu3}cEK6BRM#QVI9vEIQ~+>@Jr^Tfmj}e?K8yU5p9Qh2Afv{{)U3?^H{1+*j3f z0m;Evs-?jUI2}m0O3!gwu=wxH5VWq?Ivlvd5o&FT67CE|2d7H8ky(aZ(an&^*JKM? z7T6pft|`vn(yP?&&<2tRGf~0ef!m#Ug8aZkNV>URdORza znCxlYjFTQo+$m^zMpVy$Fg~j|LF*2N3Q{KINW@=kl0J2%2V`J1q@R4lTAI$cR@iI` z(6{$Xe*@pk#*^J4NWazt-Lp;V7f~2sDWmnEH=u7tGq+1ot^#^+1WQ1Guy(tY zXw9*=6c`tac;F7H*#cU(p|Fb;;a47#VtD5anC1b#66p75BqtSSJ9ini^STEV|P1514&L}vQh0v-JqOOX_U5@IK7 zhp`tGFNO zHLR9{la5F~k|QgBOiFiMHkT|wVjM-{hsUJ18KxKB_pEWLs4a&+tPhrHruD-mLQv#`_Z$8lk&z!L=Q&`9P|6&=iHmh%a>~L6CCiX)UCgsP`P|gisODWv7db+6O z(7m{yxfl1Nm)onqlUjU+=UNVm_+I)qQ-;rfFI{!?EeqWLV78Z8hquS|O^5)N)cP9? zL9%E1{tJREuZcM77wJVdsSJo&U~Msc>q%85NT?thFyiWgzWz-r27O7V-=*i<9S_@n z^WzTs@>Ou$AGRQ9B6{sNDIU3kvC7H$Fqoq_=j9FgTn>YXwPZ3>m6 zm>i-a!FeD6a>#m&e7&8A5qXmSm=y3p4< z@7!d9I zFJO?s-JT9GCS?PRw%QK;82pzo1_O+F9bg>Em2)}oA_9Zgs?e2O`8iPB?CmE1$Yznw z!%AEkxb)mmhU9=+B|4cems@UO(@}Mc9E%3*PIp8H+yr@b6VX)&!d8RJoxLa=y>NR; zCA2sMv|VcrwB_Nhg>q**KO|rhlVi&eG`3VOWNtz0O6BgbiykPI6QOjrR7UNg#l34y z5wXhTuA%tgF!@*3$6Z6wxeDl6RX=$IWKuA1sJ!b$iaKAV>W-DFX{8lzs8r;ywBE$G zuhOuNm4^8%-HPn0oXBlt0vo{vz2)Co;Ntv#atgX!AvbfII&>XRDuWMv{T@!CiB)nl znl%vSG;I}c5d%INK|fko4Z!Z|&^vrqrLCQ*fY#m{0UvDkcgHwVj>1bu%hMPaAvK7} zqk!#4qDy1sGW7IqavZlM-q(5K>)YtpM(^P3+t62IlT zAjjEyn|&V}2pyK?u>s38fj-u1=xS;BbzU3CcJi~UE3+3^{@xN`GY>umqyp@YRHj)C zi{Dt(JVm}e(jQ{Nd$&1lYS0%`DEO31bx0sr3wJGirfl-W{g%^+^K=|O@vE+`@0p_ng`+nrxSGZGv+ zE5?DNv)101d+4pRR)glvkq>b9nCFBV)T;rC_nH!P4f>4~!FkVES!>XdMkwA-Z{(ov znz>NiR_1$KIS-24^L$0VNj}EyNDe4QA@>y7fvz^mk8uz9d+@}3`9{^e z?r(SMQYb#*Z#Qol6rc3B`vWQN^0)ikawzWhx4V3We4N|kZ?~!iihDU9BIt%T0l&6V zZm^OaWaTVDn*dRdU^_M92nBAZhKKj#Y>DI#h#Psd(Bpxy)vn0&F|rO*tC9_>jzjHi_vm zumEj;Pl`dI56flTexp}{23h)kRQI!5Jq~$9PU3i;N|$~qt=^E*BI^StMH`H>-k1O8 z**&tzKsK*nAs(Hs&aXlf_R7TxmmeRn+*{|h!lDXtAtw%;Gs3-CO6VKfiypL z)01C{HXq-FaXTbBGVU1XQZz-*3qVs4^q$um@tHGnM5vQoiw07o5ec8l6YY&wh1V9L z#h=Q{DM?BhxPBuiE(pXOwIyB&bpcxE8fa}a4@jAS)+RQTIxd=;CO={icR(yY^SRt$ zq1XgD2hi0BfByiRbH0GmAC@|FCw zHL`=l7+g3luuevsqKhNZobTi(^N$&r<+X**AS=_l{luZ5mbELk+4mgT8gwI47us9E zAa{&=7kchlbsDPqL5^pd@uDB(v`}Z*4M=R>d`xMuH=c|92OXC->x{>$mpBcUAVsnXX5n$??joOc2gbP-?8Kwj6IvQC@%xXx0KX;8viE zwOMFc201QP^QfjoiObZ8gHIQ@njj&DSA*cQ9KZ=lEI{Z}U<>%worOE{+EC}uZd^x3c7D8JU$AQvzldQzrz#c$bPE4wE(fLto_Le?M zEc@?99N$OzjA5Al{gfyNTy{<{t9PSp_I1C)DgltIvjJBstp>yd7!%qhD;oLTH@74O zjZ&0!?hTGiYhJhD7Da*UWrkP=rLlS}dPh|{b8k{n4_-4KrGf#kmOy6m{vg{}d~^$fZoGm*Mk^~o0cKo)J~*n7%;SNz#2f?wd)%a3?HOekNMh$kj?O*gGm$EAf_KxZyLb7?-YAMul~x0sdsQ z(vtygO3JOgurUvzE)V`6Ck$`Hc!$>0jydThG>NwXcE)Ff#l(2wNCFJsf z11c1B{?7p+G9be5{P(>f6a&{iB0GiHmgo`2KwRcuVUF(%gOy@fc7>u#?6J3(d8{2Y++Nm3rD(>AzT04q{6^Y)YAWKHHu>&nJ zYm-(h#BdUw7d(7m{~@Bo5_J0SN^TtIU!~64D4-a)P=%>kJF0LxTDn-Gm z&RB5?!CR6+yA5hm?{LEFz3x>mSeXP=n5agh!W~K*-CUy3>pPU$><0|)|A2BEsM)Bk z)-w+(owyJAz@eiR55Z)M$F7H!qTtL9IX&nFFXW+o>KWw+miwg8q>y1l>d=$n3Ii|%x4E5ZhQyIi9JsFMyFwAiWm6y2-)g5c6+*CU-oGq!HLTev9ro7HwG^o$( zsd)2or6#m%z%{%zinTT6)lY6FdX812;4JG$bOl;+M9xJ|?vY*S<0G;Yo&QvhL5sBl z7h3j~qEf7@u(Y&4+@JYxL@=X`?{0GW@?(=~Z6{!dUSiQ{Z=~((sGE&ATGA{e1VOu>tdX4xY-WcQPCeMJ4Dt2+Xd&MHemVoh~zul%50OUs221 zl1EUYP5l}4KT&p-wSr(Mu?x)V7s=EdPYT~y#oGkTMrN8*G$iZ|w{U|*h#8oR6A(9Uc%o4w5AH?!4FEDX|k znBGmzWv^u8A>H61`Y~6{L-%!83%H*|%6mB`dlvwEuSV&!igWQZ`RXu>r2q`%!FVGH zg|93LM%|0lzjHqucWb;}h+ivG$AC+PF&PCNlw1T=J@C15HQvhf*wR;hmHWjMr_7f{ z^d)i>sbMIzuNs41ajTDWzna}JzbZCC6a$FPsKKM|;(n{A9i?C3PfOG?D@v$TpLBY! z^BrDk{m83h)#@H@Meh!8dPw9=!zgth*J6yp*Ju1ux$3r}^zrImb`^)-8n2!J=a&0! zSG`V4Z#eWDd6@gxt9_W>Xi+`j+JVm1tCJWfmZqx$!?haB!s~tT_!;Uh2JAe*_dO9^ z`YbP@v)+#loiwd>ZeIWT*-dp*>mWi1&G4z+Y4)yU|8?75s3Mn$NOp8u7ae)QxQTA9~+^dvQPlI)J@~i1hyUm5`u(ow5gC_NwjEqz7R!f2z5s%!V zUI@2~kfl|Z@PK`4J_CL{^4M8t_1gWn` zvR1U=Y1IaI(wm=FA5T(Q$K1L}bLLL=>w2`ij6w3cg2(<-y}~%$L}#qaC_ht8L(Tiu z1n%!9w<~m$?u*sspu&RlMJjq90~IzKj3Vd?6|QzZtG>V_4KM^F5CI^|tPtuP4lqr~ z5W_m{pCs~+uKKxV%Rov<58nH{TE;M7WL?`o4TT+0<2f{%Qo%!;KYc*eeeajNsCMGE znxylP+pt|IG_m*=>J!k=srVv;9y|m@{|AS=9ae8)Y?bl6ehXT0M9sC8!+$H#-XkiB zlKB1+H78>b8$4@%Q!OOJ9RQgcLlQcxu6e3LyoGQ z3kK0Itv10a=vG%4RO>+syk5oHA$#Y{y4l7cU_ZTGN^=dT#7_3%9ao%yY-fkHRd?8*2sd3L+ zY8tr7oPJB~fovz$lia<96sgsQ0kK0L2AUk0+nCA0F_6gpDw7mmRrGK^U}9H!Rh0oTE*RO@_-rGZ~N!! z0w&^Cko!UXUJTN90~`iMQhfaPGu6dyGkN0w@%wPoAwoAoNii&9rph3pexYi%QLuNc zM{hh)kc)eMsa~@)qfo(jYApPm{-8JmeOq1}X&_|)x@6^-m13Vu2y~?uOgT_+C z>!VTakLtf{5IfPj2K}eWor6bRR`0Q-+y?t&K=aqx; zMDmZChY^Ub$nxa=4Q~wb^kGq*#j`SQe1KfXtN`(hC@y$?9J+4tSfd$t*C*j)9)>>^^S)AdlTb zd8R8(k$gTG%u=hXJO%7id1zIY=VSKiWITC@rv|Kzbenz4D>gVr)On`-S?SwaPfv9B zfUHooZHNb=VlAV8Txj_UyB)1KVY8#~!C3-%p`jJ8*@DrYL|cUMKMv031*~iBrA++m zQjeWse_e{K%RQIiSaNx}XY0s>)Y;RD7A>4Tv&W2i3mXf1)Ry#`J$qrV#S0eJ;z!=~ zRN4RP1J_5MUgdlRJ2=c9bZQ(E#D)b0?Q^;Dh>Y?9O@C1l?b=$N^cU~(CtJ(k`OB71 zZ!0hV8G;4IZLR1zf_JmWQ`>^}g%5?_74TbuZ~wZYoP_^;jptmg0Ed(bNV`@s55E8XTE#*py@K7B8XUCm`Xu=02s#dMX?ccOcH=F-R*Xx9 T_J2qmcyBJ#hBuZE4BhoV%n}Ta diff --git a/c/thread.c b/c/thread.c index f130f44d4..437a472dc 100644 --- a/c/thread.c +++ b/c/thread.c @@ -1,12 +1,12 @@ /* thread.c * Copyright 1984-2017 Cisco Systems, Inc. - * + * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at - * + * * http://www.apache.org/licenses/LICENSE-2.0 - * + * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. @@ -111,7 +111,7 @@ ptr S_create_thread_object(const char *who, ptr p_tc) { for (i = 0; i < n; i += 1) INITVECTIT(v, i) = Svector_ref(p_v, i); - + PARAMETERS(tc) = v; CODERANGESTOFLUSH(tc) = Snil; } @@ -182,6 +182,8 @@ ptr S_create_thread_object(const char *who, ptr p_tc) { if (Sboolean_value(S_symbol_value(S_G.collect_request_pending_id))) TRAP(tc) = (ptr)1; + EXPANDTIMEENVIRONMENT(tc) = Sfalse; + tc_mutex_release(); return thread; @@ -316,7 +318,7 @@ static IBOOL destroy_thread(ptr tc) { free_thread_gcs = THREAD_GC(tc); free(TO_VOIDP(tc)); - + THREADTC(thread) = 0; /* mark it dead */ status = 1; diff --git a/csug/syntax.stex b/csug/syntax.stex index 0e27fc5bc..84da5db17 100644 --- a/csug/syntax.stex +++ b/csug/syntax.stex @@ -574,6 +574,9 @@ With two arguments, \var{id} and \var{key}, \var{lookup} returns the value of \var{id}'s \var{key} property, or \scheme{#f} if \var{id} has no \var{key} property. +However, in the case of properties, there is a second, usually easier +way, to obtain property values, namely by calling the +\scheme{property-value} procedure described below. %---------------------------------------------------------------------------- \entryheader @@ -709,6 +712,27 @@ Attaching a new property with the same name as an property already attached to a binding shadows the existing property with the new property. +%---------------------------------------------------------------------------- +\entryheader +\formdef{property-value}{\categoryprocedure}{(property-value \var{identifier} \var{key-identifier})} +\formdef{property-value}{\categoryprocedure}{(property-value \var{identifier} \var{key-identifier} \var{default})} +\returns see below +\listlibraries +\endentryheader + +If \scheme{property-value} is not called within the dynamic extent of +the expander's call to a macro transformer, an exception with +condition type \scheme{&assertion} is raised. Otherwise, +\scheme{property-value} returns the value of the \var{key-identifier} +property of \var{identifier} in the lexical environment of the macro +use. If \var{identifier} has no \var{key-identifier} property, +\var{default} is returned. If omitted, \var{default} defaults to +\scheme{#f}. + +If \var{identifier} or \var{key-identifier} have no visible binding in +the lexical environment of the macro use, an exception with condition +type \scheme{&undefined} is raised. + The following example defines a macro, \scheme{get-info}, that retrieves the \scheme{info} property of a binding, defines the variable \scheme{x}, attaches an \scheme{info} property to the binding of \scheme{x}, retrieves @@ -721,11 +745,10 @@ properties are shadowed as well as the outer binding of \scheme{x}. (define info) (define-syntax get-info (lambda (x) - (lambda (lookup) - (syntax-case x () - [(_ q) - (let ([info-value (lookup #'q #'info)]) - #`'#,(datum->syntax #'* info-value))])))) + (syntax-case x () + [(_ q) + (let ([info-value (property-value #'q #'info)]) + #`'#,(datum->syntax #'* info-value))]))) (define x "x-value") (define-property x info "x-info") (get-info x) ;=> "x-info" @@ -741,10 +764,9 @@ just that. \schemedisplay (define-syntax get-property (lambda (x) - (lambda (r) - (syntax-case x () - [(_ id key) - #`'#,(datum->syntax #'* (r #'id #'key))])))) + (syntax-case x () + [(_ id key) + #`'#,(datum->syntax #'* (property-value #'id #'key))]))) (get-property x info) ;=> "x-info" \endschemedisplay @@ -810,11 +832,10 @@ cannot be accessed or forged. (do-drt #'rname #'(fname ...) #f)] [(_ rname pname (fname ...)) (for-all identifier? #'(rname pname fname ...)) - (lambda (lookup) - (let ([prtd (lookup #'pname #'drt-key)]) - (unless prtd - (syntax-error #'pname "unrecognized parent record type")) - (do-drt #'rname #'(fname ...) prtd)))])))) + (let ([prtd (property-value #'pname #'drt-key)]) + (unless prtd + (syntax-error #'pname "unrecognized parent record type")) + (do-drt #'rname #'(fname ...) prtd)))]))) \endschemedisplay \schemedisplay diff --git a/mats/8.ms b/mats/8.ms index 5ff89eef0..f97ffb845 100644 --- a/mats/8.ms +++ b/mats/8.ms @@ -7373,27 +7373,1008 @@ '((a . b) (c . d))) ) +(mat property-value + (begin + (library (dp get-property) (export get-property) (import (scheme)) + (define-syntax get-property + (lambda (x) + (syntax-case x () + [(_ q prop) #`'#,(datum->syntax #'* (property-value #'q #'prop))])))) + (import (dp get-property)) + #t) + (begin + (define-property cons frotz 'spamgle) + (equal? + (cons (get-property cons frotz) (get-property cons fratz)) + '(spamgle . #f))) + (equal? + (cons (get-property cons frotz) (get-property cons fratz)) + '(spamgle . #f)) + (equal? + (let () + (import scheme) + (cons (get-property cons frotz) (get-property cons fratz))) + (if (free-identifier=? #'cons (let () (import scheme) #'cons)) + '(spamgle . #f) + '(#f . #f))) + (equal? + (let () + (define-property cons fratz 'yubah) + (cons (get-property cons frotz) (get-property cons fratz))) + '(spamgle . yubah)) + (equal? + (cons (get-property cons frotz) (get-property cons fratz)) + '(spamgle . #f)) + ; restore + (begin + (meta-cond + [(free-identifier=? #'cons (let () (import scheme) #'cons)) + (import (only scheme cons))] + [else (define cons (let () (import scheme) cons))]) + #t) + (equal? + (cons (get-property cons frotz) (get-property cons fratz)) + '(#f . #f)) + (equal? + (let () + (import scheme) + (cons (get-property cons frotz) (get-property cons fratz))) + '(#f . #f)) + (equal? + (let () + (import scheme) + (define-property list type "procedure") + (list (get-property list type) (get-property car type))) + '("procedure" #f)) + (equal? + (let () + (define list (lambda x x)) + (define-property list type "procedure") + (list (get-property list type) (get-property car type))) + '("procedure" #f)) + (error? ; multiple definitions for list + (let () + (define-property list type "procedure") + (define list (lambda x x)) + (list (get-property list type) (get-property car type)))) + (error? ; multiple definitions for list + (module m (list) + (define-property list type "procedure") + (define list (lambda x x)) + (list (get-property list type) (get-property car type)))) + (error? ; immutable environment + (eval '(define-property frot rat 3) (scheme-environment))) + (error? ; immutable environment + (eval '(define-property cons rat 3) (scheme-environment))) + (error? ; no visible binding + (eval '(let () (define-property frot cons 3) 3) (scheme-environment))) + (error? ; no visible binding + (eval '(let () (define-property cons rat 3) 3) (scheme-environment))) + (error? ; no visible binding + (library (dp err1) (export x) (import (scheme)) + (define-property x cons "frap"))) + (error? ; no visible binding + (library (dp err1) (export x) (import (scheme)) + (define-property cons frip "frap"))) + (error? ; no visible binding + (module (x) (import-only (scheme)) + (define-property x cons "frap"))) + (error? ; no visible binding + (module (x) (import-only (scheme)) + (define-property cons frip "frap"))) + (not (get-property list type)) + (equal? + (let () + (define type) + (define-property list type "proc") + (list + (get-property list type) + (let () (define type) (get-property list type)))) + '("proc" #f)) + (equal? + (let () + (module (type iface list) + (define type) + (define iface) + (define-property list type "a proc") + (define-property list iface -1)) + (list + (get-property list type) + (get-property list iface))) + '("a proc" -1)) + (equal? + (let () + (module (type list) + (define type) + (define iface) + (define-property list type "a proc") + (define-property list iface -1)) + (list + (get-property list type) + (get-property list iface))) + '("a proc" #f)) + (equal? + (let () + (module (iface list) + (define type) + (define iface) + (define-property list type "a proc") + (define-property list iface -1)) + (list + (get-property list type) + (get-property list iface))) + '(#f -1)) + (equal? + (let () + (module (list) + (define type) + (define iface) + (define-property list type "a proc") + (define-property list iface -1)) + (list + (get-property list type) + (get-property list iface))) + '(#f #f)) + (equal? + (let () + (module (type iface) + (define type) + (define iface) + (define-property list type "a proc") + (define-property list iface -1)) + (list + (get-property list type) + (get-property list iface))) + '(#f #f)) + (begin + (define dp-out (open-output-string)) + (module dp-m1 (x) + (import (scheme) (dp get-property)) + (define x 444) + (define-property x frob "x-frob") + (define-property x spam "x-spam") + (fprintf dp-out "~s ~s ~s ~s\n" + (get-property x spam) + (get-property x frob) + (get-property x rats) + x)) + (equal? + (get-output-string dp-out) + "\"x-spam\" \"x-frob\" #f 444\n")) + (equal? + (let () + (import dp-m1) + (list + (get-property x spam) + (get-property x frob) + (get-property x rats) + x)) + '("x-spam" "x-frob" #f 444)) + (begin + (define dp-out (open-output-string)) + (module dp-m1 () + (import (scheme) (dp get-property)) + (define-property dp-out spam "dp-out-spam") + (define-property dp-out frob "dp-out-frob") + (fprintf dp-out "~s ~s ~s\n" + (get-property dp-out spam) + (get-property dp-out frob) + (get-property dp-out rats))) + (and + (equal? + (get-output-string dp-out) + "\"dp-out-spam\" \"dp-out-frob\" #f\n") + (not (get-property dp-out spam)) + (not (get-property dp-out frob)))) + (equal? + (let () + (import dp-m1) + (list + (get-property x spam) + (get-property x frob) + (get-property x rats))) + '(#f #f #f)) + (begin + (module dp-m1 (m2 (f x y)) + (import (scheme) (dp get-property)) + (define y "yval") + (define-property y a "y-a") + (module m2 (x) + (define x "xval") + (define-property x a "x-a") + (define-property y b "y-b")) + (import m2) + (define-property x b "x-b") + (define-syntax f + (identifier-syntax + (list (list x (get-property x a) (get-property x b)) + (list y (get-property y a) (get-property y b)))))) + #t) + (equal? + (let () (import dp-m1) f) + '(("xval" "x-a" "x-b") ("yval" "y-a" #f))) + (equal? + (let () + (import dp-m1) + (import m2) + (list + (get-property x a) + (get-property x b) + (get-property x c) + x)) + '("x-a" #f #f "xval")) + (begin + (library (dp l1) (export x spam frob rats) (import (scheme) (dp get-property)) + (define spam) + (define frob) + (define rats) + (define x (make-parameter 444)) + (define-property x spam "x-spam") + (define-property x frob "x-frob") + (printf "~s ~s ~s ~s\n" + (get-property x spam) + (get-property x frob) + (get-property x rats) + (x))) + #t) + (begin (define dp-f) #t) + (equal? + (with-output-to-string + (lambda () + (set! dp-f + (eval + '(lambda () + (import (dp l1)) + (printf "~s ~s ~s ~s\n" + (get-property x spam) + (get-property x frob) + (get-property x rats) + (x))))))) + "\"x-spam\" \"x-frob\" #f 444\n") + (equal? + (with-output-to-string + (lambda () + (dp-f))) + "\"x-spam\" \"x-frob\" #f 444\n") + (begin + (library (dp l1) (export x spam frob rats) (import (scheme) (dp get-property)) + (define spam) + (define frob) + (define rats) + (define-syntax x + (identifier-syntax + (list + (get-property x spam) + (get-property x frob) + (get-property x rats)))) + (define-property x spam "x-spam") + (define-property x frob "x-frob") + (printf "~s ~s ~s ~s\n" + (get-property x spam) + (get-property x frob) + (get-property x rats) + x)) + #t) + (begin (define dp-f) #t) + (equal? + (with-output-to-string + (lambda () + (set! dp-f + (eval + '(lambda () + (import (dp l1)) + (printf "~s ~s ~s ~s\n" + (get-property x spam) + (get-property x frob) + (get-property x rats) + x)))))) + "") + (equal? + (with-output-to-string + (lambda () + (dp-f))) + "\"x-spam\" \"x-frob\" #f (\"x-spam\" \"x-frob\" #f)\n") + (begin + (library (dp l1) (export x qq spam frob rats) (import (scheme) (dp get-property)) + (define spam) + (define frob) + (define rats) + (define qq (make-parameter 33)) + (define-syntax x + (identifier-syntax + (list + (get-property x spam) + (get-property x frob) + (get-property x rats)))) + (define-property x spam "x-spam") + (define-property x frob "x-frob") + (printf "~s ~s ~s ~s\n" + (get-property x spam) + (get-property x frob) + (get-property x rats) + x)) + #t) + (begin (define dp-f) #t) + (equal? + (with-output-to-string + (lambda () + (set! dp-f + (eval + '(lambda () + (import (dp l1)) + (printf "~s ~s ~s ~s ~s\n" + (get-property x spam) + (get-property x frob) + (get-property x rats) + x (qq))))))) + "\"x-spam\" \"x-frob\" #f (\"x-spam\" \"x-frob\" #f)\n") + (equal? + (with-output-to-string + (lambda () + (dp-f))) + "\"x-spam\" \"x-frob\" #f (\"x-spam\" \"x-frob\" #f) 33\n") + (begin + (library (dp l1) (export qq spam frob rats) (import (scheme) (dp get-property)) + (define spam) + (define frob) + (define rats) + (define qq (make-parameter 77)) + (define x (make-parameter 444)) + (define-property x spam "x-spam") + (define-property x frob "x-frob") + (printf "~s ~s ~s ~s\n" + (get-property x spam) + (get-property x frob) + (get-property x rats) + (x))) + #t) + (begin (define dp-f) #t) + (equal? + (with-output-to-string + (lambda () + (set! dp-f + (eval + '(lambda (x) + (import (dp l1)) + (printf "~s ~s ~s ~s\n" + (get-property x spam) + (get-property x frob) + (get-property x rats) + (qq))))))) + "\"x-spam\" \"x-frob\" #f 444\n") + (equal? + (with-output-to-string + (lambda () + (dp-f 0))) + "#f #f #f 77\n") + (begin + (module (dp-a) + (module (dp-a) + (define-syntax dp-a (identifier-syntax 3))) + (define-property dp-a spam 55)) + (and (eqv? dp-a 3) + (eqv? (get-property dp-a spam) 55))) + (begin + (module (dp-b) + (module ((dp-b q)) + (define q 3) + (define-syntax dp-b (identifier-syntax q))) + (define-property dp-b spam 55)) + (and (eqv? dp-b 3) + (eqv? (get-property dp-b spam) 55))) + (let () + (module (dp-c) + (module (dp-c) + (define-syntax dp-c (identifier-syntax 3))) + (define-property dp-c spam 55)) + (and (eqv? dp-c 3) + (eqv? (get-property dp-c spam) 55))) + (let () + (module (dp-c) + (module ((dp-c q)) + (define q 3) + (define-syntax dp-c (identifier-syntax q))) + (define-property dp-c spam 55)) + (and (eqv? dp-c 3) + (eqv? (get-property dp-c spam) 55))) + (begin + (library (dp l2) (export dp-d dp-e spam) (import (scheme)) + (define spam) + (module (dp-d) + (module (dp-d) + (define-syntax dp-d (identifier-syntax 3))) + (define-property dp-d spam 55)) + (module (dp-e) + (module ((dp-e q)) + (define q 13) + (define-syntax dp-e (identifier-syntax q))) + (define-property dp-e spam 155))) + (let () + (import (dp l2)) + (and (eqv? dp-d 3) + (eqv? (get-property dp-d spam) 55) + (eqv? dp-e 13) + (eqv? (get-property dp-e spam) 155)))) + (begin + (import (dp l2)) + (and (eqv? dp-d 3) + (eqv? (get-property dp-d spam) 55) + (eqv? dp-e 13) + (eqv? (get-property dp-e spam) 155))) + (begin + (with-output-to-file "testfile-dp0.ss" + (lambda () + (pretty-print '(define $dp0-x "dp0-x")) + (pretty-print '(define-property $dp0-x dp0 17))) + 'replace) + (with-output-to-file "testfile-dp1.ss" + (lambda () + (pretty-print + '(library (testfile-dp1) + (export cons a b spud) + (import (scheme)) + (define spud) + (define a "a") + (define b "b") + (define-property cons spud "spud-cons") + (define-property a spud "spud-a") + (define-property b spud "spud-b")))) + 'replace) + (with-output-to-file "testfile-dp2.ss" + (lambda () + (pretty-print + '(module dp2 (cons a b putz) + (import (scheme)) + (define putz) + (define a "a") + (define b "b") + (define-property cons putz "putz-cons") + (define-property a putz "putz-a") + (define-property b putz "putz-b")))) + 'replace) + (for-each separate-compile '(dp0 dp1 dp2)) + #t) + (begin (load "testfile-dp0.so") #t) + (equal? $dp0-x "dp0-x") + (equal? (get-property $dp0-x dp0) 17) + (equal? + (let () + (import (testfile-dp1)) + (list (cons a b) (get-property cons spud) (get-property a spud) (get-property b spud))) + '(("a" . "b") "spud-cons" "spud-a" "spud-b")) + (begin (load "testfile-dp2.so") #t) + (equal? + (let () + (import dp2) + (list (cons a b) (get-property cons putz) (get-property a putz) (get-property b putz))) + '(("a" . "b") "putz-cons" "putz-a" "putz-b")) + ; illustrate use of define-property for storing parent record info, + ; while still allowing the record name to be a variable whose value + ; is the record type descriptor + (equal? + (let () + (module (drt) + (define drt-key) + (define-syntax drt + (lambda (x) + (define construct-name + (lambda (template-identifier . args) + (datum->syntax template-identifier + (string->symbol + (apply string-append + (map (lambda (x) + (if (string? x) + x + (symbol->string (syntax->datum x)))) + args)))))) + (define do-drt + (lambda (rname fname* prtd) + (with-syntax ([rname rname] + [rtd (make-record-type-descriptor + (syntax->datum rname) prtd #f #f #f + (list->vector (map (lambda (fname) `(immutable ,(syntax->datum fname))) fname*)))] + [make-rname (construct-name rname "make-" rname)] + [rname? (construct-name rname rname "?")] + [(rname-fname ...) + (map (lambda (fname) (construct-name fname rname "-" fname)) + fname*)] + [(i ...) (enumerate fname*)]) + #'(begin + (define rname 'rtd) + (define rcd (make-record-constructor-descriptor 'rtd #f #f)) + (define-property rname drt-key 'rtd) + (define make-rname (record-constructor rcd)) + (define rname? (record-predicate 'rtd)) + (define rname-fname (record-accessor 'rtd i)) + ...)))) + (syntax-case x (parent) + [(_ rname fname ...) + (for-all identifier? #'(rname fname ...)) + (do-drt #'rname #'(fname ...) #f)] + [(_ rname (parent pname) fname ...) + (for-all identifier? #'(rname pname fname ...)) + (let ([prtd (property-value #'pname #'drt-key)]) + (unless prtd (syntax-error #'pname "unrecognized parent record typd")) + (do-drt #'rname #'(fname ...) prtd))])))) + (drt foo x y) + (drt bar (parent foo) z) + (let ([b (make-bar 1 2 3)]) + (list + (record-type-descriptor? foo) + (record-type-descriptor? bar) + (foo? b) (bar? b) + (foo-x b) + (foo-y b) + (bar-z b)))) + '(#t #t #t #t 1 2 3)) + ; on no! + (equal? + (let () + (define type-key) + (define-syntax declare + (syntax-rules () + [(_ type id) + (identifier? #'id) + (define-property id type-key #'type)])) + (define-syntax type-of + (lambda (x) + (syntax-case x () + [(_ id) + (identifier? #'id) + #`'#,(property-value #'id #'type-key)]))) + (let ([x 3]) + (define p (lambda (x) x)) + (declare fixnum? x) + (declare procedure? p) + (list (type-of x) (type-of p)))) + '(fixnum? procedure?)) + ; make sure library is visited and invoked when needed by + ; top-level-xxx procedures, even when properties are defined + (begin + (with-output-to-file "testfile-dp3.ss" + (lambda () + (pretty-print + '(library (testfile-dp3) (export dp3-x frop) (import (chezscheme)) + (define frop) + (define dp3-x 3) + (define-property dp3-x frop "blob")))) + 'replace) + (for-each separate-compile '(dp3)) + #t) + (begin (import (testfile-dp3)) #t) + (top-level-bound? 'dp3-x) + (equal? (get-property dp3-x frop) "blob") + (begin + (with-output-to-file "testfile-dp4.ss" + (lambda () + (pretty-print + '(library (testfile-dp4) (export dp4-x frop) (import (chezscheme)) + (define frop) + (define dp4-x 3) + (define-property dp4-x frop "blob")))) + 'replace) + (for-each separate-compile '(dp4)) + #t) + (begin (import (testfile-dp4)) #t) + (eqv? (top-level-value 'dp4-x) 3) + (equal? (get-property dp4-x frop) "blob") + (begin + (with-output-to-file "testfile-dp5.ss" + (lambda () + (pretty-print + '(library (testfile-dp5) (export dp5-x frop) (import (chezscheme)) + (define frop) + (define dp5-x 3) + (define-property dp5-x frop "blob")))) + 'replace) + (for-each separate-compile '(dp5)) + #t) + (begin (import (testfile-dp5)) #t) + ; same as last, but reverse order of checks + (equal? (get-property dp5-x frop) "blob") + (eqv? (top-level-value 'dp5-x) 3) + (begin + (with-output-to-file "testfile-dp6.ss" + (lambda () + (pretty-print + '(library (testfile-dp6) (export dp6-x frop) (import (chezscheme)) + (define frop) + (define-syntax dp6-x (identifier-syntax 3)) + (define-property dp6-x frop "blob")))) + 'replace) + (for-each separate-compile '(dp6)) + #t) + (begin (import (testfile-dp6)) #t) + (top-level-syntax? 'dp6-x) + (equal? (get-property dp6-x frop) "blob") + (begin + (with-output-to-file "testfile-dp7.ss" + (lambda () + (pretty-print + '(library (testfile-dp7) (export dp7-x frop) (import (chezscheme)) + (define frop) + (define-syntax dp7-x (identifier-syntax 3)) + (define-property dp7-x frop "blob")))) + 'replace) + (for-each separate-compile '(dp7)) + #t) + (begin (import (testfile-dp7)) #t) + ; same as last, but reverse order of checks + (equal? (get-property dp7-x frop) "blob") + (top-level-syntax? 'dp7-x) + (begin + (with-output-to-file "testfile-dp8.ss" + (lambda () + (pretty-print + '(library (testfile-dp8) (export dp8-x frop) (import (chezscheme)) + (define frop) + (define-syntax dp8-x (identifier-syntax 3)) + (define-property dp8-x frop "blob")))) + 'replace) + (for-each separate-compile '(dp8)) + #t) + (begin (import (testfile-dp8)) #t) + ; same as last, but reverse order of checks + (procedure? (top-level-syntax 'dp8-x)) + (equal? (get-property dp8-x frop) "blob") + (begin + (with-output-to-file "testfile-dp9.ss" + (lambda () + (pretty-print + '(library (testfile-dp9) (export dp9-x frop) (import (chezscheme)) + (define frop) + (define-syntax dp9-x (identifier-syntax 3)) + (define-property dp9-x frop "blob")))) + 'replace) + (for-each separate-compile '(dp9)) + #t) + (begin (import (testfile-dp9)) #t) + (error? ; not a variable + (set-top-level-value! 'dp9-x 11)) + (equal? (get-property dp9-x frop) "blob") + (begin + (with-output-to-file "testfile-dp10.ss" + (lambda () + (pretty-print + '(library (testfile-dp10) (export dp10-x frop) (import (chezscheme)) + (define frop) + (define dp10-x 3) + (define-property dp10-x frop "blob")))) + 'replace) + (for-each separate-compile '(dp10)) + #t) + (begin (import (testfile-dp10)) #t) + (error? ; immutable + (set-top-level-value! 'dp10-x 11)) + (equal? (get-property dp10-x frop) "blob") + (begin + (with-output-to-file "testfile-dp11.ss" + (lambda () + (pretty-print + '(library (testfile-dp11) (export dp11-x frop) (import (chezscheme)) + (define frop) + (define dp11-x 3) + (define-property dp11-x frop "blob")))) + 'replace) + (for-each separate-compile '(dp11)) + #t) + (begin (import (testfile-dp11)) #t) + (not (top-level-mutable? 'dp11-x)) + (equal? (get-property dp11-x frop) "blob") + (equal? + (syntax-case '(a b c) () + [(_ . x) + (let () + (define-property x goofy 'stuff) + (define-property x amazingly 'unlikely) + (list (get-property x goofy) + (get-property x amazingly) + #'x))]) + '(stuff unlikely (b c))) + (begin + (library (docstring) + (export define-docstring get-docstring) + (import (chezscheme)) + (define check-docstring + (lambda (x s) + (unless (string? s) + (syntax-error x "invalid docstring definition")) + s)) + (define-syntax define-docstring + (lambda (x) + (syntax-case x () + [(_ id expr) + #`(define-property id check-docstring + (check-docstring #'#,x expr))]))) + (define-syntax get-docstring + (lambda (x) + (syntax-case x () + [(_ id) + (property-value #'id #'check-docstring "no documentation available")])))) + #t) + (equal? + (let () + (import (docstring)) + (define-docstring cons "cons takes three arguments") + (get-docstring cons)) + "cons takes three arguments") + (equal? + (let () + (import (docstring)) + (define-docstring else "else is cool") + (cond [else (get-docstring else)])) + "else is cool") + ((lambda (x ls) (and (member x ls) #t)) + (parameterize ([#%$suppress-primitive-inlining #f]) + (expand + '(let () + (import scheme) + (define-property cons car 3) + cons))) + `(#%cons #2%cons #3%cons)) + (begin + (define dp-x #f) + (define dp-y #f) + (define-property dp-x dp-y "xy") + (define-syntax a + (lambda (z) + (define-property dp-x z "xz") + #'(get-property dp-x dp-y))) + (equal? a "xy")) + (begin + (define dp-x #f) + (define dp-y #f) + (define-property dp-x dp-y "outer") + (define-syntax a + (lambda (z) + (define-property dp-x dp-y "inner") + #'(get-property dp-x dp-y))) + (not a)) + (equal? + (let ([x #f] [y #f]) + (define-property x y "xy") + (define-syntax a + (lambda (z) + (define-property x z "xz") + #'(get-property x y))) + a) + "xy") + (eq? + (let ([x #f] [y #f]) + (define-property x y "outer") + (define-syntax a + (lambda (z) + (define-property x y "inner") + #'(get-property x y))) + a) + #f) + (eq? + (let ([x #f]) + (define-syntax a + (syntax-rules (x) + [(_ x) 'yes] + [(_ y) 'no])) + (let () + (define-property x q 0) + (a x))) + 'yes) + (begin + (library (dp l3) (export x) + (import (chezscheme)) + (define x 5) + (define-property x car 17)) + (import (dp l3)) + (and (eqv? x 5) (eqv? (let () (import (chezscheme)) (get-property x car)) 17))) + (begin + (library (dp l4) (export sort) + (import (chezscheme)) + (define-property sort car 53)) + (library (dp l5) (export sort) + (import (chezscheme)) + (define-property sort cdr 87)) + (import (dp l4)) + (import (dp l5)) + (and (procedure? sort) + (eq? sort #%sort) + (eqv? (let () (import (only (chezscheme) car)) (get-property sort car)) 53) + (eqv? (let () (import (only (chezscheme) cdr)) (get-property sort cdr)) 87))) + (begin + (with-output-to-file "testfile-dp12.ss" + (lambda () + (pretty-print + '(library (testfile-dp12) (export dp12-dq) (import (chezscheme)) + (define-syntax dp12-dq (identifier-syntax "dq")) + (define-property dp12-dq car "dqp")))) + 'replace) + (for-each separate-compile '(dp12)) + #t) + (begin (import (testfile-dp12)) #t) + (equal? (list dp12-dq (let () (import (chezscheme)) (get-property dp12-dq car))) '("dq" "dqp")) + (equal? + (let () + (define x 0) + (module m1 (x) (define-property x car "xcar")) + (module m2 (x) (define-property x cdr "xcdr")) + (let ([q1 (let () (import m1) (list x (get-property x car) (get-property x cdr)))] + [q2 (let () (import m2) (list x (get-property x car) (get-property x cdr)))] + [q3 (let () (import m1) (import m2) (list x (get-property x car) (get-property x cdr)))] + [q4 (let () (import m2) (import m1) (list x (get-property x car) (get-property x cdr)))]) + (list x q1 q2 q3 q4 (get-property x car) (get-property x cdr)))) + '(0 (0 "xcar" #f) (0 #f "xcdr") (0 "xcar" "xcdr") (0 "xcar" "xcdr") #f #f)) + (equal? + (let () + (define x 0) + (module m1 (x) (define-property x car "xcar")) + (import m1) + (module m2 (x) (define-property x cdr "xcdr")) + (import m2) + (list x (get-property x car) (get-property x cdr))) + '(0 "xcar" "xcdr")) + (begin + (module $dp13 (foo) + (define foo 17) + (module ((foo bar)) + (define-property foo cons #'bar) + (define bar 35))) + #t) + (eqv? + (let () + (import $dp13) + (define-syntax a + (lambda (x) + (syntax-case x () + [(_ id) (property-value #'id #'cons)]))) + (a foo)) + 35) + (eqv? + (let () + (module m (x) (define x 3) (define-property x x 4)) + (import m) + (get-property x x)) + 4) + (eqv? + (let () + (module m (x) (define x 3) (define-property x x 4)) + (import (alias m (x y))) + (get-property x x)) + 4) + (eqv? + (let () + (module m (x) (define x 3) (define-property x x 4)) + (import (alias m (x y))) + (get-property x y)) + 4) + (eqv? + (let () + (module m (x) (define x 3) (define-property x x 4)) + (import (alias m (x y))) + (get-property y x)) + 4) + (eqv? + (let () + (module m (x) (define x 3) (define-property x x 4)) + (import (alias m (x y))) + (get-property y y)) + 4) + (eqv? + (let () + (module m (x) (define x 3) (define-property x x 4)) + (import (rename m (x y))) + (get-property y y)) + 4) + (begin + (module $dp14 (x) (define x 3) (define-property x x 4)) + #t) + (eqv? + (let () + (import $dp14) + (get-property x x)) + 4) + (eqv? + (let () + (import (alias $dp14 (x y))) + (get-property x x)) + 4) + (eqv? + (let () + (import (alias $dp14 (x y))) + (get-property x y)) + 4) + (eqv? + (let () + (import (alias $dp14 (x y))) + (get-property y x)) + 4) + (eqv? + (let () + (import (alias $dp14 (x y))) + (get-property y y)) + 4) + (eqv? + (let () + (import (rename $dp14 (x y))) + (get-property y y)) + 4) + (equal? + (let ([y 14]) + (define k1) + (define k2) + (module () + (export x (rename (y x))) + (define x 3) + (define-property x k1 4) + (define-property x k2 5) + (alias y x)) + (list x y (get-property x k1) (get-property x k2) (get-property y k1) (get-property y k2))) + '(3 14 4 5 #f #f)) + (error? ; attempt to export different bindings for x + (let ([y 14]) + (define k1) + (define k2) + (module () + (export x (rename (y x))) + (define x 3) + (define-property x k1 4) + (alias y x) + (define-property x k2 5)) + (list x y (get-property x k1) (get-property y k2)))) + (begin + (with-output-to-file "testfile-A.ss" + (lambda () + (pretty-print + '(library (testfile-A) + (export $testfile-A-x $testfile-A-prop-id) + (import (scheme)) + (define $testfile-A-x (cons 'a 'b)) + (define $testfile-A-prop-id) + (define-property $testfile-A-x $testfile-A-prop-id (cons 'c 'd))))) + 'replace) + (with-output-to-file "testfile-B.ss" + (lambda () + (pretty-print + '(library (testfile-B) + (export) + (import (scheme) (testfile-A)) + (export (import (testfile-A)))))) + 'replace) + (with-output-to-file "testfile-C.ss" + (lambda () + (pretty-print + '(library (testfile-C) + (export) + (import (scheme) (testfile-A) (testfile-B)) + (export (import (testfile-A)) (import (testfile-B)))))) + 'replace) + (for-each separate-compile '(A B C)) + #t) + (equal? + (let () + (import (testfile-C)) + (list $testfile-A-x (get-property $testfile-A-x $testfile-A-prop-id))) + '((a . b) (c . d))) +) + (mat library1 (error? (compile-library "/file/not/there")) (error? (load-library "/file/not/there")) - (error? ; abc is not a string + (error? ; abc is not a string (load-library 'abc)) - (error? ; xxx is not a procedure + (error? ; xxx is not a procedure (load-library "/file/not/there" 'xxx)) - (error? ; 3 is not a string + (error? ; 3 is not a string (parameterize ([source-directories '("/tmp" ".")]) (load-library 3))) - (error? ; 3 is not a string + (error? ; 3 is not a string (parameterize ([source-directories '("/tmp" ".")]) (load-library 3 values))) (begin (library ($l1-a) (export $l1-x) (import (scheme)) - (module $l1-x (($l1-a $l1-b) $l1-c $l1-e) - (define $l1-d 4) - (define-syntax $l1-a (identifier-syntax (cons $l1-b $l1-y))) - (define $l1-b 55) - (define $l1-c (lambda () (* $l1-d $l1-y))) - (define $l1-f 44) - (define-syntax $l1-e (identifier-syntax $l1-f))) - (define $l1-y 14)) + (module $l1-x (($l1-a $l1-b) $l1-c $l1-e) + (define $l1-d 4) + (define-syntax $l1-a (identifier-syntax (cons $l1-b $l1-y))) + (define $l1-b 55) + (define $l1-c (lambda () (* $l1-d $l1-y))) + (define $l1-f 44) + (define-syntax $l1-e (identifier-syntax $l1-f))) + (define $l1-y 14)) #t) (equal? (let () (import ($l1-a)) (import $l1-x) (list $l1-a ($l1-c))) @@ -7406,29 +8387,29 @@ #t) (equal? $l1-a '(55 . 14)) (equal? ($l1-c) 56) - (error? ; unbound variable $l1-b + (error? ; unbound variable $l1-b $l1-b) - (error? ; unbound variable $l1-d + (error? ; unbound variable $l1-d $l1-d) - (error? ; unbound variable $l1-y + (error? ; unbound variable $l1-y $l1-y) - (error? ; unexported identifier $l1-f + (error? ; unexported identifier $l1-f $l1-e) - (error? ; unbound variable $l1-f + (error? ; unbound variable $l1-f $l1-f) (equal? (let () (import ($l1-a)) (import $l1-x) (list $l1-a ($l1-c))) '((55 . 14) 56)) (begin (library ($l1-b) (export $l1-x) (import (scheme)) - (module $l1-x ($l1-a $l1-c $l1-e) - (define $l1-d 4) - (define $l1-a (lambda () (cons $l1-b $l1-y))) - (define $l1-b 55) - (define $l1-c (lambda () (* $l1-d $l1-y))) - (define $l1-f 44) - (define $l1-e (lambda () $l1-f))) - (define $l1-y 14)) + (module $l1-x ($l1-a $l1-c $l1-e) + (define $l1-d 4) + (define $l1-a (lambda () (cons $l1-b $l1-y))) + (define $l1-b 55) + (define $l1-c (lambda () (* $l1-d $l1-y))) + (define $l1-f 44) + (define $l1-e (lambda () $l1-f))) + (define $l1-y 14)) #t) (equal? (let () (import ($l1-b)) (import $l1-x) (vector ($l1-a) ($l1-c) ($l1-e))) @@ -7442,24 +8423,24 @@ (equal? ($l1-a) '(55 . 14)) (equal? ($l1-c) 56) (equal? ($l1-e) 44) - (error? ; unbound variable $l1-b + (error? ; unbound variable $l1-b $l1-b) - (error? ; unbound variable $l1-d + (error? ; unbound variable $l1-d $l1-d) - (error? ; unbound variable $l1-y + (error? ; unbound variable $l1-y $l1-y) - (error? ; unbound variable $l1-f + (error? ; unbound variable $l1-f $l1-f) (equal? (let () (import ($l1-b)) (import $l1-x) (vector ($l1-a) ($l1-c) ($l1-e))) '#((55 . 14) 56 44)) (begin (library ($l1-c) (export (rename (q $l1-q) (a:x $l1-x)) $l1-p) - (import (scheme) (rename ($l1-a) ($l1-x a:x)) (rename ($l1-b) ($l1-x b:x))) - (import (drop-prefix a:x $l1-) (prefix (drop-prefix b:x $l1-) b:)) - (define-syntax q (identifier-syntax (list a (c) (b:a) (b:c) ($l1-p) (r)))) - (define $l1-p (lambda () (vector a (c) (b:a) (b:c)))) - (define r (lambda () (cons* a (c) (b:a) (b:c))))) + (import (scheme) (rename ($l1-a) ($l1-x a:x)) (rename ($l1-b) ($l1-x b:x))) + (import (drop-prefix a:x $l1-) (prefix (drop-prefix b:x $l1-) b:)) + (define-syntax q (identifier-syntax (list a (c) (b:a) (b:c) ($l1-p) (r)))) + (define $l1-p (lambda () (vector a (c) (b:a) (b:c)))) + (define r (lambda () (cons* a (c) (b:a) (b:c))))) #t) (equal? (let () (import ($l1-c)) $l1-q) @@ -7475,21 +8456,21 @@ (begin (library ($l1-d) (export $l1-x $l1-getx $l1-setx!) (import (scheme)) - (define x 0) - (define-syntax $l1-x (identifier-syntax x)) - (define $l1-getx (lambda () x)) - (define $l1-setx! (lambda (v) (set! x v)))) + (define x 0) + (define-syntax $l1-x (identifier-syntax x)) + (define $l1-getx (lambda () x)) + (define $l1-setx! (lambda (v) (set! x v)))) #t) (eqv? (let () (import ($l1-d)) ($l1-setx! 'hello) ($l1-getx)) 'hello) - (error? ; unexported identifier x + (error? ; unexported identifier x (let () (import ($l1-d)) $l1-x)) - (error? ; unexported identifier x + (error? ; unexported identifier x (expand '(let () (import ($l1-d)) $l1-x))) - (error? ; immutable variable $l1-x + (error? ; immutable variable $l1-x (let () (import ($l1-d)) (set! $l1-getx void))) - (error? ; immutable variable $l1-x + (error? ; immutable variable $l1-x (expand '(let () (import ($l1-d)) (set! $l1-getx void)))) (begin (import ($l1-d)) @@ -7497,63 +8478,63 @@ (eqv? (begin ($l1-setx! 'hello) ($l1-getx)) 'hello) - (error? ; unexported identifier x + (error? ; unexported identifier x $l1-x) - (error? ; unexported identifier x + (error? ; unexported identifier x (expand '$l1-x)) - (error? ; immutable variable $l1-x + (error? ; immutable variable $l1-x (set! $l1-getx void)) - (error? ; immutable variable $l1-x + (error? ; immutable variable $l1-x (expand '(set! $l1-getx void))) (error? (library ($l1-e) (export $l1-x) (import (scheme)) - (define $l1-x 0) - (set! $l1-x 1))) + (define $l1-x 0) + (set! $l1-x 1))) (error? (expand '(library ($l1-e) (export $l1-x) (import (scheme)) - (define $l1-x 0) - (set! $l1-x 1)))) + (define $l1-x 0) + (set! $l1-x 1)))) (begin (with-output-to-file "testfile.ss" (lambda () (pretty-print '(library ($l1-f) (export $l1-x $l1-y) (import (scheme)) - (define-syntax $l1-x (identifier-syntax q)) - (define-syntax q - (begin - (printf "An expand-time greeting from $l1-f\n") - (lambda (x) 77))) - (define $l1-y (lambda () (* q 2))) - (printf "A run-time greeting from $l1-f\n"))) + (define-syntax $l1-x (identifier-syntax q)) + (define-syntax q + (begin + (printf "An expand-time greeting from $l1-f\n") + (lambda (x) 77))) + (define $l1-y (lambda () (* q 2))) + (printf "A run-time greeting from $l1-f\n"))) (pretty-print '(library ($l1-g) (export $l1-x $l1-z $l1-w) (import (scheme) ($l1-f)) - (define-syntax $l1-z - (begin - (printf "An expand-time greeting from $l1-g\n") - (lambda (x) ($l1-y)))) - (define $l1-w - (begin - (printf "A run-time greeting from $l1-g\n") - (lambda (x) (cons* x $l1-x ($l1-y))))))) + (define-syntax $l1-z + (begin + (printf "An expand-time greeting from $l1-g\n") + (lambda (x) ($l1-y)))) + (define $l1-w + (begin + (printf "A run-time greeting from $l1-g\n") + (lambda (x) (cons* x $l1-x ($l1-y))))))) (pretty-print '(library ($l1-h) (export $l1-x $l1-y $l1-v) (import (scheme) ($l1-f) ($l1-g)) - (define $l1-v (list $l1-x ($l1-y) $l1-z ($l1-w 13))) - (printf "A run-time greeting from $l1-h\n")))) + (define $l1-v (list $l1-x ($l1-y) $l1-z ($l1-w 13))) + (printf "A run-time greeting from $l1-h\n")))) 'replace) (compile-file "testfile") #t) - ; look, ma, no need to load... + ; look, ma, no need to load... (equal? (let () (import ($l1-h)) $l1-v) '(77 154 154 (13 77 . 154))) (begin (library ($l1-h) (export $l1-x $l1-y $l1-v) (import (scheme)) - (define $l1-x "these aren't") - (define $l1-y "the exports") - (define $l1-v "you're looking for")) + (define $l1-x "these aren't") + (define $l1-y "the exports") + (define $l1-v "you're looking for")) #t) (begin (load "testfile.so") #t) (equal? @@ -7565,46 +8546,46 @@ (lambda () (pretty-print '(library ($l1-f) (export $l1-x $l1-y) (import (scheme)) - (define-syntax $l1-x (identifier-syntax q)) - (define-syntax q - (begin - (printf "An expand-time greeting from $l1-f\n") - (lambda (x) 77))) - (define $l1-y (lambda () (* q 2))) - (printf "A run-time greeting from $l1-f\n"))) + (define-syntax $l1-x (identifier-syntax q)) + (define-syntax q + (begin + (printf "An expand-time greeting from $l1-f\n") + (lambda (x) 77))) + (define $l1-y (lambda () (* q 2))) + (printf "A run-time greeting from $l1-f\n"))) (pretty-print '(library ($l1-g) (export $l1-x $l1-z $l1-w) (import (scheme) ($l1-f)) - (define-syntax $l1-z - (begin - (printf "An expand-time greeting from $l1-g\n") - (lambda (x) ($l1-y)))) - (define $l1-w - (begin - (printf "A run-time greeting from $l1-g\n") - (lambda (x) (cons* x $l1-z $l1-x ($l1-y))))))) + (define-syntax $l1-z + (begin + (printf "An expand-time greeting from $l1-g\n") + (lambda (x) ($l1-y)))) + (define $l1-w + (begin + (printf "A run-time greeting from $l1-g\n") + (lambda (x) (cons* x $l1-z $l1-x ($l1-y))))))) (pretty-print '(library ($l1-h) (export $l1-x $l1-y $l1-v) (import (scheme) ($l1-f) ($l1-g)) - (define $l1-v (list $l1-x ($l1-y) $l1-z ($l1-w 13))) - (printf "A run-time greeting from $l1-h\n")))) + (define $l1-v (list $l1-x ($l1-y) $l1-z ($l1-w 13))) + (printf "A run-time greeting from $l1-h\n")))) 'replace) (compile-file "testfile") #t) - ; look, ma, no need to load... + ; look, ma, no need to load... (equal? (let () (import ($l1-h)) $l1-v) '(77 154 154 (13 154 77 . 154))) (begin (library ($l1-h) (export $l1-x $l1-y $l1-v) (import (scheme)) - (define $l1-x "these aren't") - (define $l1-y "the exports") - (define $l1-v "you're looking for")) + (define $l1-x "these aren't") + (define $l1-y "the exports") + (define $l1-v "you're looking for")) #t) (begin (load "testfile.so") #t) (equal? (let () (import ($l1-h)) $l1-v) '(77 154 154 (13 154 77 . 154))) - (error? ; unknown library ($l1-ham) + (error? ; unknown library ($l1-ham) (begin (library ($l1-spam) (export) (import ($l1-ham))) (library ($l1-ham) (export) (import ($l1-spam))))) @@ -7614,15 +8595,15 @@ (lambda () (pretty-print '(library ($l1-i) (export $l1-x $l1-y) (import (scheme)) - (define $l1-x 'i-am-x) - (define-syntax $l1-y (identifier-syntax 'i-am-y)))) + (define $l1-x 'i-am-x) + (define-syntax $l1-y (identifier-syntax 'i-am-y)))) (pretty-print '(library ($l1-j) (export $l1-x $l1-y) - (import ($l1-i) (only (scheme) errorf)) - (errorf #f "this error shouldn't happen"))) + (import ($l1-i) (only (scheme) errorf)) + (errorf #f "this error shouldn't happen"))) (pretty-print '(library ($l1-k) (export $l1-z) (import (scheme) ($l1-j)) - (define $l1-z (list 'i-am-z $l1-x $l1-y))))) + (define $l1-z (list 'i-am-z $l1-x $l1-y))))) 'replace) (compile-file "testfile") #t) @@ -7636,7 +8617,7 @@ (begin (library ($l1-l) (export $l1-x) (import (scheme)) - (define $l1-x 'i-am-$l1-l.$l1-x)) + (define $l1-x 'i-am-$l1-l.$l1-x)) #t) (eq? (let () @@ -7744,14 +8725,14 @@ 'replace) (for-each separate-compile '(a2 b2 c2 d2 a2)) #t) - (error? ; expected different compilation instance - ; program complains about b2 rather than b2 about a2 - ; now that load-library reloads source when dependency changes - ; would be nice if program were reloaded from source as well + (error? ; expected different compilation instance + ; program complains about b2 rather than b2 about a2 + ; now that load-library reloads source when dependency changes + ; would be nice if program were reloaded from source as well (load "testfile-d2.so")) - ; no longer fails now that load-library reloads source when dependency changes + ; no longer fails now that load-library reloads source when dependency changes #;(error? ; expected different compilation instance - (import (testfile-c2))) + (import (testfile-c2))) (begin (library ($l1-m) (export $l1-x) (import (scheme)) (define $l1-x 333)) (library ($l1-n) (export $l1-x) (import (scheme)) (import ($l1-m))) @@ -7777,37 +8758,37 @@ (let ([t id]) (if (eq? t z) (errorf 'from "~s undefined" 'id) t))))])) (library ($frappe) (export wire whip) (import (scheme)) - (define wire 3) - (define-syntax whip (identifier-syntax egg)) - (define egg 'whites)) + (define wire 3) + (define-syntax whip (identifier-syntax egg)) + (define egg 'whites)) (equal? (list (cons ($from1 ($frappe) wire) ($from1 ($frappe) whip)) - (cons ($from2 ($frappe) wire) ($from2 ($frappe) whip)) - (cons ($from3 ($frappe) wire) ($from3 ($frappe) whip))) + (cons ($from2 ($frappe) wire) ($from2 ($frappe) whip)) + (cons ($from3 ($frappe) wire) ($from3 ($frappe) whip))) '((3 . whites) (3 . whites) (3 . whites)))) (begin (library ($q) (export m from) (import (scheme)) - (module m (f) (define f "this is f")) - (define-syntax from - (syntax-rules () [(_ m id) (let () (import-only m) id)]))) + (module m (f) (define f "this is f")) + (define-syntax from + (syntax-rules () [(_ m id) (let () (import-only m) id)]))) (equal? (let () (import-only ($q)) (from m f)) "this is f")) (begin (library ($p) (export d f) (import (scheme)) - (define-syntax d - (syntax-rules () - ((_ e) (m (lambda () e))))) - (define m (lambda (x) x)) - (define f (lambda (th) (th)))) + (define-syntax d + (syntax-rules () + ((_ e) (m (lambda () e))))) + (define m (lambda (x) x)) + (define f (lambda (th) (th)))) (eqv? (let () (import-only ($p)) (f (d 2))) 2)) - ; this works for libraries because m is implicitly exported + ; this works for libraries because m is implicitly exported (eqv? (let () (import-only ($p)) (f (d 1/3))) 1/3) - (error? ; cons undefined + (error? ; cons undefined (let () (import-only ($p)) (f (d cons)))) - (error? ; invalid syntax + (error? ; invalid syntax (library (a) (export x:eval) (import (add-prefix (rnrs eval) x)))) - (error? ; invalid syntax + (error? ; invalid syntax (library (a) (export val) (import (drop-prefix (rnrs eval) x)))) - (error? ; invalid syntax + (error? ; invalid syntax (library (a) (export meaning) (import (alias (rnrs eval) [eval meaning])))) (begin (define $l1-q1) @@ -7817,36 +8798,36 @@ [(_ name (export ex ...) (import im ...) body ...) (begin (library name (export ex ... q) - (import im ... (rename (only (rnrs) cons) (cons list))) - (define q list) body ...) + (import im ... (rename (only (rnrs) cons) (cons list))) + (define q list) body ...) (let () (import name) (set! $l1-q1 q)))])) ($l1-qlib ($l1-libfoo) (export q) (import (rnrs)) (define q list)) (let () (import ($l1-libfoo)) (set! $l1-q2 q)) (equal? (list $l1-q1 $l1-q2) (list cons list))) - ; check for existence of chezscheme library + ; check for existence of chezscheme library (begin (library ($l1-r1) (export $l1-x) (import (chezscheme)) - (define $l1-x (sort < '(1 3 2 0 5)))) + (define $l1-x (sort < '(1 3 2 0 5)))) (library ($l1-r2) (export $l1-y) (import (chezscheme) ($l1-r1)) - (define $l1-y (cons $l1-x (void)))) + (define $l1-y (cons $l1-x (void)))) (equal? (let () (import ($l1-r2)) $l1-y) `((0 1 2 3 5) . ,(void)))) - (error? ; invalid context for library form + (error? ; invalid context for library form (module (a) (library (a) (export) (import)))) - (error? ; invalid syntax for library form + (error? ; invalid syntax for library form (module (a) (library a (import) (export x) (define x 3)) (import a) x)) - (error? ; invalid context for top-level-program form + (error? ; invalid context for top-level-program form (module (a) (top-level-program (import)))) - (error? ; invalid syntax for top-level-program form + (error? ; invalid syntax for top-level-program form (module (a) (top-level-program (display "hello")))) - (error? ; invalid context for library form + (error? ; invalid context for library form (lambda () (library (a) (export) (import)))) - (error? ; invalid syntax for library form + (error? ; invalid syntax for library form (lambda () (library a (import) (export x) (define x 3)) (import a) x)) - (error? ; invalid context for top-level-program form + (error? ; invalid context for top-level-program form (lambda () (top-level-program (import)))) - (error? ; invalid syntax for top-level-program form + (error? ; invalid syntax for top-level-program form (lambda () (top-level-program (display "hello")))) - (error? ; defnie not defined + (error? ; defnie not defined (library ($l1-s) (export y) (import (rnrs)) (defnie x 3) (define y 4))) (begin @@ -7857,17 +8838,17 @@ (define x 0) (define set-x! (lambda () (set! x 1))))) #t) - (error? ; attempt to reference assigned hence unexported + (error? ; attempt to reference assigned hence unexported (let () (import ($l1-s)) (import m) x)) - (error? ; attempt to reference assigned hence unexported + (error? ; attempt to reference assigned hence unexported (let () (import ($l1-s)) (import m) (set! x 2))) - (error? ; invalid version + (error? ; invalid version (let () (import-only (chezscheme csv7 (6))) record-field-mutator)) (equal? (let () (import-only (chezscheme csv7)) record-field-mutator) csv7:record-field-mutator) - ; test macros generating libraries + ; test macros generating libraries (begin (let-syntax ([make-A (syntax-rules () [(_) (library (A) @@ -7876,7 +8857,7 @@ (define $library-x 3))])]) (make-A)) #t) - (error? ; out-of-context library reference (A) + (error? ; out-of-context library reference (A) (equal? (let () (import (A)) $library-x) 3)) (begin (let-syntax ([make-A (lambda (x) @@ -7888,7 +8869,7 @@ (define $library-x 3)))]))]) (make-A)) #t) - (error? ; unbound $library-x + (error? ; unbound $library-x (equal? (let () (import (A)) $library-x) 3)) (begin (let-syntax ([make-A (lambda (x) @@ -7910,7 +8891,7 @@ (import (chezscheme)) (define x 3)) (let () (import (A)) - (eqv? x 3)))])]) + (eqv? x 3)))])]) (make-A)) (let-syntax ([make-A (syntax-rules () [(_) (begin @@ -7931,15 +8912,15 @@ (lambda () (pretty-print '(library (testfile-a14) (export f) (import (chezscheme)) - (define f (lambda (n) (if (fx= n 0) 1 (fx* n (f (fx- n 1)))))) - (printf "invoked a\n")))) + (define f (lambda (n) (if (fx= n 0) 1 (fx* n (f (fx- n 1)))))) + (printf "invoked a\n")))) 'replace) (with-output-to-file "testfile-b14.ss" (lambda () (pretty-print '(library (testfile-b14) (export g) (import (chezscheme) (testfile-a14)) - (define g (lambda (n) (f n))) - (printf "invoked b\n")))) + (define g (lambda (n) (f n))) + (printf "invoked b\n")))) 'replace) (with-output-to-file "testfile-c14.ss" (lambda () @@ -7951,48 +8932,48 @@ (with-output-to-string (lambda () (load "testfile-c14.ss"))) "invoked a\ninvoked b\n3628800\n") - ; test for proper propagation and non-propagation of constants across library boundaries + ; test for proper propagation and non-propagation of constants across library boundaries (begin (with-output-to-file "testfile-a15.ss" (lambda () (pretty-print '(library (testfile-a15) (export a b c d e f g fa fb fc fd fe ff fg) - (import (chezscheme)) - (define-record-type foo (nongenerative) (fields x)) - (define a '()) - (define b 'sym) - (define c 3/4) - (define d '(x . y)) - (define e (record-type-descriptor foo)) - (define f (make-foo 3)) - (define g "hello!") - (define fa (lambda () a)) - (define fb (lambda () b)) - (define fc (lambda () c)) - (define fd (lambda () d)) - (define fe (lambda () e)) - (define ff (lambda () f)) - (define fg (lambda () g))))) + (import (chezscheme)) + (define-record-type foo (nongenerative) (fields x)) + (define a '()) + (define b 'sym) + (define c 3/4) + (define d '(x . y)) + (define e (record-type-descriptor foo)) + (define f (make-foo 3)) + (define g "hello!") + (define fa (lambda () a)) + (define fb (lambda () b)) + (define fc (lambda () c)) + (define fd (lambda () d)) + (define fe (lambda () e)) + (define ff (lambda () f)) + (define fg (lambda () g))))) 'replace) (with-output-to-file "testfile-b15.ss" (lambda () (pretty-print '(library (testfile-b15) (export a b c d e f g fa fb fc fd fe ff fg) - (import (chezscheme) (prefix (testfile-a15) %)) - (define a %a) - (define b %b) - (define c %c) - (define d %d) - (define e %e) - (define f %f) - (define g %g) - (define fa (lambda () (%fa))) - (define fb (lambda () (%fb))) - (define fc (lambda () (%fc))) - (define fd (lambda () (%fd))) - (define fe (lambda () (%fe))) - (define ff (lambda () (%ff))) - (define fg (lambda () (%fg)))))) + (import (chezscheme) (prefix (testfile-a15) %)) + (define a %a) + (define b %b) + (define c %c) + (define d %d) + (define e %e) + (define f %f) + (define g %g) + (define fa (lambda () (%fa))) + (define fb (lambda () (%fb))) + (define fc (lambda () (%fc))) + (define fd (lambda () (%fd))) + (define fe (lambda () (%fe))) + (define ff (lambda () (%ff))) + (define fg (lambda () (%fg)))))) 'replace) (with-output-to-file "testfile-c15.ss" (lambda () @@ -8011,10 +8992,10 @@ (for-each separate-compile '(a15 b15 c15)) #t) ((lambda (x ls) (and (member x ls) #t)) - (with-output-to-string - (lambda () (load "testfile-c15.so"))) - '("(#t #t #f #t #t #t #t #t #t #f #t #t #t #t)\n(#t #t #t #t #t #t #t #t #t #t #t #t #t #t)\n(#t #t #t #t #t #t #t #t #t #t #t #t #t #t)\n" - "(#t #t #t #t #t #t #t #t #t #t #t #t #t #t)\n(#t #t #t #t #t #t #t #t #t #t #t #t #t #t)\n(#t #t #t #t #t #t #t #t #t #t #t #t #t #t)\n")) + (with-output-to-string + (lambda () (load "testfile-c15.so"))) + '("(#t #t #f #t #t #t #t #t #t #f #t #t #t #t)\n(#t #t #t #t #t #t #t #t #t #t #t #t #t #t)\n(#t #t #t #t #t #t #t #t #t #t #t #t #t #t)\n" + "(#t #t #t #t #t #t #t #t #t #t #t #t #t #t)\n(#t #t #t #t #t #t #t #t #t #t #t #t #t #t)\n(#t #t #t #t #t #t #t #t #t #t #t #t #t #t)\n")) (begin (library ($l3) (export f) (import (chezscheme)) (define (f x) x)) #t) @@ -8034,7 +9015,7 @@ ;; (export import-spec ...) multiple imports case (library ($l4-C) (export) (import (chezscheme)) (export (import ($l4-A) ($l4-B)))) (equal? '(1 2) (let () (import ($l4-C)) (list a b)))) - ) + ) (mat library2 ; test to make sure that libraries needed by the transformers of local @@ -9588,9 +10569,8 @@ '(let () (define-syntax ref-prop (lambda (x) - (lambda (r) - (syntax-case x () - [(_ id key) (r #'id #'key)])))) + (syntax-case x () + [(_ id key) (property-value #'id #'key)]))) (ref-prop q5 q5))) "ct\n3\n") (begin @@ -9606,9 +10586,8 @@ '(let () (define-syntax ref-prop (lambda (x) - (lambda (r) - (syntax-case x () - [(_ id key) (r #'id #'key)])))) + (syntax-case x () + [(_ id key) (property-value #'id #'key)]))) (ref-prop q6 q6))) "rt\n4\n") (begin @@ -9630,9 +10609,8 @@ '(let () (define-syntax ref-prop (lambda (x) - (lambda (r) - (syntax-case x () - [(_ id key) (r #'id #'key)])))) + (syntax-case x () + [(_ id key) (property-value #'id #'key)]))) (ref-prop q5 q5))) "ct\n33\n") (equal? @@ -9640,9 +10618,8 @@ '(let () (define-syntax ref-prop (lambda (x) - (lambda (r) - (syntax-case x () - [(_ id key) (r #'id #'key)])))) + (syntax-case x () + [(_ id key) (property-value #'id #'key)]))) (ref-prop q6 q6))) "rt\n44\n") ; -------- diff --git a/mats/patch-compile-0-f-f-t b/mats/patch-compile-0-f-f-t index 0525a020f..8d54acc03 100644 --- a/mats/patch-compile-0-f-f-t +++ b/mats/patch-compile-0-f-f-t @@ -1,7 +1,7 @@ -*** output-compile-0-f-f-f-experr/errors-compile-0-f-f-f Fri Feb 24 19:33:45 2023 ---- output-compile-0-f-f-t-experr/errors-compile-0-f-f-t Fri Feb 24 19:33:41 2023 +*** output-compile-0-f-f-f-experr/errors-compile-0-f-f-f 2025-04-28 11:23:44.687579691 +0200 +--- output-compile-0-f-f-t-experr/errors-compile-0-f-f-t 2025-04-28 11:23:32.378650435 +0200 *************** -*** 4052,4058 **** +*** 4069,4075 **** 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 1 to #". ---- 4052,4058 ---- +--- 4069,4075 ---- 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 1 to #". *************** -*** 7881,7891 **** +*** 8023,8033 **** 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". ---- 7881,7891 ---- +--- 8023,8033 ---- 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". *************** -*** 9412,9424 **** +*** 9577,9589 **** fx.mo:Expected error in mat fx-/wraparound: "fx-: <-int> is not a fixnum". fx.mo:Expected error in mat fx-/wraparound: "fx-: <-int> is not a fixnum". fx.mo:Expected error in mat fx*: "fx*: (a . b) is not a fixnum". @@ -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". ---- 9412,9424 ---- +--- 9577,9589 ---- fx.mo:Expected error in mat fx-/wraparound: "fx-: <-int> is not a fixnum". fx.mo:Expected error in mat fx-/wraparound: "fx-: <-int> is not a fixnum". fx.mo:Expected error in mat fx*: "fx*: (a . b) is not a fixnum". diff --git a/mats/patch-compile-0-f-t-f b/mats/patch-compile-0-f-t-f index de33778ea..3a29a18bb 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 Wed Feb 12 08:37:37 2025 ---- output-compile-0-f-t-f-cl3/errors-compile-0-f-t-f Wed Feb 12 04:06:08 2025 +*** output-compile-0-f-f-f-experr/errors-compile-0-f-f-f 2025-04-28 11:23:44.687579691 +0200 +--- output-compile-0-f-t-f-experr/errors-compile-0-f-t-f 2025-04-28 11:23:35.327633488 +0200 *************** -*** 212,218 **** +*** 224,230 **** 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". ---- 212,218 ---- +--- 224,230 ---- 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,26 +18,24 @@ 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". *************** -*** 231,238 **** +*** 243,249 **** 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". +! 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 f". -- 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". - 3.mo:Expected error in mat cpvalid: "attempt to reference undefined variable x". ---- 231,238 ---- +--- 243,249 ---- 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". -+ 3.mo:Expected error in mat cpvalid: "attempt to reference undefined variable g". +! 3.mo:Expected error in mat cpvalid: "attempt to reference undefined variable g". 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". - 3.mo:Expected error in mat cpvalid: "attempt to reference undefined variable x". *************** -*** 278,287 **** +*** 290,299 **** 3.mo:Expected error in mat mrvs: "returned 3 values to single value return context". 3.mo:Expected error in mat mrvs: "returned 3 values to single value return context". 3.mo:Expected error in mat mrvs: "returned 0 values to single value return context". @@ -48,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 2 values to single value return context". ---- 278,287 ---- +--- 290,299 ---- 3.mo:Expected error in mat mrvs: "returned 3 values to single value return context". 3.mo:Expected error in mat mrvs: "returned 3 values to single value return context". 3.mo:Expected error in mat mrvs: "returned 0 values to single value return context". @@ -60,7 +58,7 @@ 3.mo:Expected error in mat mrvs: "attempt to apply non-procedure 17". 3.mo:Expected error in mat mrvs: "returned 2 values to single value return context". *************** -*** 4101,4107 **** +*** 4113,4119 **** 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". @@ -68,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". ---- 4101,4107 ---- +--- 4113,4119 ---- 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". @@ -77,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". *************** -*** 7963,7970 **** +*** 8033,8040 **** 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". @@ -86,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)". ---- 7963,7970 ---- +--- 8033,8040 ---- 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". @@ -96,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)". *************** -*** 7972,7986 **** +*** 8042,8056 **** 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". @@ -112,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". ---- 7972,7986 ---- +--- 8042,8056 ---- 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". @@ -129,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". *************** -*** 7993,8018 **** +*** 8063,8088 **** 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 #". @@ -156,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". ---- 7993,8018 ---- +--- 8063,8088 ---- 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 #". @@ -184,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". *************** -*** 8148,8186 **** +*** 8225,8263 **** 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 # as bar". @@ -224,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". ---- 8148,8186 ---- +--- 8225,8263 ---- 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 # as bar". @@ -265,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". *************** -*** 8197,8254 **** +*** 8274,8331 **** 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". @@ -324,7 +322,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". ---- 8197,8254 ---- +--- 8274,8331 ---- 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-f-t-t b/mats/patch-compile-0-f-t-t index f235c878c..c7518b200 100644 --- a/mats/patch-compile-0-f-t-t +++ b/mats/patch-compile-0-f-t-t @@ -1,7 +1,7 @@ -*** output-compile-0-f-t-f-experr/errors-compile-0-f-t-f Fri Feb 24 19:33:42 2023 ---- output-compile-0-f-t-t-experr/errors-compile-0-f-t-t Fri Feb 24 19:33:36 2023 +*** output-compile-0-f-t-f-experr/errors-compile-0-f-t-f 2025-04-28 11:23:35.327633488 +0200 +--- output-compile-0-f-t-t-experr/errors-compile-0-f-t-t 2025-04-28 11:23:23.503701427 +0200 *************** -*** 9412,9424 **** +*** 9577,9589 **** fx.mo:Expected error in mat fx-/wraparound: "fx-: <-int> is not a fixnum". fx.mo:Expected error in mat fx-/wraparound: "fx-: <-int> is not a fixnum". fx.mo:Expected error in mat fx*: "fx*: (a . b) is not a fixnum". @@ -15,7 +15,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". ---- 9412,9424 ---- +--- 9577,9589 ---- fx.mo:Expected error in mat fx-/wraparound: "fx-: <-int> is not a fixnum". fx.mo:Expected error in mat fx-/wraparound: "fx-: <-int> is not a fixnum". fx.mo:Expected error in mat fx*: "fx*: (a . b) is not a fixnum". diff --git a/mats/patch-compile-0-t-f-f b/mats/patch-compile-0-t-f-f index 4219d250e..f78499547 100644 --- a/mats/patch-compile-0-t-f-f +++ b/mats/patch-compile-0-t-f-f @@ -1,7 +1,7 @@ -*** output-compile-0-f-f-f-experr/errors-compile-0-f-f-f Wed Mar 26 16:42:58 2025 ---- output-compile-0-t-f-f-experr/errors-compile-0-t-f-f Wed Mar 26 16:47:08 2025 +*** output-compile-0-f-f-f-experr/errors-compile-0-f-f-f 2025-04-28 11:23:44.687579691 +0200 +--- output-compile-0-t-f-f-experr/errors-compile-0-t-f-f 2025-04-28 11:24:00.793487089 +0200 *************** -*** 180,186 **** +*** 192,198 **** 3.mo:Expected error in mat case-lambda: "incorrect number of arguments 2 to #". 3.mo:Expected error in mat case-lambda: "incorrect number of arguments 4 to #". 3.mo:Expected error in mat case-lambda: "incorrect number of arguments 2 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". ---- 180,186 ---- +--- 192,198 ---- 3.mo:Expected error in mat case-lambda: "incorrect number of arguments 2 to #". 3.mo:Expected error in mat case-lambda: "incorrect number of arguments 4 to #". 3.mo:Expected error in mat case-lambda: "incorrect number of arguments 2 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". *************** -*** 278,289 **** +*** 290,301 **** 3.mo:Expected error in mat mrvs: "returned 3 values to single value return context". 3.mo:Expected error in mat mrvs: "returned 3 values to single value return context". 3.mo:Expected error in mat mrvs: "returned 0 values to single value return context". @@ -31,7 +31,7 @@ 3.mo:Expected error in mat mrvs: "returned 2 values to single value return context". 3.mo:Expected error in mat mrvs: "returned 2 values to single value return context". 3.mo:Expected error in mat mrvs: "cdr: a is not a pair". ---- 278,289 ---- +--- 290,301 ---- 3.mo:Expected error in mat mrvs: "returned 3 values to single value return context". 3.mo:Expected error in mat mrvs: "returned 3 values to single value return context". 3.mo:Expected error in mat mrvs: "returned 0 values to single value return context". @@ -45,7 +45,7 @@ 3.mo:Expected error in mat mrvs: "returned 2 values to single value return context". 3.mo:Expected error in mat mrvs: "cdr: a is not a pair". *************** -*** 320,327 **** +*** 332,339 **** 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". ---- 320,327 ---- +--- 332,339 ---- 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". *************** -*** 617,623 **** +*** 629,635 **** 4.mo:Expected error in mat continuation-attachments: "invalid primitive name $current-continuation-attachments". 4.mo:Expected error in mat continuation-attachments: "incorrect argument count in call ($call-setting-continuation-attachment (quote any))". 4.mo:Expected error in mat continuation-attachments: "$call-setting-continuation-attachment: 10 is not a procedure". @@ -72,7 +72,7 @@ 4.mo:Expected error in mat continuation-attachments: "incorrect number of arguments 0 to #". 4.mo:Expected error in mat continuation-attachments: "incorrect argument count in call ($call-getting-continuation-attachment (quote none))". 4.mo:Expected error in mat continuation-attachments: "$call-getting-continuation-attachment: 10 is not a procedure". ---- 617,623 ---- +--- 629,635 ---- 4.mo:Expected error in mat continuation-attachments: "invalid primitive name $current-continuation-attachments". 4.mo:Expected error in mat continuation-attachments: "incorrect argument count in call ($call-setting-continuation-attachment (quote any))". 4.mo:Expected error in mat continuation-attachments: "$call-setting-continuation-attachment: 10 is not a procedure". @@ -81,7 +81,7 @@ 4.mo:Expected error in mat continuation-attachments: "incorrect argument count in call ($call-getting-continuation-attachment (quote none))". 4.mo:Expected error in mat continuation-attachments: "$call-getting-continuation-attachment: 10 is not a procedure". *************** -*** 637,654 **** +*** 649,666 **** 4.mo:Expected error in mat continuation-attachments: "attempt to apply non-procedure also-something-else". 4.mo:Expected error in mat continuation-attachments: "attempt to apply non-procedure also-something-else". 4.mo:Expected error in mat continuation-attachments: "attempt to apply non-procedure also-something-else". @@ -100,7 +100,7 @@ 4.mo:Expected error in mat continuation-marks: "continuation-marks->iterator: y is not a vector". 4.mo:Expected error in mat continuation-marks: "continuation-next-marks: oops is not a continuation". 4.mo:Expected error in mat continuation-marks: "call-with-immediate-continuation-mark: #f is not a procedure". ---- 637,654 ---- +--- 649,666 ---- 4.mo:Expected error in mat continuation-attachments: "attempt to apply non-procedure also-something-else". 4.mo:Expected error in mat continuation-attachments: "attempt to apply non-procedure also-something-else". 4.mo:Expected error in mat continuation-attachments: "attempt to apply non-procedure also-something-else". @@ -120,7 +120,7 @@ 4.mo:Expected error in mat continuation-marks: "continuation-next-marks: oops is not a continuation". 4.mo:Expected error in mat continuation-marks: "call-with-immediate-continuation-mark: #f is not a procedure". *************** -*** 658,666 **** +*** 670,678 **** 4.mo:Expected error in mat call-in-continuation: "call-in-other-continuation: # is not a continuation". 4.mo:Expected error in mat call-in-continuation: "call-in-other-continuation: #f is not an extension of of the attachments of #". 4.mo:Expected error in mat call-in-continuation: "call-in-other-continuation: (1 2 3) is not an extension of of the attachments of #". @@ -130,7 +130,7 @@ 4.mo:Expected error in mat call-in-continuation: "call-in-continuation: #f is not a continuation mark sequence". 4.mo:Expected error in mat call-in-continuation: "call-in-continuation: (1 2 3) is not a continuation mark sequence". 4.mo:Expected error in mat call-in-continuation: "call-in-continuation: # is not an extension of the marks of #". ---- 658,666 ---- +--- 670,678 ---- 4.mo:Expected error in mat call-in-continuation: "call-in-other-continuation: # is not a continuation". 4.mo:Expected error in mat call-in-continuation: "call-in-other-continuation: #f is not an extension of of the attachments of #". 4.mo:Expected error in mat call-in-continuation: "call-in-other-continuation: (1 2 3) is not an extension of of the attachments of #". @@ -141,7 +141,7 @@ 4.mo:Expected error in mat call-in-continuation: "call-in-continuation: (1 2 3) is not a continuation mark sequence". 4.mo:Expected error in mat call-in-continuation: "call-in-continuation: # is not an extension of the marks of #". *************** -*** 673,680 **** +*** 685,692 **** 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". @@ -150,7 +150,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". ---- 673,680 ---- +--- 685,692 ---- 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". @@ -160,7 +160,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". *************** -*** 684,691 **** +*** 696,703 **** 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". @@ -169,7 +169,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". ---- 684,691 ---- +--- 696,703 ---- 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". @@ -179,7 +179,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". *************** -*** 727,734 **** +*** 739,746 **** 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)". @@ -188,7 +188,7 @@ 5_2.mo:Expected error in mat list-ref: "list-ref: index 0 reaches a non-pair in a". 5_2.mo:Expected error in mat list-ref: "list-ref: index 4 reaches a non-pair in (a b . c)". 5_2.mo:Expected error in mat list-ref: "list-ref: index 4 is out of range for list (a b)". ---- 727,734 ---- +--- 739,746 ---- 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)". @@ -198,7 +198,7 @@ 5_2.mo:Expected error in mat list-ref: "list-ref: index 4 reaches a non-pair in (a b . c)". 5_2.mo:Expected error in mat list-ref: "list-ref: index 4 is out of range for list (a b)". *************** -*** 815,827 **** +*** 827,839 **** 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". @@ -212,7 +212,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". ---- 815,827 ---- +--- 827,839 ---- 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". @@ -227,7 +227,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". *************** -*** 834,851 **** +*** 846,863 **** 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". @@ -246,7 +246,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)". ---- 834,851 ---- +--- 846,863 ---- 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". @@ -266,7 +266,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)". *************** -*** 888,897 **** +*** 900,909 **** 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) ...)". @@ -277,7 +277,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". ---- 888,897 ---- +--- 900,909 ---- 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) ...)". @@ -289,7 +289,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". *************** -*** 900,909 **** +*** 912,921 **** 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". @@ -300,7 +300,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". ---- 900,909 ---- +--- 912,921 ---- 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". @@ -312,7 +312,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". *************** -*** 912,921 **** +*** 924,933 **** 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". @@ -323,7 +323,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". ---- 912,921 ---- +--- 924,933 ---- 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". @@ -335,7 +335,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". *************** -*** 944,961 **** +*** 956,973 **** 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". @@ -354,7 +354,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". ---- 944,961 ---- +--- 956,973 ---- 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". @@ -374,7 +374,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". *************** -*** 966,972 **** +*** 978,984 **** 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". @@ -382,7 +382,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". ---- 966,972 ---- +--- 978,984 ---- 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". @@ -391,7 +391,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". *************** -*** 1002,1008 **** +*** 1014,1020 **** 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". @@ -399,7 +399,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". ---- 1002,1008 ---- +--- 1014,1020 ---- 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". @@ -408,7 +408,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". *************** -*** 1011,1017 **** +*** 1023,1029 **** 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". @@ -416,7 +416,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". ---- 1011,1017 ---- +--- 1023,1029 ---- 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". @@ -425,7 +425,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". *************** -*** 1031,1037 **** +*** 1043,1049 **** 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". @@ -433,7 +433,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". ---- 1031,1037 ---- +--- 1043,1049 ---- 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". @@ -442,7 +442,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". *************** -*** 1051,1057 **** +*** 1063,1069 **** 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". @@ -450,7 +450,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". ---- 1051,1057 ---- +--- 1063,1069 ---- 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". @@ -459,7 +459,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". *************** -*** 1071,1077 **** +*** 1083,1089 **** 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". @@ -467,7 +467,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". ---- 1071,1077 ---- +--- 1083,1089 ---- 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". @@ -476,7 +476,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". *************** -*** 1091,1098 **** +*** 1103,1110 **** 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". @@ -485,7 +485,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". ---- 1091,1098 ---- +--- 1103,1110 ---- 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". @@ -495,7 +495,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". *************** -*** 1100,1107 **** +*** 1112,1119 **** 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". @@ -504,7 +504,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". ---- 1100,1107 ---- +--- 1112,1119 ---- 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". @@ -514,7 +514,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". *************** -*** 1112,1119 **** +*** 1124,1131 **** 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". @@ -523,7 +523,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". ---- 1112,1119 ---- +--- 1124,1131 ---- 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". @@ -533,7 +533,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". *************** -*** 1124,1131 **** +*** 1136,1143 **** 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". @@ -542,7 +542,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". ---- 1124,1131 ---- +--- 1136,1143 ---- 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". @@ -552,7 +552,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". *************** -*** 1136,1143 **** +*** 1148,1155 **** 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". @@ -561,7 +561,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". ---- 1136,1143 ---- +--- 1148,1155 ---- 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". @@ -571,7 +571,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". *************** -*** 1157,1163 **** +*** 1169,1175 **** 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". @@ -579,7 +579,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". ---- 1157,1163 ---- +--- 1169,1175 ---- 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". @@ -588,7 +588,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". *************** -*** 1170,1176 **** +*** 1182,1188 **** 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". @@ -596,7 +596,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". ---- 1170,1176 ---- +--- 1182,1188 ---- 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". @@ -605,7 +605,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". *************** -*** 1187,1254 **** +*** 1199,1266 **** 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". @@ -674,7 +674,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". ---- 1187,1254 ---- +--- 1199,1266 ---- 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". @@ -744,7 +744,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". *************** -*** 1261,1270 **** +*** 1273,1282 **** 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". @@ -755,7 +755,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". ---- 1261,1270 ---- +--- 1273,1282 ---- 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". @@ -767,7 +767,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". *************** -*** 1275,1283 **** +*** 1287,1295 **** 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". @@ -777,7 +777,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". ---- 1275,1283 ---- +--- 1287,1295 ---- 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". @@ -788,7 +788,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". *************** -*** 1287,1332 **** +*** 1299,1344 **** 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". @@ -835,7 +835,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". ---- 1287,1332 ---- +--- 1299,1344 ---- 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". @@ -883,7 +883,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". *************** -*** 1385,1393 **** +*** 1397,1405 **** 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". @@ -893,7 +893,7 @@ 5_3.mo:Expected error in mat expt: "expt: a is not a number". 5_3.mo:Expected error in mat expt: "expt: a is not a number". 5_3.mo:Expected error in mat expt: "expt: undefined for values 0 and -1". ---- 1385,1393 ---- +--- 1397,1405 ---- 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". @@ -904,7 +904,7 @@ 5_3.mo:Expected error in mat expt: "expt: a is not a number". 5_3.mo:Expected error in mat expt: "expt: undefined for values 0 and -1". *************** -*** 1400,1415 **** +*** 1412,1427 **** 5_3.mo:Expected error in mat expt: "expt: undefined for values 0 and +nan.0+3.0i". 5_3.mo:Expected error in mat expt: "expt: undefined for values 0 and 0+3i". 5_3.mo:Expected error in mat expt: "expt: undefined for values 0 and -1/2". @@ -921,7 +921,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". ---- 1400,1415 ---- +--- 1412,1427 ---- 5_3.mo:Expected error in mat expt: "expt: undefined for values 0 and +nan.0+3.0i". 5_3.mo:Expected error in mat expt: "expt: undefined for values 0 and 0+3i". 5_3.mo:Expected error in mat expt: "expt: undefined for values 0 and -1/2". @@ -939,7 +939,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". *************** -*** 1442,1480 **** +*** 1454,1492 **** 5_3.mo:Expected error in mat pseudo-random-generator: "vector->pseudo-random-generator!: not a pseudo-random generator 0". 5_3.mo:Expected error in mat pseudo-random-generator: "vector->pseudo-random-generator!: not a valid pseudo-random generator state vector 0". 5_3.mo:Expected error in mat pseudo-random-generator: "vector->pseudo-random-generator!: not a valid pseudo-random generator state vector #(0 0 0 0 0 0)". @@ -979,7 +979,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". ---- 1442,1480 ---- +--- 1454,1492 ---- 5_3.mo:Expected error in mat pseudo-random-generator: "vector->pseudo-random-generator!: not a pseudo-random generator 0". 5_3.mo:Expected error in mat pseudo-random-generator: "vector->pseudo-random-generator!: not a valid pseudo-random generator state vector 0". 5_3.mo:Expected error in mat pseudo-random-generator: "vector->pseudo-random-generator!: not a valid pseudo-random generator state vector #(0 0 0 0 0 0)". @@ -1020,7 +1020,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". *************** -*** 1484,1560 **** +*** 1496,1572 **** 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". @@ -1098,7 +1098,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". ---- 1484,1560 ---- +--- 1496,1572 ---- 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". @@ -1177,7 +1177,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". *************** -*** 1565,1575 **** +*** 1577,1587 **** 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 ". @@ -1189,7 +1189,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". ---- 1565,1575 ---- +--- 1577,1587 ---- 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 ". @@ -1202,7 +1202,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". *************** -*** 1582,1592 **** +*** 1594,1604 **** 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 ". @@ -1214,7 +1214,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". ---- 1582,1592 ---- +--- 1594,1604 ---- 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 ". @@ -1227,7 +1227,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". *************** -*** 1600,1609 **** +*** 1612,1621 **** 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 ". @@ -1238,7 +1238,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". ---- 1600,1609 ---- +--- 1612,1621 ---- 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 ". @@ -1250,7 +1250,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". *************** -*** 1614,1637 **** +*** 1626,1649 **** 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 ". @@ -1275,7 +1275,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 0 to #". ---- 1614,1637 ---- +--- 1626,1649 ---- 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 ". @@ -1301,7 +1301,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 0 to #". *************** -*** 1757,1812 **** +*** 1769,1824 **** 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". @@ -1358,7 +1358,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". ---- 1757,1812 ---- +--- 1769,1824 ---- 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". @@ -1416,7 +1416,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". *************** -*** 1931,2097 **** +*** 1943,2109 **** 5_3.mo:Expected error in mat popcount: "fxpopcount16: 1267650600228229401496703205376 is not a 16-bit fixnum". 5_3.mo:Expected error in mat popcount: "fxpopcount16: 1048576 is not a 16-bit fixnum". 5_3.mo:Expected error in mat popcount: "fxpopcount16: -1 is not a 16-bit fixnum". @@ -1584,7 +1584,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". ---- 1931,2097 ---- +--- 1943,2109 ---- 5_3.mo:Expected error in mat popcount: "fxpopcount16: 1267650600228229401496703205376 is not a 16-bit fixnum". 5_3.mo:Expected error in mat popcount: "fxpopcount16: 1048576 is not a 16-bit fixnum". 5_3.mo:Expected error in mat popcount: "fxpopcount16: -1 is not a 16-bit fixnum". @@ -1753,7 +1753,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". *************** -*** 2110,2125 **** +*** 2122,2137 **** 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". @@ -1770,7 +1770,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". ---- 2110,2125 ---- +--- 2122,2137 ---- 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". @@ -1788,7 +1788,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". *************** -*** 2134,2162 **** +*** 2146,2174 **** 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". @@ -1818,7 +1818,7 @@ 5_4.mo:Expected error in mat normalization-tests: "string-normalize-nfkc: ouch is not a string". 5_4.mo:Expected error in mat grapheme: "string-grapheme-count: a is not a string". 5_4.mo:Expected error in mat grapheme: "string-grapheme-count: -1 is not a valid start index for "a"". ---- 2134,2162 ---- +--- 2146,2174 ---- 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". @@ -1849,7 +1849,7 @@ 5_4.mo:Expected error in mat grapheme: "string-grapheme-count: a is not a string". 5_4.mo:Expected error in mat grapheme: "string-grapheme-count: -1 is not a valid start index for "a"". *************** -*** 2165,2171 **** +*** 2177,2183 **** 5_4.mo:Expected error in mat grapheme: "string-grapheme-count: 1 and 0 are not valid start/end indices for "a"". 5_4.mo:Expected error in mat grapheme: "string-grapheme-count: 0 and a are not valid start/end indices for "a"". 5_4.mo:Expected error in mat grapheme: "string-grapheme-count: 1 and 2 are not valid start/end indices for "a"". @@ -1857,7 +1857,7 @@ 5_4.mo:Expected error in mat grapheme: "string-grapheme-span: a is not a string". 5_4.mo:Expected error in mat grapheme: "string-grapheme-span: -1 is not a valid start index for "a"". 5_4.mo:Expected error in mat grapheme: "string-grapheme-span: a is not a valid start index for "a"". ---- 2165,2171 ---- +--- 2177,2183 ---- 5_4.mo:Expected error in mat grapheme: "string-grapheme-count: 1 and 0 are not valid start/end indices for "a"". 5_4.mo:Expected error in mat grapheme: "string-grapheme-count: 0 and a are not valid start/end indices for "a"". 5_4.mo:Expected error in mat grapheme: "string-grapheme-count: 1 and 2 are not valid start/end indices for "a"". @@ -1866,7 +1866,7 @@ 5_4.mo:Expected error in mat grapheme: "string-grapheme-span: -1 is not a valid start index for "a"". 5_4.mo:Expected error in mat grapheme: "string-grapheme-span: a is not a valid start index for "a"". *************** -*** 2177,2298 **** +*** 2189,2310 **** 5_4.mo:Expected error in mat grapheme: "char-grapheme-step: a is not a character". 5_4.mo:Expected error in mat grapheme: "char-grapheme-step: #\a is not a grapheme cluster state". 5_4.mo:Expected error in mat grapheme: "char-grapheme-step: 1267650600228229401496703205376 is not a grapheme cluster state". @@ -1989,7 +1989,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". ---- 2177,2298 ---- +--- 2189,2310 ---- 5_4.mo:Expected error in mat grapheme: "char-grapheme-step: a is not a character". 5_4.mo:Expected error in mat grapheme: "char-grapheme-step: #\a is not a grapheme cluster state". 5_4.mo:Expected error in mat grapheme: "char-grapheme-step: 1267650600228229401496703205376 is not a grapheme cluster state". @@ -2113,7 +2113,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". *************** -*** 2300,2338 **** +*** 2312,2350 **** 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". @@ -2153,7 +2153,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". ---- 2300,2338 ---- +--- 2312,2350 ---- 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". @@ -2194,7 +2194,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". *************** -*** 2356,2364 **** +*** 2368,2376 **** 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"". @@ -2204,7 +2204,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"". ---- 2356,2364 ---- +--- 2368,2376 ---- 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"". @@ -2215,7 +2215,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"". *************** -*** 2373,2425 **** +*** 2385,2437 **** 5_5.mo:Expected error in mat string-append-immutable: "string-append-immutable: a is not a string". 5_5.mo:Expected error in mat string-append-immutable: "string-append-immutable: b is not a string". 5_5.mo:Expected error in mat string-append-immutable: "string-append-immutable: b is not a string". @@ -2269,7 +2269,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". ---- 2373,2425 ---- +--- 2385,2437 ---- 5_5.mo:Expected error in mat string-append-immutable: "string-append-immutable: a is not a string". 5_5.mo:Expected error in mat string-append-immutable: "string-append-immutable: b is not a string". 5_5.mo:Expected error in mat string-append-immutable: "string-append-immutable: b is not a string". @@ -2324,7 +2324,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". *************** -*** 2436,2465 **** +*** 2448,2477 **** 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". @@ -2355,7 +2355,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)". ---- 2436,2465 ---- +--- 2448,2477 ---- 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". @@ -2387,7 +2387,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)". *************** -*** 2468,2477 **** +*** 2480,2489 **** 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". @@ -2398,7 +2398,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)". ---- 2468,2477 ---- +--- 2480,2489 ---- 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". @@ -2410,7 +2410,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)". *************** -*** 2480,2488 **** +*** 2492,2500 **** 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". @@ -2420,7 +2420,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)". ---- 2480,2488 ---- +--- 2492,2500 ---- 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". @@ -2431,7 +2431,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)". *************** -*** 2490,2498 **** +*** 2502,2510 **** 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)". @@ -2441,7 +2441,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)". ---- 2490,2498 ---- +--- 2502,2510 ---- 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)". @@ -2452,7 +2452,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)". *************** -*** 2500,2509 **** +*** 2512,2521 **** 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)". @@ -2463,7 +2463,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 ...)". ---- 2500,2509 ---- +--- 2512,2521 ---- 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)". @@ -2475,7 +2475,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 ...)". *************** -*** 2517,2526 **** +*** 2529,2538 **** 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"". @@ -2486,7 +2486,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 ...)". ---- 2517,2526 ---- +--- 2529,2538 ---- 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"". @@ -2498,7 +2498,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 ...)". *************** -*** 2534,2542 **** +*** 2546,2554 **** 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"". @@ -2508,7 +2508,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)". ---- 2534,2542 ---- +--- 2546,2554 ---- 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"". @@ -2519,7 +2519,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)". *************** -*** 2546,2554 **** +*** 2558,2566 **** 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". @@ -2529,7 +2529,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)". ---- 2546,2554 ---- +--- 2558,2566 ---- 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". @@ -2540,7 +2540,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)". *************** -*** 2558,2567 **** +*** 2570,2579 **** 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". @@ -2551,7 +2551,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 ...)". ---- 2558,2567 ---- +--- 2570,2579 ---- 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". @@ -2563,7 +2563,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 ...)". *************** -*** 2577,2586 **** +*** 2589,2598 **** 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". @@ -2574,7 +2574,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 ...)". ---- 2577,2586 ---- +--- 2589,2598 ---- 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". @@ -2586,7 +2586,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 ...)". *************** -*** 2596,2605 **** +*** 2608,2617 **** 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". @@ -2597,7 +2597,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 ...)". ---- 2596,2605 ---- +--- 2608,2617 ---- 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". @@ -2609,7 +2609,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 ...)". *************** -*** 2609,2618 **** +*** 2621,2630 **** 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". @@ -2620,7 +2620,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 ...)". ---- 2609,2618 ---- +--- 2621,2630 ---- 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". @@ -2632,7 +2632,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 ...)". *************** -*** 2622,2632 **** +*** 2634,2644 **** 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". @@ -2644,7 +2644,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 ...)". ---- 2622,2632 ---- +--- 2634,2644 ---- 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". @@ -2657,7 +2657,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 ...)". *************** -*** 2640,2650 **** +*** 2652,2662 **** 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 ...)". @@ -2669,7 +2669,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 ...)". ---- 2640,2650 ---- +--- 2652,2662 ---- 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 ...)". @@ -2682,7 +2682,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 ...)". *************** -*** 2658,2666 **** +*** 2670,2678 **** 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 ...)". @@ -2692,7 +2692,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 ...)". ---- 2658,2666 ---- +--- 2670,2678 ---- 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 ...)". @@ -2703,7 +2703,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 ...)". *************** -*** 2672,2680 **** +*** 2684,2692 **** 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 ...)". @@ -2713,7 +2713,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 ...)". ---- 2672,2680 ---- +--- 2684,2692 ---- 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 ...)". @@ -2724,7 +2724,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 ...)". *************** -*** 2686,2695 **** +*** 2698,2707 **** 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 ...)". @@ -2735,7 +2735,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 ...)". ---- 2686,2695 ---- +--- 2698,2707 ---- 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 ...)". @@ -2747,7 +2747,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 ...)". *************** -*** 2716,2725 **** +*** 2728,2737 **** 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"". @@ -2758,7 +2758,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 ...)". ---- 2716,2725 ---- +--- 2728,2737 ---- 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"". @@ -2770,7 +2770,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 ...)". *************** -*** 2746,2755 **** +*** 2758,2767 **** 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"". @@ -2781,7 +2781,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 ...)". ---- 2746,2755 ---- +--- 2758,2767 ---- 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"". @@ -2793,7 +2793,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 ...)". *************** -*** 2759,2768 **** +*** 2771,2780 **** 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". @@ -2804,7 +2804,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 ...)". ---- 2759,2768 ---- +--- 2771,2780 ---- 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". @@ -2816,7 +2816,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 ...)". *************** -*** 2772,2782 **** +*** 2784,2794 **** 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". @@ -2828,7 +2828,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 ...)". ---- 2772,2782 ---- +--- 2784,2794 ---- 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". @@ -2841,7 +2841,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 ...)". *************** -*** 2791,2801 **** +*** 2803,2813 **** 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 ...)". @@ -2853,7 +2853,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 ...)". ---- 2791,2801 ---- +--- 2803,2813 ---- 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 ...)". @@ -2866,7 +2866,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 ...)". *************** -*** 2810,2819 **** +*** 2822,2831 **** 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 ...)". @@ -2877,7 +2877,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 ...)". ---- 2810,2819 ---- +--- 2822,2831 ---- 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 ...)". @@ -2889,7 +2889,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 ...)". *************** -*** 2823,2832 **** +*** 2835,2844 **** 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". @@ -2900,7 +2900,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 ...)". ---- 2823,2832 ---- +--- 2835,2844 ---- 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". @@ -2912,7 +2912,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 ...)". *************** -*** 2836,2846 **** +*** 2848,2858 **** 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". @@ -2924,7 +2924,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 ...)". ---- 2836,2846 ---- +--- 2848,2858 ---- 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". @@ -2937,7 +2937,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 ...)". *************** -*** 2854,2864 **** +*** 2866,2876 **** 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 ...)". @@ -2949,7 +2949,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 ...)". ---- 2854,2864 ---- +--- 2866,2876 ---- 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 ...)". @@ -2962,7 +2962,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 ...)". *************** -*** 2872,2881 **** +*** 2884,2893 **** 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 ...)". @@ -2973,7 +2973,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 ...)". ---- 2872,2881 ---- +--- 2884,2893 ---- 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 ...)". @@ -2985,7 +2985,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 ...)". *************** -*** 2885,2894 **** +*** 2897,2906 **** 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". @@ -2996,7 +2996,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 ...)". ---- 2885,2894 ---- +--- 2897,2906 ---- 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". @@ -3008,7 +3008,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 ...)". *************** -*** 2898,2908 **** +*** 2910,2920 **** 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". @@ -3020,7 +3020,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 ...)". ---- 2898,2908 ---- +--- 2910,2920 ---- 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". @@ -3033,7 +3033,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 ...)". *************** -*** 2916,2926 **** +*** 2928,2938 **** 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 ...)". @@ -3045,7 +3045,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 ...)". ---- 2916,2926 ---- +--- 2928,2938 ---- 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 ...)". @@ -3058,7 +3058,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 ...)". *************** -*** 2934,2943 **** +*** 2946,2955 **** 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 ...)". @@ -3069,7 +3069,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 ...)". ---- 2934,2943 ---- +--- 2946,2955 ---- 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 ...)". @@ -3081,7 +3081,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 ...)". *************** -*** 2947,2956 **** +*** 2959,2968 **** 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". @@ -3092,7 +3092,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 ...)". ---- 2947,2956 ---- +--- 2959,2968 ---- 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". @@ -3104,7 +3104,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 ...)". *************** -*** 2960,2970 **** +*** 2972,2982 **** 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". @@ -3116,7 +3116,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 ...)". ---- 2960,2970 ---- +--- 2972,2982 ---- 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". @@ -3129,7 +3129,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 ...)". *************** -*** 2978,2988 **** +*** 2990,3000 **** 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 ...)". @@ -3141,7 +3141,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 ...)". ---- 2978,2988 ---- +--- 2990,3000 ---- 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 ...)". @@ -3154,7 +3154,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 ...)". *************** -*** 2996,3004 **** +*** 3008,3016 **** 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 ...)". @@ -3164,7 +3164,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 ...)". ---- 2996,3004 ---- +--- 3008,3016 ---- 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 ...)". @@ -3175,7 +3175,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 ...)". *************** -*** 3028,3036 **** +*** 3040,3048 **** 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 ...)". @@ -3185,7 +3185,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 ...)". ---- 3028,3036 ---- +--- 3040,3048 ---- 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 ...)". @@ -3196,7 +3196,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 ...)". *************** -*** 3060,3069 **** +*** 3072,3081 **** 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 ...)". @@ -3207,7 +3207,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 ...)". ---- 3060,3069 ---- +--- 3072,3081 ---- 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 ...)". @@ -3219,7 +3219,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 ...)". *************** -*** 3097,3106 **** +*** 3109,3118 **** 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"". @@ -3230,7 +3230,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 ...)". ---- 3097,3106 ---- +--- 3109,3118 ---- 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"". @@ -3242,7 +3242,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 ...)". *************** -*** 3134,3143 **** +*** 3146,3155 **** 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"". @@ -3253,7 +3253,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 ...)". ---- 3134,3143 ---- +--- 3146,3155 ---- 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"". @@ -3265,7 +3265,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 ...)". *************** -*** 3153,3162 **** +*** 3165,3174 **** 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". @@ -3276,7 +3276,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 ...)". ---- 3153,3162 ---- +--- 3165,3174 ---- 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". @@ -3288,7 +3288,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 ...)". *************** -*** 3172,3182 **** +*** 3184,3194 **** 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". @@ -3300,7 +3300,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 ...)". ---- 3172,3182 ---- +--- 3184,3194 ---- 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". @@ -3313,7 +3313,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 ...)". *************** -*** 3195,3205 **** +*** 3207,3217 **** 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". @@ -3325,7 +3325,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 ...)". ---- 3195,3205 ---- +--- 3207,3217 ---- 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". @@ -3338,7 +3338,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 ...)". *************** -*** 3218,3226 **** +*** 3230,3238 **** 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". @@ -3348,7 +3348,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 ...)". ---- 3218,3226 ---- +--- 3230,3238 ---- 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". @@ -3359,7 +3359,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 ...)". *************** -*** 3256,3264 **** +*** 3268,3276 **** 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 ...)". @@ -3369,7 +3369,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 ...)". ---- 3256,3264 ---- +--- 3268,3276 ---- 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 ...)". @@ -3380,7 +3380,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 ...)". *************** -*** 3298,3307 **** +*** 3310,3319 **** 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 ...)". @@ -3391,7 +3391,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 ...)". ---- 3298,3307 ---- +--- 3310,3319 ---- 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 ...)". @@ -3403,7 +3403,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 ...)". *************** -*** 3335,3344 **** +*** 3347,3356 **** 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". @@ -3414,7 +3414,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 ...)". ---- 3335,3344 ---- +--- 3347,3356 ---- 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". @@ -3426,7 +3426,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 ...)". *************** -*** 3384,3393 **** +*** 3396,3405 **** 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". @@ -3437,7 +3437,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 ...)". ---- 3384,3393 ---- +--- 3396,3405 ---- 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". @@ -3449,7 +3449,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 ...)". *************** -*** 3399,3408 **** +*** 3411,3420 **** 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". @@ -3460,7 +3460,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 ...)". ---- 3399,3408 ---- +--- 3411,3420 ---- 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". @@ -3472,7 +3472,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 ...)". *************** -*** 3418,3428 **** +*** 3430,3440 **** 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". @@ -3484,7 +3484,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 ...)". ---- 3418,3428 ---- +--- 3430,3440 ---- 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". @@ -3497,7 +3497,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 ...)". *************** -*** 3439,3449 **** +*** 3451,3461 **** 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". @@ -3509,7 +3509,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 ...)". ---- 3439,3449 ---- +--- 3451,3461 ---- 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". @@ -3522,7 +3522,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 ...)". *************** -*** 3464,3474 **** +*** 3476,3486 **** 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". @@ -3534,7 +3534,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 ...)". ---- 3464,3474 ---- +--- 3476,3486 ---- 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". @@ -3547,7 +3547,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 ...)". *************** -*** 3503,3513 **** +*** 3515,3525 **** 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". @@ -3559,7 +3559,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 ...)". ---- 3503,3513 ---- +--- 3515,3525 ---- 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". @@ -3572,7 +3572,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 ...)". *************** -*** 3545,3556 **** +*** 3557,3568 **** 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". @@ -3585,7 +3585,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 ...)". ---- 3545,3556 ---- +--- 3557,3568 ---- 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". @@ -3599,7 +3599,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 ...)". *************** -*** 3609,3620 **** +*** 3621,3632 **** 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". @@ -3612,7 +3612,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 ...)". ---- 3609,3620 ---- +--- 3621,3632 ---- 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". @@ -3626,7 +3626,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 ...)". *************** -*** 3673,3688 **** +*** 3685,3700 **** 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". @@ -3643,7 +3643,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". ---- 3673,3688 ---- +--- 3685,3700 ---- 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". @@ -3661,7 +3661,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". *************** -*** 3706,3714 **** +*** 3718,3726 **** 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 ...)". @@ -3671,7 +3671,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 ...)". ---- 3706,3714 ---- +--- 3718,3726 ---- 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 ...)". @@ -3682,7 +3682,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 ...)". *************** -*** 3716,3756 **** +*** 3728,3768 **** 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 ...)". @@ -3724,7 +3724,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". ---- 3716,3756 ---- +--- 3728,3768 ---- 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 ...)". @@ -3767,7 +3767,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". *************** -*** 3789,3797 **** +*** 3801,3809 **** 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"". @@ -3777,7 +3777,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". ---- 3789,3797 ---- +--- 3801,3809 ---- 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"". @@ -3788,7 +3788,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". *************** -*** 3830,3838 **** +*** 3842,3850 **** 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"". @@ -3798,7 +3798,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". ---- 3830,3838 ---- +--- 3842,3850 ---- 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"". @@ -3809,7 +3809,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". *************** -*** 3852,3860 **** +*** 3864,3872 **** 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". @@ -3819,7 +3819,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". ---- 3852,3860 ---- +--- 3864,3872 ---- 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". @@ -3830,7 +3830,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". *************** -*** 3874,3882 **** +*** 3886,3894 **** 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". @@ -3840,7 +3840,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"". ---- 3874,3882 ---- +--- 3886,3894 ---- 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". @@ -3851,7 +3851,7 @@ 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"". *************** -*** 3982,4002 **** +*** 3994,4014 **** 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]". @@ -3873,7 +3873,7 @@ 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)". ---- 3982,4002 ---- +--- 3994,4014 ---- 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]". @@ -3896,7 +3896,7 @@ 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)". *************** -*** 4018,4029 **** +*** 4030,4041 **** 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". @@ -3909,7 +3909,7 @@ 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". ---- 4018,4029 ---- +--- 4030,4041 ---- 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". @@ -3923,7 +3923,7 @@ 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". *************** -*** 4071,4078 **** +*** 4083,4090 **** misc.mo:Expected error in mat eval: "attempt to reference unbound identifier sort". misc.mo:Expected error in mat eval: "attempt to reference unbound identifier sort". misc.mo:Expected error in mat eval: "attempt to reference unbound identifier sort". @@ -3932,7 +3932,7 @@ misc.mo:Expected error in mat eval2: "attempt to reference unbound identifier list". misc.mo:Expected error in mat eval2: "attempt to reference unbound identifier force". misc.mo:Expected error in mat eval2: "attempt to reference unbound identifier force". ---- 4071,4078 ---- +--- 4083,4090 ---- misc.mo:Expected error in mat eval: "attempt to reference unbound identifier sort". misc.mo:Expected error in mat eval: "attempt to reference unbound identifier sort". misc.mo:Expected error in mat eval: "attempt to reference unbound identifier sort". @@ -3942,7 +3942,7 @@ misc.mo:Expected error in mat eval2: "attempt to reference unbound identifier force". misc.mo:Expected error in mat eval2: "attempt to reference unbound identifier force". *************** -*** 4124,4130 **** +*** 4136,4142 **** 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 4". @@ -3950,7 +3950,7 @@ 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". ---- 4124,4130 ---- +--- 4136,4142 ---- 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 4". @@ -3959,7 +3959,7 @@ 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". *************** -*** 4178,4185 **** +*** 4190,4197 **** 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". @@ -3968,7 +3968,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". ---- 4178,4185 ---- +--- 4190,4197 ---- 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". @@ -3978,7 +3978,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". *************** -*** 4194,4209 **** +*** 4206,4221 **** misc.mo:Expected error in mat pariah: "invalid syntax (pariah)". misc.mo:Expected error in mat pariah: "invalid syntax (pariah . 17)". misc.mo:Expected error in mat procedure-arity-mask: "procedure-arity-mask: 17 is not a procedure". @@ -3995,7 +3995,7 @@ misc.mo:Expected error in mat wrapper-procedure: "make-arity-wrapper-procedure: 1 is not a procedure". misc.mo:Expected error in mat wrapper-procedure: "make-arity-wrapper-procedure: not-a-procedure is not a procedure". misc.mo:Expected error in mat wrapper-procedure: "make-arity-wrapper-procedure: not-an-exact-integer is not an arity mask". ---- 4194,4209 ---- +--- 4206,4221 ---- misc.mo:Expected error in mat pariah: "invalid syntax (pariah)". misc.mo:Expected error in mat pariah: "invalid syntax (pariah . 17)". misc.mo:Expected error in mat procedure-arity-mask: "procedure-arity-mask: 17 is not a procedure". @@ -4013,7 +4013,7 @@ misc.mo:Expected error in mat wrapper-procedure: "make-arity-wrapper-procedure: not-a-procedure is not a procedure". misc.mo:Expected error in mat wrapper-procedure: "make-arity-wrapper-procedure: not-an-exact-integer is not an arity mask". *************** -*** 4213,4225 **** +*** 4225,4237 **** misc.mo:Expected error in mat wrapper-procedure: "wrapper-procedure-data: 1 is not a wrapper procedure". misc.mo:Expected error in mat wrapper-procedure: "wrapper-procedure-data: # is not a wrapper procedure". misc.mo:Expected error in mat wrapper-procedure: "wrapper-procedure-data: # is not a wrapper procedure". @@ -4027,7 +4027,7 @@ misc.mo:Expected error in mat wrapper-procedure: "set-wrapper-procedure-data!: 1 is not a wrapper procedure". misc.mo:Expected error in mat wrapper-procedure: "set-wrapper-procedure-data!: # is not a wrapper procedure". misc.mo:Expected error in mat wrapper-procedure: "set-wrapper-procedure-data!: # is not a wrapper procedure". ---- 4213,4225 ---- +--- 4225,4237 ---- misc.mo:Expected error in mat wrapper-procedure: "wrapper-procedure-data: 1 is not a wrapper procedure". misc.mo:Expected error in mat wrapper-procedure: "wrapper-procedure-data: # is not a wrapper procedure". misc.mo:Expected error in mat wrapper-procedure: "wrapper-procedure-data: # is not a wrapper procedure". @@ -4042,7 +4042,7 @@ misc.mo:Expected error in mat wrapper-procedure: "set-wrapper-procedure-data!: # is not a wrapper procedure". misc.mo:Expected error in mat wrapper-procedure: "set-wrapper-procedure-data!: # is not a wrapper procedure". *************** -*** 4227,4245 **** +*** 4239,4257 **** misc.mo:Expected error in mat phantom-bytevector: "make-phantom-bytevector: -1 is not a valid phantom bytevector length". misc.mo:Expected error in mat phantom-bytevector: "make-phantom-bytevector: 1267650600228229401496703205376 is not a valid phantom bytevector length". misc.mo:Expected error in mat phantom-bytevector: "make-phantom-bytevector: x is not a valid phantom bytevector length". @@ -4062,7 +4062,7 @@ cp0.mo:Expected error in mat cp0-regression: "attempt to reference undefined variable x". cp0.mo:Expected error in mat cp0-regression: "incorrect argument count in call (g)". cp0.mo:Expected error in mat cp0-regression: "incorrect argument count in call (cont0 (quote x))". ---- 4227,4245 ---- +--- 4239,4257 ---- misc.mo:Expected error in mat phantom-bytevector: "make-phantom-bytevector: -1 is not a valid phantom bytevector length". misc.mo:Expected error in mat phantom-bytevector: "make-phantom-bytevector: 1267650600228229401496703205376 is not a valid phantom bytevector length". misc.mo:Expected error in mat phantom-bytevector: "make-phantom-bytevector: x is not a valid phantom bytevector length". @@ -4083,7 +4083,7 @@ cp0.mo:Expected error in mat cp0-regression: "incorrect argument count in call (g)". cp0.mo:Expected error in mat cp0-regression: "incorrect argument count in call (cont0 (quote x))". *************** -*** 4253,4261 **** +*** 4265,4273 **** 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". @@ -4093,7 +4093,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". ---- 4253,4261 ---- +--- 4265,4273 ---- 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". @@ -4104,7 +4104,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". *************** -*** 4289,4303 **** +*** 4301,4315 **** 5_6.mo:Expected error in mat immutable-vector-copy: "immutable-vector-copy: invalid start value -1". 5_6.mo:Expected error in mat immutable-vector-copy: "immutable-vector-copy: index 1 + count 3 is beyond the end of #(a b c)". 5_6.mo:Expected error in mat immutable-vector-copy: "immutable-vector-copy: invalid count -1". @@ -4120,7 +4120,7 @@ 5_6.mo:Expected error in mat immutable-vector-set/copy: "immutable-vector-set/copy: y is not a valid index for #(a b c)". 5_6.mo:Expected error in mat immutable-vector-set/copy: "immutable-vector-set/copy: -1 is not a valid index for #(a b c)". 5_6.mo:Expected error in mat immutable-vector-set/copy: "immutable-vector-set/copy: 3 is not a valid index for #(a b c)". ---- 4289,4303 ---- +--- 4301,4315 ---- 5_6.mo:Expected error in mat immutable-vector-copy: "immutable-vector-copy: invalid start value -1". 5_6.mo:Expected error in mat immutable-vector-copy: "immutable-vector-copy: index 1 + count 3 is beyond the end of #(a b c)". 5_6.mo:Expected error in mat immutable-vector-copy: "immutable-vector-copy: invalid count -1". @@ -4137,7 +4137,7 @@ 5_6.mo:Expected error in mat immutable-vector-set/copy: "immutable-vector-set/copy: -1 is not a valid index for #(a b c)". 5_6.mo:Expected error in mat immutable-vector-set/copy: "immutable-vector-set/copy: 3 is not a valid index for #(a b c)". *************** -*** 4346,4357 **** +*** 4358,4369 **** 5_6.mo:Expected error in mat fxvector-set!: "fxvector-set!: <-int> is not a fixnum". 5_6.mo:Expected error in mat fxvector-set!: "fxvector-set!: a is not a fixnum". 5_6.mo:Expected error in mat fxvector-copy: "fxvector-copy: (a b c) is not an fxvector". @@ -4150,7 +4150,7 @@ 5_6.mo:Expected error in mat fxvector-copy!: "fxvector-copy!: 0 is not an fxvector". 5_6.mo:Expected error in mat fxvector-copy!: "fxvector-copy!: #(1 2 3) is not an fxvector". 5_6.mo:Expected error in mat fxvector-copy!: "fxvector-copy!: invalid start value -1". ---- 4346,4357 ---- +--- 4358,4369 ---- 5_6.mo:Expected error in mat fxvector-set!: "fxvector-set!: <-int> is not a fixnum". 5_6.mo:Expected error in mat fxvector-set!: "fxvector-set!: a is not a fixnum". 5_6.mo:Expected error in mat fxvector-copy: "fxvector-copy: (a b c) is not an fxvector". @@ -4164,7 +4164,7 @@ 5_6.mo:Expected error in mat fxvector-copy!: "fxvector-copy!: #(1 2 3) is not an fxvector". 5_6.mo:Expected error in mat fxvector-copy!: "fxvector-copy!: invalid start value -1". *************** -*** 4410,4421 **** +*** 4422,4433 **** 5_6.mo:Expected error in mat flvector-set!: "flvector-set!: 1 is not a flonum". 5_6.mo:Expected error in mat flvector-set!: "flvector-set!: a is not a flonum". 5_6.mo:Expected error in mat flvector-copy: "flvector-copy: (a b c) is not an flvector". @@ -4177,7 +4177,7 @@ 5_6.mo:Expected error in mat flvector-copy!: "flvector-copy!: 0 is not an flvector". 5_6.mo:Expected error in mat flvector-copy!: "flvector-copy!: #(1 2 3) is not an flvector". 5_6.mo:Expected error in mat flvector-copy!: "flvector-copy!: invalid start value -1". ---- 4410,4421 ---- +--- 4422,4433 ---- 5_6.mo:Expected error in mat flvector-set!: "flvector-set!: 1 is not a flonum". 5_6.mo:Expected error in mat flvector-set!: "flvector-set!: a is not a flonum". 5_6.mo:Expected error in mat flvector-copy: "flvector-copy: (a b c) is not an flvector". @@ -4191,7 +4191,7 @@ 5_6.mo:Expected error in mat flvector-copy!: "flvector-copy!: #(1 2 3) is not an flvector". 5_6.mo:Expected error in mat flvector-copy!: "flvector-copy!: invalid start value -1". *************** -*** 4445,4453 **** +*** 4457,4465 **** 5_6.mo:Expected error in mat list->flvector: "list->flvector: (1.0 2.0 . 3.0) is not a proper list". 5_6.mo:Expected error in mat list->flvector: "list->flvector: (1.0 2.0 3.0 2.0 3.0 2.0 ...) is circular". 5_6.mo:Expected error in mat flvector->list: "flvector->list: (a b c) is not an flvector". @@ -4201,7 +4201,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". ---- 4445,4453 ---- +--- 4457,4465 ---- 5_6.mo:Expected error in mat list->flvector: "list->flvector: (1.0 2.0 . 3.0) is not a proper list". 5_6.mo:Expected error in mat list->flvector: "list->flvector: (1.0 2.0 3.0 2.0 3.0 2.0 ...) is circular". 5_6.mo:Expected error in mat flvector->list: "flvector->list: (a b c) is not an flvector". @@ -4212,7 +4212,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". *************** -*** 4462,4470 **** +*** 4474,4482 **** 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". @@ -4222,7 +4222,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". ---- 4462,4470 ---- +--- 4474,4482 ---- 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". @@ -4233,7 +4233,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". *************** -*** 4479,4496 **** +*** 4491,4508 **** 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". @@ -4252,7 +4252,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". ---- 4479,4496 ---- +--- 4491,4508 ---- 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". @@ -4272,7 +4272,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". *************** -*** 4499,4507 **** +*** 4511,4519 **** 5_6.mo:Expected error in mat vector->immutable-vector: "vector-set-fixnum!: #(1 2 3) is not a mutable vector". 5_6.mo:Expected error in mat vector->immutable-vector: "vector-fill!: #(1 2 3) is not a mutable vector". 5_6.mo:Expected error in mat vector->immutable-vector: "vector-sort!: #(1 2 3) is not a mutable vector". @@ -4282,7 +4282,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)". ---- 4499,4507 ---- +--- 4511,4519 ---- 5_6.mo:Expected error in mat vector->immutable-vector: "vector-set-fixnum!: #(1 2 3) is not a mutable vector". 5_6.mo:Expected error in mat vector->immutable-vector: "vector-fill!: #(1 2 3) is not a mutable vector". 5_6.mo:Expected error in mat vector->immutable-vector: "vector-sort!: #(1 2 3) is not a mutable vector". @@ -4293,7 +4293,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)". *************** -*** 4581,4588 **** +*** 4593,4600 **** 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". @@ -4302,7 +4302,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". ---- 4581,4588 ---- +--- 4593,4600 ---- 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". @@ -4312,7 +4312,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". *************** -*** 4620,4641 **** +*** 4632,4653 **** 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". @@ -4335,7 +4335,7 @@ 6.mo:Expected error in mat port-operations1: "open-input-output-file: furball is not a string". 6.mo:Expected error in mat port-operations1: "open-input-output-file: failed for /probably/not/a/good/path: no such file or directory". 6.mo:Expected error in mat port-operations1: "open-input-output-file: invalid option compressed". ---- 4620,4641 ---- +--- 4632,4653 ---- 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". @@ -4359,7 +4359,7 @@ 6.mo:Expected error in mat port-operations1: "open-input-output-file: failed for /probably/not/a/good/path: no such file or directory". 6.mo:Expected error in mat port-operations1: "open-input-output-file: invalid option compressed". *************** -*** 4644,4650 **** +*** 4656,4662 **** 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". @@ -4367,7 +4367,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". ---- 4644,4650 ---- +--- 4656,4662 ---- 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". @@ -4376,7 +4376,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". *************** -*** 4661,4668 **** +*** 4673,4680 **** 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". @@ -4385,7 +4385,7 @@ 6.mo:Expected error in mat pretty-print: "pretty-format: 3 is not a symbol". 6.mo:Expected error in mat pretty-print: "pretty-format: invalid format (bad 0 ... ... 0 format)". 6.mo:Expected error in mat fasl: "separate-eval: Warning in fasl-write: fasl file content is compressed internally; compressing the file (#) is redundant and can slow fasl writing and reading significantly ---- 4661,4668 ---- +--- 4673,4680 ---- 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". @@ -4395,7 +4395,7 @@ 6.mo:Expected error in mat pretty-print: "pretty-format: invalid format (bad 0 ... ... 0 format)". 6.mo:Expected error in mat fasl: "separate-eval: Warning in fasl-write: fasl file content is compressed internally; compressing the file (#) is redundant and can slow fasl writing and reading significantly *************** -*** 7292,7323 **** +*** 7304,7335 **** 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 #". @@ -4428,7 +4428,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". ---- 7292,7323 ---- +--- 7304,7335 ---- 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 #". @@ -4462,7 +4462,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". *************** -*** 7328,7334 **** +*** 7340,7346 **** 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". @@ -4470,7 +4470,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". ---- 7328,7334 ---- +--- 7340,7346 ---- 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". @@ -4479,7 +4479,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". *************** -*** 7526,7550 **** +*** 7538,7562 **** 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 #". @@ -4505,7 +4505,7 @@ io.mo:Expected error in mat make-codec-buffer: "make-codec-buffer: shoe is not a procedure". io.mo:Expected error in mat make-codec-buffer: "transcoded-port: make-codec-buffer # did not return a mutable bytevector of length at least four". io.mo:Expected error in mat make-codec-buffer: "transcoded-port: make-codec-buffer # did not return a mutable bytevector of length at least four". ---- 7526,7550 ---- +--- 7538,7562 ---- 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 #". @@ -4532,7 +4532,7 @@ io.mo:Expected error in mat make-codec-buffer: "transcoded-port: make-codec-buffer # did not return a mutable bytevector of length at least four". io.mo:Expected error in mat make-codec-buffer: "transcoded-port: make-codec-buffer # did not return a mutable bytevector of length at least four". *************** -*** 7569,7584 **** +*** 7581,7596 **** 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 #". @@ -4549,7 +4549,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". ---- 7569,7584 ---- +--- 7581,7596 ---- 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 #". @@ -4567,7 +4567,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". *************** -*** 7650,7671 **** +*** 7662,7683 **** 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". @@ -4590,7 +4590,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 #". ---- 7650,7671 ---- +--- 7662,7683 ---- 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". @@ -4614,7 +4614,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 #". *************** -*** 7841,7847 **** +*** 7853,7859 **** 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". @@ -4622,7 +4622,7 @@ 7.mo:Expected error in mat compile-whole-program: "separate-eval: Exception in environment: attempt to import invisible library (testfile-wpo-lib) 7.mo:Expected error in mat compile-whole-program: "separate-eval: Exception: library (testfile-wpo-a4) not found 7.mo:Expected error in mat compile-whole-program: "separate-eval: Exception: library (testfile-wpo-c4) not found ---- 7841,7847 ---- +--- 7853,7859 ---- 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". @@ -4631,7 +4631,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 *************** -*** 7907,7933 **** +*** 7919,7945 **** 7.mo:Expected error in mat concatenate-object-files: "separate-eval: Exception in verify-loadability: cannot find object file for library (testfile-cof1A) 7.mo:Expected error in mat concatenate-object-files: "separate-eval: Exception in verify-loadability: cannot find object file for library (testfile-cof1B) 7.mo:Expected error in mat top-level-value-functions: "top-level-bound?: "hello" is not a symbol". @@ -4659,7 +4659,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". ---- 7907,7933 ---- +--- 7919,7945 ---- 7.mo:Expected error in mat concatenate-object-files: "separate-eval: Exception in verify-loadability: cannot find object file for library (testfile-cof1A) 7.mo:Expected error in mat concatenate-object-files: "separate-eval: Exception in verify-loadability: cannot find object file for library (testfile-cof1B) 7.mo:Expected error in mat top-level-value-functions: "top-level-bound?: "hello" is not a symbol". @@ -4688,26 +4688,24 @@ 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". *************** -*** 8268,8275 **** +*** 8280,8286 **** record.mo:Expected error in mat r6rs-records-procedural: "incorrect number of arguments 1 to #". record.mo:Expected error in mat r6rs-records-procedural: "incorrect number of arguments 1 to #". record.mo:Expected error in mat r6rs-records-procedural: "incorrect number of arguments 3 to #". -- record.mo:Expected error in mat r6rs-records-procedural: "incorrect number of arguments 3 to #". +! record.mo:Expected error in mat r6rs-records-procedural: "incorrect number of arguments 3 to #". record.mo:Expected error in mat r6rs-records-procedural: "incorrect number of arguments 4 to #". record.mo:Expected error in mat r6rs-records-procedural: "make-record-constructor-descriptor: record constructor descriptor # is not for parent of record type #". record.mo:Expected error in mat r6rs-records-procedural: "make-record-type-descriptor: cannot extend sealed record type # as foo". - record.mo:Expected error in mat r6rs-records-syntactic: "invalid syntax point". ---- 8268,8275 ---- +--- 8280,8286 ---- record.mo:Expected error in mat r6rs-records-procedural: "incorrect number of arguments 1 to #". record.mo:Expected error in mat r6rs-records-procedural: "incorrect number of arguments 1 to #". record.mo:Expected error in mat r6rs-records-procedural: "incorrect number of arguments 3 to #". +! record.mo:Expected error in mat r6rs-records-procedural: "incorrect number of arguments 4 to #". record.mo:Expected error in mat r6rs-records-procedural: "incorrect number of arguments 4 to #". -+ record.mo:Expected error in mat r6rs-records-procedural: "incorrect number of arguments 4 to #". record.mo:Expected error in mat r6rs-records-procedural: "make-record-constructor-descriptor: record constructor descriptor # is not for parent of record type #". record.mo:Expected error in mat r6rs-records-procedural: "make-record-type-descriptor: cannot extend sealed record type # as foo". - record.mo:Expected error in mat r6rs-records-syntactic: "invalid syntax point". *************** -*** 8359,8478 **** +*** 8371,8490 **** hash.mo:Expected error in mat old-hash-table: "hash-table-for-each: ((a . b)) is not an eq hashtable". hash.mo:Expected error in mat old-hash-table: "incorrect number of arguments 2 to #". hash.mo:Expected error in mat old-hash-table: "incorrect number of arguments 2 to #". @@ -4828,7 +4826,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". ---- 8359,8478 ---- +--- 8371,8490 ---- hash.mo:Expected error in mat old-hash-table: "hash-table-for-each: ((a . b)) is not an eq hashtable". hash.mo:Expected error in mat old-hash-table: "incorrect number of arguments 2 to #". hash.mo:Expected error in mat old-hash-table: "incorrect number of arguments 2 to #". @@ -4950,7 +4948,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". *************** -*** 8495,8623 **** +*** 8507,8635 **** 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". @@ -5080,7 +5078,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". ---- 8495,8623 ---- +--- 8507,8635 ---- 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". @@ -5211,7 +5209,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". *************** -*** 8625,8656 **** +*** 8637,8668 **** 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". @@ -5244,7 +5242,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 #". ---- 8625,8656 ---- +--- 8637,8668 ---- 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". @@ -5278,7 +5276,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 #". *************** -*** 8768,8775 **** +*** 8780,8787 **** 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)". @@ -5287,7 +5285,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 #". ---- 8768,8775 ---- +--- 8780,8787 ---- 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)". @@ -5297,7 +5295,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 #". *************** -*** 9386,9401 **** +*** 9411,9426 **** 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". @@ -5314,7 +5312,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 #". ---- 9386,9401 ---- +--- 9411,9426 ---- 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". @@ -5332,7 +5330,7 @@ 8.mo:Expected error in mat top-level-syntax-functions: "define-top-level-syntax: # is not a symbol". 8.mo:Expected error in mat top-level-syntax-functions: "define-top-level-syntax: cannot modify immutable environment #". *************** -*** 9494,9516 **** +*** 9519,9541 **** 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". @@ -5356,7 +5354,7 @@ fx.mo:Expected error in mat $fxu<: "incorrect number of arguments 1 to #". fx.mo:Expected error in mat $fxu<: "incorrect number of arguments 3 to #". fx.mo:Expected error in mat $fxu<: "$fxu<: <-int> is not a fixnum". ---- 9494,9516 ---- +--- 9519,9541 ---- 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". @@ -5381,7 +5379,7 @@ fx.mo:Expected error in mat $fxu<: "incorrect number of arguments 3 to #". fx.mo:Expected error in mat $fxu<: "$fxu<: <-int> is not a fixnum". *************** -*** 9552,9564 **** +*** 9577,9589 **** fx.mo:Expected error in mat fx-/wraparound: "fx-: <-int> is not a fixnum". fx.mo:Expected error in mat fx-/wraparound: "fx-: <-int> is not a fixnum". fx.mo:Expected error in mat fx*: "fx*: (a . b) is not a fixnum". @@ -5395,7 +5393,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". ---- 9552,9564 ---- +--- 9577,9589 ---- fx.mo:Expected error in mat fx-/wraparound: "fx-: <-int> is not a fixnum". fx.mo:Expected error in mat fx-/wraparound: "fx-: <-int> is not a fixnum". fx.mo:Expected error in mat fx*: "fx*: (a . b) is not a fixnum". @@ -5410,7 +5408,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". *************** -*** 9613,9625 **** +*** 9638,9650 **** 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". @@ -5424,7 +5422,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". ---- 9613,9625 ---- +--- 9638,9650 ---- 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". @@ -5439,7 +5437,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". *************** -*** 9725,9734 **** +*** 9750,9759 **** 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". @@ -5450,7 +5448,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". ---- 9725,9734 ---- +--- 9750,9759 ---- 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". @@ -5462,7 +5460,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". *************** -*** 9742,9775 **** +*** 9767,9800 **** 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". @@ -5497,7 +5495,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". ---- 9742,9775 ---- +--- 9767,9800 ---- 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". @@ -5533,7 +5531,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". *************** -*** 9779,9822 **** +*** 9804,9847 **** 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". @@ -5578,7 +5576,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". ---- 9779,9822 ---- +--- 9804,9847 ---- 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". @@ -5624,7 +5622,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". *************** -*** 9825,9835 **** +*** 9850,9860 **** 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 ". @@ -5636,7 +5634,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". ---- 9825,9835 ---- +--- 9850,9860 ---- 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 ". @@ -5649,7 +5647,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". *************** -*** 9889,9898 **** +*** 9914,9923 **** 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". @@ -5660,7 +5658,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". ---- 9889,9898 ---- +--- 9914,9923 ---- 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". @@ -5672,7 +5670,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". *************** -*** 9908,9917 **** +*** 9933,9942 **** 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". @@ -5683,7 +5681,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". ---- 9908,9917 ---- +--- 9933,9942 ---- 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". @@ -5695,7 +5693,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". *************** -*** 9927,9936 **** +*** 9952,9961 **** 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". @@ -5706,7 +5704,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". ---- 9927,9936 ---- +--- 9952,9961 ---- 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". @@ -5718,7 +5716,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". *************** -*** 9946,9956 **** +*** 9971,9981 **** 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". @@ -5730,7 +5728,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". ---- 9946,9956 ---- +--- 9971,9981 ---- 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". @@ -5743,7 +5741,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". *************** -*** 9973,9982 **** +*** 9998,10007 **** 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". @@ -5754,7 +5752,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". ---- 9973,9982 ---- +--- 9998,10007 ---- 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". @@ -5766,7 +5764,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". *************** -*** 9992,10009 **** +*** 10017,10034 **** 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". @@ -5785,7 +5783,7 @@ fl.mo:Expected error in mat fl=: "fl=: (a) is not a flonum". fl.mo:Expected error in mat fl=: "fl=: a is not a flonum". fl.mo:Expected error in mat fl=: "fl=: a is not a flonum". ---- 9992,10009 ---- +--- 10017,10034 ---- 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". @@ -5805,7 +5803,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". *************** -*** 10011,10017 **** +*** 10036,10042 **** 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". @@ -5813,7 +5811,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". ---- 10011,10017 ---- +--- 10036,10042 ---- 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". @@ -5822,7 +5820,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". *************** -*** 10019,10025 **** +*** 10044,10050 **** 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". @@ -5830,7 +5828,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". ---- 10019,10025 ---- +--- 10044,10050 ---- 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". @@ -5839,7 +5837,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". *************** -*** 10027,10033 **** +*** 10052,10058 **** 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". @@ -5847,7 +5845,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". ---- 10027,10033 ---- +--- 10052,10058 ---- 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". @@ -5856,7 +5854,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". *************** -*** 10035,10041 **** +*** 10060,10066 **** 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". @@ -5864,7 +5862,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". ---- 10035,10041 ---- +--- 10060,10066 ---- 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". @@ -5873,7 +5871,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". *************** -*** 10043,10082 **** +*** 10068,10107 **** 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". @@ -5914,7 +5912,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". ---- 10043,10082 ---- +--- 10068,10107 ---- 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". @@ -5956,7 +5954,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". *************** -*** 10086,10092 **** +*** 10111,10117 **** 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". @@ -5964,7 +5962,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". ---- 10086,10092 ---- +--- 10111,10117 ---- 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". @@ -5973,7 +5971,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". *************** -*** 10096,10185 **** +*** 10121,10210 **** 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". @@ -6064,7 +6062,7 @@ fl.mo:Expected error in mat flsingle: "flsingle: a is not a flonum". fl.mo:Expected error in mat flsingle: "flsingle: 3 is not a flonum". fl.mo:Expected error in mat flsingle: "flsingle: 2.0+1.0i is not a flonum". ---- 10096,10185 ---- +--- 10121,10210 ---- 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". @@ -6156,7 +6154,7 @@ fl.mo:Expected error in mat flsingle: "flsingle: 3 is not a flonum". fl.mo:Expected error in mat flsingle: "flsingle: 2.0+1.0i is not a flonum". *************** -*** 10198,10233 **** +*** 10223,10258 **** 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". @@ -6193,7 +6191,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". ---- 10198,10233 ---- +--- 10223,10258 ---- 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". @@ -6231,7 +6229,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". *************** -*** 10235,10242 **** +*** 10260,10267 **** 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". @@ -6240,7 +6238,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". ---- 10235,10242 ---- +--- 10260,10267 ---- 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". @@ -6250,7 +6248,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". *************** -*** 10244,10250 **** +*** 10269,10275 **** 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". @@ -6258,7 +6256,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". ---- 10244,10250 ---- +--- 10269,10275 ---- 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". @@ -6267,7 +6265,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". *************** -*** 10252,10258 **** +*** 10277,10283 **** 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". @@ -6275,7 +6273,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". ---- 10252,10258 ---- +--- 10277,10283 ---- 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". @@ -6284,7 +6282,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". *************** -*** 10260,10273 **** +*** 10285,10298 **** 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". @@ -6299,7 +6297,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". ---- 10260,10273 ---- +--- 10285,10298 ---- 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". @@ -6315,7 +6313,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". *************** -*** 10296,10304 **** +*** 10321,10329 **** fl.mo:Expected error in mat fldiv0-and-mod0: "flmod0: 17 is not a flonum". fl.mo:Expected error in mat fldiv0-and-mod0: "flmod0: a is not a flonum". fl.mo:Expected error in mat fldiv0-and-mod0: "flmod0: (a) is not a flonum". @@ -6325,7 +6323,7 @@ fl.mo:Expected error in mat flbit-field: "flbit-field: 0 is not a flonum". fl.mo:Expected error in mat flbit-field: "flbit-field: invalid start index -1". fl.mo:Expected error in mat flbit-field: "flbit-field: invalid end index 1". ---- 10296,10304 ---- +--- 10321,10329 ---- fl.mo:Expected error in mat fldiv0-and-mod0: "flmod0: 17 is not a flonum". fl.mo:Expected error in mat fldiv0-and-mod0: "flmod0: a is not a flonum". fl.mo:Expected error in mat fldiv0-and-mod0: "flmod0: (a) is not a flonum". @@ -6336,7 +6334,7 @@ fl.mo:Expected error in mat flbit-field: "flbit-field: invalid start index -1". fl.mo:Expected error in mat flbit-field: "flbit-field: invalid end index 1". *************** -*** 10324,10330 **** +*** 10349,10355 **** 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". @@ -6344,7 +6342,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". ---- 10324,10330 ---- +--- 10349,10355 ---- 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". @@ -6353,7 +6351,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". *************** -*** 10334,10347 **** +*** 10359,10372 **** 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". @@ -6368,7 +6366,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"". ---- 10334,10347 ---- +--- 10359,10372 ---- 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". @@ -6384,7 +6382,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"". *************** -*** 10376,10383 **** +*** 10401,10408 **** 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". @@ -6393,7 +6391,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"". ---- 10376,10383 ---- +--- 10401,10408 ---- 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". @@ -6403,7 +6401,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"". *************** -*** 10905,10917 **** +*** 10930,10942 **** 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". @@ -6417,7 +6415,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". ---- 10905,10917 ---- +--- 10930,10942 ---- 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". @@ -6432,7 +6430,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". *************** -*** 10939,11010 **** +*** 10964,11035 **** 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". @@ -6505,7 +6503,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 -x1 is not bound". oop.mo:Expected error in mat oop: "variable -x1-set! is not bound". ---- 11043,11052 ---- +--- 11133,11142 ---- exceptions.mo:Expected error in mat assert: "failed assertion (memq (quote b) (quote (1 2 a 3 4)))". exceptions.mo:Expected error in mat assert: "failed assertion (q ...)". exceptions.mo:Expected error in mat assert: "failed assertion (andmap symbol? (syntax (x ...)))". diff --git a/mats/patch-interpret-0-f-t-f b/mats/patch-interpret-0-f-t-f index 1f410444a..e6fa49eaf 100644 --- a/mats/patch-interpret-0-f-t-f +++ b/mats/patch-interpret-0-f-t-f @@ -1,5 +1,5 @@ -*** output-compile-0-f-t-f-cl3/errors-compile-0-f-t-f Wed Feb 12 04:06:08 2025 ---- output-interpret-0-f-t-f-rmg2/errors-interpret-0-f-t-f Wed Feb 12 04:06:43 2025 +*** output-compile-0-f-t-f-experr/errors-compile-0-f-t-f 2025-04-28 11:23:35.327633488 +0200 +--- output-interpret-0-f-t-f-experr/errors-interpret-0-f-t-f 2025-04-28 11:25:00.443143786 +0200 *************** *** 24,31 **** primvars.mo:Expected error testing (call-in-continuation 1.0+2.0i (quote #f) values): Exception in call-in-continuation: 1.0+2.0i is not a continuation @@ -20,7 +20,7 @@ primvars.mo:Expected error testing (expand 1.0+2.0i (quote #f)): Exception in sc-expand: #f is not an environment primvars.mo:Expected error testing (expand 1.0+2.0i (quote ((a . b))) 1.0+2.0i): Exception in sc-expand: ((a . b)) is not an environment *************** -*** 85,91 **** +*** 97,103 **** primvars.mo:Expected error in mat make-parameter: "make-parameter: 2 is not a procedure". primvars.mo:Expected error in mat make-parameter: "+: a is not a number". primvars.mo:Expected error in mat make-parameter: "incorrect number of arguments 1 to #". @@ -28,7 +28,7 @@ primvars.mo:Expected error in mat collect-generation-radix: "collect-generation-radix: a is not a positive fixnum". primvars.mo:Expected error in mat collect-generation-radix: "collect-generation-radix: -1 is not a positive fixnum". primvars.mo:Expected error in mat collect-generation-radix: "collect-generation-radix: 0 is not a positive fixnum". ---- 85,91 ---- +--- 97,103 ---- primvars.mo:Expected error in mat make-parameter: "make-parameter: 2 is not a procedure". primvars.mo:Expected error in mat make-parameter: "+: a is not a number". primvars.mo:Expected error in mat make-parameter: "incorrect number of arguments 1 to #". @@ -37,7 +37,7 @@ primvars.mo:Expected error in mat collect-generation-radix: "collect-generation-radix: -1 is not a positive fixnum". primvars.mo:Expected error in mat collect-generation-radix: "collect-generation-radix: 0 is not a positive fixnum". *************** -*** 115,185 **** +*** 127,197 **** primvars.mo:Expected error in mat print-radix: "print-radix: 1 is not between 2 and 36". primvars.mo:Expected error in mat timer-interrupt-handler: "timer-interrupt-handler: midnight is not a procedure". primvars.mo:Expected error in mat trace-output-port: "trace-output-port: # is not a textual output port". @@ -109,7 +109,7 @@ 3.mo:Expected error in mat let: "incorrect argument count in call ((lambda (x . r) (eq? x (...))))". 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". ---- 115,185 ---- +--- 127,197 ---- primvars.mo:Expected error in mat print-radix: "print-radix: 1 is not between 2 and 36". primvars.mo:Expected error in mat timer-interrupt-handler: "timer-interrupt-handler: midnight is not a procedure". primvars.mo:Expected error in mat trace-output-port: "trace-output-port: # is not a textual output port". @@ -182,7 +182,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". *************** -*** 659,669 **** +*** 671,681 **** 4.mo:Expected error in mat call-in-continuation: "call-in-other-continuation: #f is not an extension of of the attachments of #". 4.mo:Expected error in mat call-in-continuation: "call-in-other-continuation: (1 2 3) is not an extension of of the attachments of #". 4.mo:Expected error in mat call-in-continuation: "incorrect argument count in call (call-in-continuation 1)". @@ -194,7 +194,7 @@ 4.mo:Expected error in mat refcount-guardians: "unrecognized ftype name NO!". 4.mo:Expected error in mat refcount-guardians: "first field must be a word-sized integer with native endianness (ftype-guardian A)". 4.mo:Expected error in mat refcount-guardians: "first field must be a word-sized integer with native endianness (ftype-guardian A)". ---- 659,669 ---- +--- 671,681 ---- 4.mo:Expected error in mat call-in-continuation: "call-in-other-continuation: #f is not an extension of of the attachments of #". 4.mo:Expected error in mat call-in-continuation: "call-in-other-continuation: (1 2 3) is not an extension of of the attachments of #". 4.mo:Expected error in mat call-in-continuation: "incorrect argument count in call (call-in-continuation 1)". @@ -207,7 +207,7 @@ 4.mo:Expected error in mat refcount-guardians: "first field must be a word-sized integer with native endianness (ftype-guardian A)". 4.mo:Expected error in mat refcount-guardians: "first field must be a word-sized integer with native endianness (ftype-guardian A)". *************** -*** 7488,7496 **** +*** 7558,7566 **** io.mo:Expected error in mat transcoded-port-buffer-size: "transcoded-port-buffer-size: 1024.0 is not a positive fixnum". io.mo:Expected error in mat make-codec-buffer: "incorrect argument count in call (make-codec-buffer (lambda (bp) (make-bytevector 4)) "extra arg")". io.mo:Expected error in mat make-codec-buffer: "make-codec-buffer: shoe is not a procedure". @@ -217,7 +217,7 @@ io.mo:Expected error in mat compress-parameters: "compress-format: foo is not a supported format". io.mo:Expected error in mat compress-parameters: "compress-format: "gzip" is not a supported format". io.mo:Expected error in mat compress-parameters: "compress-level: foo is not a supported level". ---- 7488,7496 ---- +--- 7558,7566 ---- io.mo:Expected error in mat transcoded-port-buffer-size: "transcoded-port-buffer-size: 1024.0 is not a positive fixnum". io.mo:Expected error in mat make-codec-buffer: "incorrect argument count in call (make-codec-buffer (lambda (bp) (make-bytevector 4)) "extra arg")". io.mo:Expected error in mat make-codec-buffer: "make-codec-buffer: shoe is not a procedure". @@ -228,26 +228,24 @@ io.mo:Expected error in mat compress-parameters: "compress-format: "gzip" is not a supported format". io.mo:Expected error in mat compress-parameters: "compress-level: foo is not a supported level". *************** -*** 7763,7770 **** +*** 7833,7839 **** 7.mo:Expected error in mat maybe-compile: "separate-compile: Exception in include: failed for testfile-mc-1a.ss: no such file or directory 7.mo:Expected error in mat maybe-compile: "separate-compile: Exception in include: file "testfile-mc-1a.ss" not found in source directories 7.mo:Expected error in mat maybe-compile: "separate-compile: Exception in include: failed for ./testfile-mc-3a.ss: no such file or directory -- 7.mo:Expected error in mat eval: "compile: 7 is not an environment". +! 7.mo:Expected error in mat eval: "compile: 7 is not an environment". 7.mo:Expected error in mat eval: "interpret: 7 is not an environment". 7.mo:Expected error in mat eval: "compile: 7 is not an environment". 7.mo:Expected error in mat expand: "sc-expand: 7 is not an environment". - 7.mo:Expected error in mat expand: "sc-expand: 7 is not an environment". ---- 7763,7770 ---- +--- 7833,7839 ---- 7.mo:Expected error in mat maybe-compile: "separate-compile: Exception in include: failed for testfile-mc-1a.ss: no such file or directory 7.mo:Expected error in mat maybe-compile: "separate-compile: Exception in include: file "testfile-mc-1a.ss" not found in source directories 7.mo:Expected error in mat maybe-compile: "separate-compile: Exception in include: failed for ./testfile-mc-3a.ss: no such file or directory +! 7.mo:Expected error in mat eval: "interpret: 7 is not an environment". 7.mo:Expected error in mat eval: "interpret: 7 is not an environment". -+ 7.mo:Expected error in mat eval: "interpret: 7 is not an environment". 7.mo:Expected error in mat eval: "compile: 7 is not an environment". 7.mo:Expected error in mat expand: "sc-expand: 7 is not an environment". - 7.mo:Expected error in mat expand: "sc-expand: 7 is not an environment". *************** -*** 7963,7970 **** +*** 8033,8040 **** 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". @@ -256,7 +254,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)". ---- 7963,7970 ---- +--- 8033,8040 ---- 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". @@ -266,7 +264,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)". *************** -*** 7972,7986 **** +*** 8042,8056 **** 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". @@ -282,7 +280,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". ---- 7972,7986 ---- +--- 8042,8056 ---- 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". @@ -299,7 +297,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". *************** -*** 7993,8018 **** +*** 8063,8088 **** 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 #". @@ -326,7 +324,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". ---- 7993,8018 ---- +--- 8063,8088 ---- 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 #". @@ -354,7 +352,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". *************** -*** 8148,8186 **** +*** 8225,8263 **** 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 # as bar". @@ -394,7 +392,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". ---- 8148,8186 ---- +--- 8225,8263 ---- 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 # as bar". @@ -435,7 +433,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". *************** -*** 8197,8254 **** +*** 8274,8331 **** 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". @@ -494,7 +492,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". ---- 8197,8254 ---- +--- 8274,8331 ---- 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". @@ -554,7 +552,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: "cannot extend define-record-type parent fratrat". *************** -*** 9487,9499 **** +*** 9577,9589 **** fx.mo:Expected error in mat fx-/wraparound: "fx-: <-int> is not a fixnum". fx.mo:Expected error in mat fx-/wraparound: "fx-: <-int> is not a fixnum". fx.mo:Expected error in mat fx*: "fx*: (a . b) is not a fixnum". @@ -568,7 +566,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". ---- 9487,9499 ---- +--- 9577,9589 ---- fx.mo:Expected error in mat fx-/wraparound: "fx-: <-int> is not a fixnum". fx.mo:Expected error in mat fx-/wraparound: "fx-: <-int> is not a fixnum". fx.mo:Expected error in mat fx*: "fx*: (a . b) is not a fixnum". @@ -583,7 +581,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". *************** -*** 11043,11052 **** +*** 11133,11142 **** exceptions.mo:Expected error in mat assert: "failed assertion (memq (quote b) (quote (1 2 a 3 4)))". exceptions.mo:Expected error in mat assert: "failed assertion (q ...)". exceptions.mo:Expected error in mat assert: "failed assertion (andmap symbol? (syntax (x ...)))". @@ -594,7 +592,7 @@ oop.mo:Expected error in mat oop: "m1: not applicable to 17". oop.mo:Expected error in mat oop: "variable -x1 is not bound". oop.mo:Expected error in mat oop: "variable -x1-set! is not bound". ---- 11043,11052 ---- +--- 11133,11142 ---- exceptions.mo:Expected error in mat assert: "failed assertion (memq (quote b) (quote (1 2 a 3 4)))". exceptions.mo:Expected error in mat assert: "failed assertion (q ...)". exceptions.mo:Expected error in mat assert: "failed assertion (andmap symbol? (syntax (x ...)))". diff --git a/mats/patch-interpret-0-t-f-f b/mats/patch-interpret-0-t-f-f index f41832ae8..b6ca4f441 100644 --- a/mats/patch-interpret-0-t-f-f +++ b/mats/patch-interpret-0-t-f-f @@ -1,5 +1,5 @@ -*** output-compile-0-t-f-f-experr/errors-compile-0-t-f-f Fri Dec 20 18:23:34 2024 ---- output-interpret-0-t-f-f-experr/errors-interpret-0-t-f-f Fri Dec 20 18:25:02 2024 +*** output-compile-0-t-f-f-experr/errors-compile-0-t-f-f 2025-04-28 11:24:00.793487089 +0200 +--- output-interpret-0-t-f-f-experr/errors-interpret-0-t-f-f 2025-04-28 11:25:53.609837378 +0200 *************** *** 24,31 **** primvars.mo:Expected error testing (call-in-continuation 1.0+2.0i (quote #f) values): Exception in call-in-continuation: 1.0+2.0i is not a continuation @@ -20,7 +20,7 @@ primvars.mo:Expected error testing (expand 1.0+2.0i (quote #f)): Exception in sc-expand: #f is not an environment primvars.mo:Expected error testing (expand 1.0+2.0i (quote ((a . b))) 1.0+2.0i): Exception in sc-expand: ((a . b)) is not an environment *************** -*** 85,91 **** +*** 97,103 **** primvars.mo:Expected error in mat make-parameter: "make-parameter: 2 is not a procedure". primvars.mo:Expected error in mat make-parameter: "+: a is not a number". primvars.mo:Expected error in mat make-parameter: "incorrect number of arguments 1 to #". @@ -28,7 +28,7 @@ primvars.mo:Expected error in mat collect-generation-radix: "collect-generation-radix: a is not a positive fixnum". primvars.mo:Expected error in mat collect-generation-radix: "collect-generation-radix: -1 is not a positive fixnum". primvars.mo:Expected error in mat collect-generation-radix: "collect-generation-radix: 0 is not a positive fixnum". ---- 85,91 ---- +--- 97,103 ---- primvars.mo:Expected error in mat make-parameter: "make-parameter: 2 is not a procedure". primvars.mo:Expected error in mat make-parameter: "+: a is not a number". primvars.mo:Expected error in mat make-parameter: "incorrect number of arguments 1 to #". @@ -37,7 +37,7 @@ primvars.mo:Expected error in mat collect-generation-radix: "collect-generation-radix: -1 is not a positive fixnum". primvars.mo:Expected error in mat collect-generation-radix: "collect-generation-radix: 0 is not a positive fixnum". *************** -*** 115,185 **** +*** 127,197 **** primvars.mo:Expected error in mat print-radix: "print-radix: 1 is not between 2 and 36". primvars.mo:Expected error in mat timer-interrupt-handler: "timer-interrupt-handler: midnight is not a procedure". primvars.mo:Expected error in mat trace-output-port: "trace-output-port: # is not a textual output port". @@ -109,7 +109,7 @@ 3.mo:Expected error in mat let: "incorrect argument count in call ((lambda (x . r) ((...) x (...))))". 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". ---- 115,185 ---- +--- 127,197 ---- primvars.mo:Expected error in mat print-radix: "print-radix: 1 is not between 2 and 36". primvars.mo:Expected error in mat timer-interrupt-handler: "timer-interrupt-handler: midnight is not a procedure". primvars.mo:Expected error in mat trace-output-port: "trace-output-port: # is not a textual output port". @@ -182,7 +182,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". *************** -*** 663,669 **** +*** 675,681 **** 4.mo:Expected error in mat call-in-continuation: "call-in-continuation: # is not a continuation". 4.mo:Expected error in mat call-in-continuation: "call-in-continuation: #f is not a continuation mark sequence". 4.mo:Expected error in mat call-in-continuation: "call-in-continuation: (1 2 3) is not a continuation mark sequence". @@ -190,7 +190,7 @@ 4.mo:Expected error in mat refcount-guardians: "unrecognized ftype name NO!". 4.mo:Expected error in mat refcount-guardians: "first field must be a word-sized integer with native endianness (ftype-guardian A)". 4.mo:Expected error in mat refcount-guardians: "first field must be a word-sized integer with native endianness (ftype-guardian A)". ---- 663,669 ---- +--- 675,681 ---- 4.mo:Expected error in mat call-in-continuation: "call-in-continuation: # is not a continuation". 4.mo:Expected error in mat call-in-continuation: "call-in-continuation: #f is not a continuation mark sequence". 4.mo:Expected error in mat call-in-continuation: "call-in-continuation: (1 2 3) is not a continuation mark sequence". @@ -199,7 +199,7 @@ 4.mo:Expected error in mat refcount-guardians: "first field must be a word-sized integer with native endianness (ftype-guardian A)". 4.mo:Expected error in mat refcount-guardians: "first field must be a word-sized integer with native endianness (ftype-guardian A)". *************** -*** 7488,7496 **** +*** 7558,7566 **** io.mo:Expected error in mat transcoded-port-buffer-size: "transcoded-port-buffer-size: 1024.0 is not a positive fixnum". io.mo:Expected error in mat make-codec-buffer: "incorrect number of arguments 2 to #". io.mo:Expected error in mat make-codec-buffer: "make-codec-buffer: shoe is not a procedure". @@ -209,7 +209,7 @@ io.mo:Expected error in mat compress-parameters: "compress-format: foo is not a supported format". io.mo:Expected error in mat compress-parameters: "compress-format: "gzip" is not a supported format". io.mo:Expected error in mat compress-parameters: "compress-level: foo is not a supported level". ---- 7488,7496 ---- +--- 7558,7566 ---- io.mo:Expected error in mat transcoded-port-buffer-size: "transcoded-port-buffer-size: 1024.0 is not a positive fixnum". io.mo:Expected error in mat make-codec-buffer: "incorrect number of arguments 2 to #". io.mo:Expected error in mat make-codec-buffer: "make-codec-buffer: shoe is not a procedure". @@ -220,26 +220,24 @@ io.mo:Expected error in mat compress-parameters: "compress-format: "gzip" is not a supported format". io.mo:Expected error in mat compress-parameters: "compress-level: foo is not a supported level". *************** -*** 7763,7770 **** +*** 7833,7839 **** 7.mo:Expected error in mat maybe-compile: "separate-compile: Exception in include: failed for testfile-mc-1a.ss: no such file or directory 7.mo:Expected error in mat maybe-compile: "separate-compile: Exception in include: file "testfile-mc-1a.ss" not found in source directories 7.mo:Expected error in mat maybe-compile: "separate-compile: Exception in include: failed for ./testfile-mc-3a.ss: no such file or directory -- 7.mo:Expected error in mat eval: "compile: 7 is not an environment". +! 7.mo:Expected error in mat eval: "compile: 7 is not an environment". 7.mo:Expected error in mat eval: "interpret: 7 is not an environment". 7.mo:Expected error in mat eval: "compile: 7 is not an environment". 7.mo:Expected error in mat expand: "sc-expand: 7 is not an environment". - 7.mo:Expected error in mat expand: "sc-expand: 7 is not an environment". ---- 7763,7770 ---- +--- 7833,7839 ---- 7.mo:Expected error in mat maybe-compile: "separate-compile: Exception in include: failed for testfile-mc-1a.ss: no such file or directory 7.mo:Expected error in mat maybe-compile: "separate-compile: Exception in include: file "testfile-mc-1a.ss" not found in source directories 7.mo:Expected error in mat maybe-compile: "separate-compile: Exception in include: failed for ./testfile-mc-3a.ss: no such file or directory +! 7.mo:Expected error in mat eval: "interpret: 7 is not an environment". 7.mo:Expected error in mat eval: "interpret: 7 is not an environment". -+ 7.mo:Expected error in mat eval: "interpret: 7 is not an environment". 7.mo:Expected error in mat eval: "compile: 7 is not an environment". 7.mo:Expected error in mat expand: "sc-expand: 7 is not an environment". - 7.mo:Expected error in mat expand: "sc-expand: 7 is not an environment". *************** -*** 8158,8164 **** +*** 8236,8242 **** record.mo:Expected error in mat record25: "invalid value #\9 for foreign type uptr". record.mo:Expected error in mat record25: "invalid value 10 for foreign type float". record.mo:Expected error in mat record25: "invalid value 11.0+0.0i for foreign type double". @@ -247,7 +245,7 @@ record.mo:Expected error in mat record25: "invalid value 12.0 for foreign type long-long". record.mo:Expected error in mat record25: "invalid value 13.0 for foreign type unsigned-long-long". record.mo:Expected error in mat record25: "invalid value 3.0 for foreign type int". ---- 8158,8164 ---- +--- 8236,8242 ---- record.mo:Expected error in mat record25: "invalid value #\9 for foreign type uptr". record.mo:Expected error in mat record25: "invalid value 10 for foreign type float". record.mo:Expected error in mat record25: "invalid value 11.0+0.0i for foreign type double". @@ -256,7 +254,7 @@ record.mo:Expected error in mat record25: "invalid value 13.0 for foreign type unsigned-long-long". record.mo:Expected error in mat record25: "invalid value 3.0 for foreign type int". *************** -*** 10283,10307 **** +*** 10374,10398 **** foreign.mo:Expected error in mat foreign-procedure: "foreign-procedure: invalid foreign procedure handle foo". foreign.mo:Expected error in mat foreign-procedure: "foreign-procedure: invalid foreign procedure handle foo". foreign.mo:Expected error in mat foreign-procedure: "foreign-procedure: invalid foreign procedure handle foo". @@ -282,7 +280,7 @@ foreign.mo:Expected error in mat foreign-procedure: "invalid foreign-procedure argument type specifier booleen". foreign.mo:Expected error in mat foreign-procedure: "invalid foreign-procedure argument type specifier integer-34". foreign.mo:Expected error in mat foreign-procedure: "invalid foreign-procedure result type specifier chare". ---- 10283,10307 ---- +--- 10374,10398 ---- foreign.mo:Expected error in mat foreign-procedure: "foreign-procedure: invalid foreign procedure handle foo". foreign.mo:Expected error in mat foreign-procedure: "foreign-procedure: invalid foreign procedure handle foo". foreign.mo:Expected error in mat foreign-procedure: "foreign-procedure: invalid foreign procedure handle foo". @@ -309,7 +307,7 @@ foreign.mo:Expected error in mat foreign-procedure: "invalid foreign-procedure argument type specifier integer-34". foreign.mo:Expected error in mat foreign-procedure: "invalid foreign-procedure result type specifier chare". *************** -*** 10314,10345 **** +*** 10405,10436 **** foreign.mo:Expected error in mat foreign-sizeof: "incorrect number of arguments 2 to #". 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". @@ -342,7 +340,7 @@ foreign.mo:Expected error in mat foreign-strings: "foreign-callable: invalid return value ("ello" 4) from #". foreign.mo:Expected error in mat foreign-strings: "foreign-callable: invalid return value ("ello" 4) from #". foreign.mo:Expected error in mat foreign-strings: "foreign-callable: invalid return value ("ello" 4) from #". ---- 10314,10345 ---- +--- 10405,10436 ---- foreign.mo:Expected error in mat foreign-sizeof: "incorrect number of arguments 2 to #". 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". @@ -376,7 +374,7 @@ foreign.mo:Expected error in mat foreign-strings: "foreign-callable: invalid return value ("ello" 4) from #". foreign.mo:Expected error in mat foreign-strings: "foreign-callable: invalid return value ("ello" 4) from #". *************** -*** 10347,10372 **** +*** 10438,10463 **** foreign.mo:Expected error in mat foreign-strings: "foreign-callable: invalid return value ("ello" 4) from #". foreign.mo:Expected error in mat foreign-strings: "foreign-callable: invalid return value ("ello" 4) from #". foreign.mo:Expected error in mat foreign-strings: "foreign-callable: invalid return value ("ello" 4) from #". @@ -403,7 +401,7 @@ foreign.mo:Expected error in mat foreign-fixed-types: "foreign-callable: invalid return value (- x 7) from #". foreign.mo:Expected error in mat foreign-fixed-types: "foreign-callable: invalid return value (- x 7) from #". foreign.mo:Expected error in mat foreign-fixed-types: "foreign-callable: invalid return value (- x 7) from #". ---- 10347,10372 ---- +--- 10438,10463 ---- foreign.mo:Expected error in mat foreign-strings: "foreign-callable: invalid return value ("ello" 4) from #". foreign.mo:Expected error in mat foreign-strings: "foreign-callable: invalid return value ("ello" 4) from #". foreign.mo:Expected error in mat foreign-strings: "foreign-callable: invalid return value ("ello" 4) from #". @@ -431,7 +429,7 @@ foreign.mo:Expected error in mat foreign-fixed-types: "foreign-callable: invalid return value (- x 7) from #". foreign.mo:Expected error in mat foreign-fixed-types: "foreign-callable: invalid return value (- x 7) from #". *************** -*** 10378,10412 **** +*** 10469,10503 **** foreign.mo:Expected error in mat foreign-fixed-types: "foreign-callable: invalid return value (- x 7) from #". foreign.mo:Expected error in mat foreign-fixed-types: "foreign-callable: invalid return value (- x 7) from #". foreign.mo:Expected error in mat foreign-fixed-types: "foreign-callable: invalid return value (- x 7) from #". @@ -467,7 +465,7 @@ foreign.mo:Expected error in mat foreign-C-types: "foreign-callable: invalid return value (73 74) from #". foreign.mo:Expected error in mat foreign-C-types: "foreign-callable: invalid return value (73 74) from #". foreign.mo:Expected error in mat foreign-C-types: "foreign-callable: invalid return value (73 74) from #". ---- 10378,10412 ---- +--- 10469,10503 ---- foreign.mo:Expected error in mat foreign-fixed-types: "foreign-callable: invalid return value (- x 7) from #". foreign.mo:Expected error in mat foreign-fixed-types: "foreign-callable: invalid return value (- x 7) from #". foreign.mo:Expected error in mat foreign-fixed-types: "foreign-callable: invalid return value (- x 7) from #". @@ -504,7 +502,7 @@ foreign.mo:Expected error in mat foreign-C-types: "foreign-callable: invalid return value (73 74) from #". foreign.mo:Expected error in mat foreign-C-types: "foreign-callable: invalid return value (73 74) from #". *************** -*** 10451,10459 **** +*** 10542,10550 **** foreign.mo:Expected error in mat foreign-ftype: "foreign-entry: 1000000 is not a string". foreign.mo:Expected error in mat foreign-ftype: "foreign-entry: no entry for "i am not defined"". foreign.mo:Expected error in mat foreign-ftype: "unexpected function ftype name outside pointer field A". @@ -514,7 +512,7 @@ foreign.mo:Expected error in mat foreign-callable: "foreign-callable: spam is not a procedure". foreign.mo:Expected error in mat foreign-callable: "foreign-callable: spam is not a procedure". foreign.mo:Expected error in mat foreign-callable: "foreign-callable: spam is not a procedure". ---- 10451,10459 ---- +--- 10542,10550 ---- foreign.mo:Expected error in mat foreign-ftype: "foreign-entry: 1000000 is not a string". foreign.mo:Expected error in mat foreign-ftype: "foreign-entry: no entry for "i am not defined"". foreign.mo:Expected error in mat foreign-ftype: "unexpected function ftype name outside pointer field A". @@ -525,7 +523,7 @@ foreign.mo:Expected error in mat foreign-callable: "foreign-callable: spam is not a procedure". foreign.mo:Expected error in mat foreign-callable: "foreign-callable: spam is not a procedure". *************** -*** 11042,11051 **** +*** 11133,11142 **** exceptions.mo:Expected error in mat assert: "failed assertion (memq (quote b) (quote (1 2 a 3 4)))". exceptions.mo:Expected error in mat assert: "failed assertion (q ...)". exceptions.mo:Expected error in mat assert: "failed assertion (andmap symbol? (syntax (x ...)))". @@ -536,7 +534,7 @@ oop.mo:Expected error in mat oop: "m1: not applicable to 17". oop.mo:Expected error in mat oop: "variable -x1 is not bound". oop.mo:Expected error in mat oop: "variable -x1-set! is not bound". ---- 11042,11051 ---- +--- 11133,11142 ---- exceptions.mo:Expected error in mat assert: "failed assertion (memq (quote b) (quote (1 2 a 3 4)))". exceptions.mo:Expected error in mat assert: "failed assertion (q ...)". exceptions.mo:Expected error in mat assert: "failed assertion (andmap symbol? (syntax (x ...)))". diff --git a/mats/patch-interpret-0-t-t-f b/mats/patch-interpret-0-t-t-f index 5890c8149..b045079b9 100644 --- a/mats/patch-interpret-0-t-t-f +++ b/mats/patch-interpret-0-t-t-f @@ -1,5 +1,5 @@ -*** output-compile-0-t-t-f-experr/errors-compile-0-t-t-f Sat Aug 5 15:06:57 2023 ---- output-interpret-0-t-t-f-experr/errors-interpret-0-t-t-f Sat Aug 5 15:07:21 2023 +*** output-compile-0-t-t-f-experr/errors-compile-0-t-t-f 2025-04-28 11:29:25.030615765 +0200 +--- output-interpret-0-t-t-f-experr/errors-interpret-0-t-t-f 2025-04-28 11:31:11.002001954 +0200 *************** *** 24,31 **** primvars.mo:Expected error testing (call-in-continuation 1.0+2.0i (quote #f) values): Exception in call-in-continuation: 1.0+2.0i is not a continuation @@ -20,7 +20,7 @@ primvars.mo:Expected error testing (expand 1.0+2.0i (quote #f)): Exception in sc-expand: #f is not an environment primvars.mo:Expected error testing (expand 1.0+2.0i (quote ((a . b))) 1.0+2.0i): Exception in sc-expand: ((a . b)) is not an environment *************** -*** 85,91 **** +*** 97,103 **** primvars.mo:Expected error in mat make-parameter: "make-parameter: 2 is not a procedure". primvars.mo:Expected error in mat make-parameter: "+: a is not a number". primvars.mo:Expected error in mat make-parameter: "incorrect number of arguments 1 to #". @@ -28,7 +28,7 @@ primvars.mo:Expected error in mat collect-generation-radix: "collect-generation-radix: a is not a positive fixnum". primvars.mo:Expected error in mat collect-generation-radix: "collect-generation-radix: -1 is not a positive fixnum". primvars.mo:Expected error in mat collect-generation-radix: "collect-generation-radix: 0 is not a positive fixnum". ---- 85,91 ---- +--- 97,103 ---- primvars.mo:Expected error in mat make-parameter: "make-parameter: 2 is not a procedure". primvars.mo:Expected error in mat make-parameter: "+: a is not a number". primvars.mo:Expected error in mat make-parameter: "incorrect number of arguments 1 to #". @@ -37,7 +37,7 @@ primvars.mo:Expected error in mat collect-generation-radix: "collect-generation-radix: -1 is not a positive fixnum". primvars.mo:Expected error in mat collect-generation-radix: "collect-generation-radix: 0 is not a positive fixnum". *************** -*** 115,185 **** +*** 127,197 **** primvars.mo:Expected error in mat print-radix: "print-radix: 1 is not between 2 and 36". primvars.mo:Expected error in mat timer-interrupt-handler: "timer-interrupt-handler: midnight is not a procedure". primvars.mo:Expected error in mat trace-output-port: "trace-output-port: # is not a textual output port". @@ -109,7 +109,7 @@ 3.mo:Expected error in mat let: "incorrect argument count in call ((lambda (x . r) ((...) x (...))))". 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". ---- 115,185 ---- +--- 127,197 ---- primvars.mo:Expected error in mat print-radix: "print-radix: 1 is not between 2 and 36". primvars.mo:Expected error in mat timer-interrupt-handler: "timer-interrupt-handler: midnight is not a procedure". primvars.mo:Expected error in mat trace-output-port: "trace-output-port: # is not a textual output port". @@ -182,7 +182,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". *************** -*** 663,669 **** +*** 675,681 **** 4.mo:Expected error in mat call-in-continuation: "call-in-continuation: # is not a continuation". 4.mo:Expected error in mat call-in-continuation: "call-in-continuation: #f is not a continuation mark sequence". 4.mo:Expected error in mat call-in-continuation: "call-in-continuation: (1 2 3) is not a continuation mark sequence". @@ -190,7 +190,7 @@ 4.mo:Expected error in mat refcount-guardians: "unrecognized ftype name NO!". 4.mo:Expected error in mat refcount-guardians: "first field must be a word-sized integer with native endianness (ftype-guardian A)". 4.mo:Expected error in mat refcount-guardians: "first field must be a word-sized integer with native endianness (ftype-guardian A)". ---- 663,669 ---- +--- 675,681 ---- 4.mo:Expected error in mat call-in-continuation: "call-in-continuation: # is not a continuation". 4.mo:Expected error in mat call-in-continuation: "call-in-continuation: #f is not a continuation mark sequence". 4.mo:Expected error in mat call-in-continuation: "call-in-continuation: (1 2 3) is not a continuation mark sequence". @@ -199,7 +199,7 @@ 4.mo:Expected error in mat refcount-guardians: "first field must be a word-sized integer with native endianness (ftype-guardian A)". 4.mo:Expected error in mat refcount-guardians: "first field must be a word-sized integer with native endianness (ftype-guardian A)". *************** -*** 7453,7461 **** +*** 7558,7566 **** io.mo:Expected error in mat transcoded-port-buffer-size: "transcoded-port-buffer-size: 1024.0 is not a positive fixnum". io.mo:Expected error in mat make-codec-buffer: "incorrect number of arguments 2 to #". io.mo:Expected error in mat make-codec-buffer: "make-codec-buffer: shoe is not a procedure". @@ -209,7 +209,7 @@ io.mo:Expected error in mat compress-parameters: "compress-format: foo is not a supported format". io.mo:Expected error in mat compress-parameters: "compress-format: "gzip" is not a supported format". io.mo:Expected error in mat compress-parameters: "compress-level: foo is not a supported level". ---- 7453,7461 ---- +--- 7558,7566 ---- io.mo:Expected error in mat transcoded-port-buffer-size: "transcoded-port-buffer-size: 1024.0 is not a positive fixnum". io.mo:Expected error in mat make-codec-buffer: "incorrect number of arguments 2 to #". io.mo:Expected error in mat make-codec-buffer: "make-codec-buffer: shoe is not a procedure". @@ -220,26 +220,24 @@ io.mo:Expected error in mat compress-parameters: "compress-format: "gzip" is not a supported format". io.mo:Expected error in mat compress-parameters: "compress-level: foo is not a supported level". *************** -*** 7728,7735 **** +*** 7833,7839 **** 7.mo:Expected error in mat maybe-compile: "separate-compile: Exception in include: failed for testfile-mc-1a.ss: no such file or directory 7.mo:Expected error in mat maybe-compile: "separate-compile: Exception in include: file "testfile-mc-1a.ss" not found in source directories 7.mo:Expected error in mat maybe-compile: "separate-compile: Exception in include: failed for ./testfile-mc-3a.ss: no such file or directory -- 7.mo:Expected error in mat eval: "compile: 7 is not an environment". +! 7.mo:Expected error in mat eval: "compile: 7 is not an environment". 7.mo:Expected error in mat eval: "interpret: 7 is not an environment". 7.mo:Expected error in mat eval: "compile: 7 is not an environment". 7.mo:Expected error in mat expand: "sc-expand: 7 is not an environment". - 7.mo:Expected error in mat expand: "sc-expand: 7 is not an environment". ---- 7728,7735 ---- +--- 7833,7839 ---- 7.mo:Expected error in mat maybe-compile: "separate-compile: Exception in include: failed for testfile-mc-1a.ss: no such file or directory 7.mo:Expected error in mat maybe-compile: "separate-compile: Exception in include: file "testfile-mc-1a.ss" not found in source directories 7.mo:Expected error in mat maybe-compile: "separate-compile: Exception in include: failed for ./testfile-mc-3a.ss: no such file or directory +! 7.mo:Expected error in mat eval: "interpret: 7 is not an environment". 7.mo:Expected error in mat eval: "interpret: 7 is not an environment". -+ 7.mo:Expected error in mat eval: "interpret: 7 is not an environment". 7.mo:Expected error in mat eval: "compile: 7 is not an environment". 7.mo:Expected error in mat expand: "sc-expand: 7 is not an environment". - 7.mo:Expected error in mat expand: "sc-expand: 7 is not an environment". *************** -*** 7928,7935 **** +*** 8033,8040 **** 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". @@ -248,7 +246,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)". ---- 7928,7935 ---- +--- 8033,8040 ---- 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". @@ -258,7 +256,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)". *************** -*** 7937,7951 **** +*** 8042,8056 **** 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". @@ -274,7 +272,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". ---- 7937,7951 ---- +--- 8042,8056 ---- 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". @@ -291,7 +289,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". *************** -*** 7958,7983 **** +*** 8063,8088 **** 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 #". @@ -318,7 +316,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". ---- 7958,7983 ---- +--- 8063,8088 ---- 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 #". @@ -346,7 +344,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". *************** -*** 8112,8150 **** +*** 8225,8263 **** 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 # as bar". @@ -386,7 +384,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". ---- 8112,8150 ---- +--- 8225,8263 ---- 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 # as bar". @@ -427,7 +425,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". *************** -*** 8172,8208 **** +*** 8285,8321 **** record.mo:Expected error in mat r6rs-records-procedural: "make-record-constructor-descriptor: record constructor descriptor # is not for parent of record type #". record.mo:Expected error in mat r6rs-records-procedural: "make-record-type-descriptor: cannot extend sealed record type # as foo". record.mo:Expected error in mat r6rs-records-syntactic: "invalid syntax point". @@ -465,7 +463,7 @@ record.mo:Expected error in mat r6rs-records-syntactic: "record-rtd: # is not a record". record.mo:Expected error in mat r6rs-records-syntactic: "record-rtd: # is not a record". record.mo:Expected error in mat r6rs-records-syntactic: "parent record type is sealed ex3". ---- 8172,8208 ---- +--- 8285,8321 ---- record.mo:Expected error in mat r6rs-records-procedural: "make-record-constructor-descriptor: record constructor descriptor # is not for parent of record type #". record.mo:Expected error in mat r6rs-records-procedural: "make-record-type-descriptor: cannot extend sealed record type # as foo". record.mo:Expected error in mat r6rs-records-syntactic: "invalid syntax point". @@ -504,7 +502,7 @@ record.mo:Expected error in mat r6rs-records-syntactic: "record-rtd: # is not a record". record.mo:Expected error in mat r6rs-records-syntactic: "parent record type is sealed ex3". *************** -*** 10973,10982 **** +*** 11133,11142 **** exceptions.mo:Expected error in mat assert: "failed assertion (memq (quote b) (quote (1 2 a 3 4)))". exceptions.mo:Expected error in mat assert: "failed assertion (q ...)". exceptions.mo:Expected error in mat assert: "failed assertion (andmap symbol? (syntax (x ...)))". @@ -515,7 +513,7 @@ oop.mo:Expected error in mat oop: "m1: not applicable to 17". oop.mo:Expected error in mat oop: "variable -x1 is not bound". oop.mo:Expected error in mat oop: "variable -x1-set! is not bound". ---- 10973,10982 ---- +--- 11133,11142 ---- exceptions.mo:Expected error in mat assert: "failed assertion (memq (quote b) (quote (1 2 a 3 4)))". exceptions.mo:Expected error in mat assert: "failed assertion (q ...)". exceptions.mo:Expected error in mat assert: "failed assertion (andmap symbol? (syntax (x ...)))". diff --git a/mats/root-experr-compile-0-f-f-f b/mats/root-experr-compile-0-f-f-f index 420f033a3..c0f279cb1 100644 --- a/mats/root-experr-compile-0-f-f-f +++ b/mats/root-experr-compile-0-f-f-f @@ -57,6 +57,18 @@ primvars.mo:Expected error testing (make-sstats *time *time (- (most-negative-fi primvars.mo:Expected error testing (make-sstats *time *time (- (most-negative-fixnum) 1) (- (most-negative-fixnum) 1) *time *time (quote 2.0)): Exception in make-sstats: gc-bytes value 2.0 is not an exact integer primvars.mo:Expected error testing (make-sstats *time *time (- (most-negative-fixnum) 1) (- (most-negative-fixnum) 1) *time *time (quote 1/2)): Exception in make-sstats: gc-bytes value 1/2 is not an exact integer primvars.mo:Expected error testing (make-sstats *time *time (- (most-negative-fixnum) 1) (- (most-negative-fixnum) 1) *time *time (quote #f)): Exception in make-sstats: gc-bytes value #f is not an exact integer +primvars.mo:Expected error testing (property-value (quote x) (syntax x)): Exception in property-value: first argument x is not an identifier +primvars.mo:Expected error testing (property-value (quote 17) (syntax x)): Exception in property-value: first argument 17 is not an identifier +primvars.mo:Expected error testing (property-value (quote #f) (syntax x)): Exception in property-value: first argument #f is not an identifier +primvars.mo:Expected error testing (property-value (syntax x) (quote x)): Exception in property-value: second argument # is not an identifier +primvars.mo:Expected error testing (property-value (syntax x) (quote 17)): Exception in property-value: second argument # is not an identifier +primvars.mo:Expected error testing (property-value (syntax x) (quote #f)): Exception in property-value: second argument # is not an identifier +primvars.mo:Expected error testing (property-value (quote x) (syntax x) 1.0+2.0i): Exception in property-value: first argument x is not an identifier +primvars.mo:Expected error testing (property-value (quote 17) (syntax x) 1.0+2.0i): Exception in property-value: first argument 17 is not an identifier +primvars.mo:Expected error testing (property-value (quote #f) (syntax x) 1.0+2.0i): Exception in property-value: first argument #f is not an identifier +primvars.mo:Expected error testing (property-value (syntax x) (quote x) 1.0+2.0i): Exception in property-value: second argument # is not an identifier +primvars.mo:Expected error testing (property-value (syntax x) (quote 17) 1.0+2.0i): Exception in property-value: second argument # is not an identifier +primvars.mo:Expected error testing (property-value (syntax x) (quote #f) 1.0+2.0i): Exception in property-value: second argument # is not an identifier primvars.mo:Expected error testing (pseudo-random-generator->vector (quote #f)): Exception in pseudo-random-generator->vector: not a pseudo-random generator #f primvars.mo:Expected error testing (pseudo-random-generator-seed! *pseudo-random-generator (quote #!eof)): Exception in pseudo-random-generator-seed!: not a nonnegative exact integer #!eof primvars.mo:Expected error testing (pseudo-random-generator-seed! *pseudo-random-generator (quote #f)): Exception in pseudo-random-generator-seed!: not a nonnegative exact integer #f @@ -9229,6 +9241,19 @@ enum.mo:Expected error in mat enumeration: "make-record-type: cannot extend seal 8.mo:Expected error in mat define-property: "set-top-level-value!: dp9-x is not a variable". 8.mo:Expected error in mat define-property: "set-top-level-value!: cannot assign immutable variable dp10-x". 8.mo:Expected error in mat define-property: "attempt to export multiple bindings for x from module (module () (export x (rename (...))) (define x 3) (define-property x k1 4) (alias y x) ...)". +8.mo:Expected error in mat property-value: "multiple definitions for list in body (let () (define-property list type "procedure") (define list (lambda x x)) (list (get-property list type) (get-property car type)))". +8.mo:Expected error in mat property-value: "multiple definitions for list in body (module m (list) (define-property list type "procedure") (define list (lambda x x)) (list (get-property list type) (get-property car type)))". +8.mo:Expected error in mat property-value: "invalid definition in immutable environment (define-property frot rat 3)". +8.mo:Expected error in mat property-value: "invalid definition in immutable environment (define-property cons rat 3)". +8.mo:Expected error in mat property-value: "no visible binding for define-property id frot". +8.mo:Expected error in mat property-value: "no visible binding for define-property key rat". +8.mo:Expected error in mat property-value: "no visible binding for define-property id x". +8.mo:Expected error in mat property-value: "no visible binding for define-property key frip". +8.mo:Expected error in mat property-value: "no visible binding for define-property id x". +8.mo:Expected error in mat property-value: "no visible binding for define-property key frip". +8.mo:Expected error in mat property-value: "set-top-level-value!: dp9-x is not a variable". +8.mo:Expected error in mat property-value: "set-top-level-value!: cannot assign immutable variable dp10-x". +8.mo:Expected error in mat property-value: "attempt to export multiple bindings for x from module (module () (export x (rename (...))) (define x 3) (define-property x k1 4) (alias y x) ...)". 8.mo:Expected error in mat library1: "compile-library: failed for /file/not/there.ss: no such file or directory". 8.mo:Expected error in mat library1: "load-library: failed for /file/not/there: no such file or directory". 8.mo:Expected error in mat library1: "load-library: abc is not a string". diff --git a/release_notes/release_notes.stex b/release_notes/release_notes.stex index d48d0d501..5a00e4f5e 100644 --- a/release_notes/release_notes.stex +++ b/release_notes/release_notes.stex @@ -116,6 +116,15 @@ Online versions of both books can be found at %----------------------------------------------------------------------------- \section{Functionality Changes}\label{section:functionality} +\subsection{Simpified lookup of property values (10.2.0)} + +The \scheme{property-value} procedure, which can be used within the +dynamic extent of the expander's call to a macro transformer, looks up +the value of a property of an identifier in the macro's use +environment. This obviates the need to follow a specific transformer +protocol to obtain a \scheme{lookup} that returns property values and +lets macro helper functions look up property values independently. + \subsection{Efficient in-place fxvector and flvector copying (10.2.0)} The \scheme{fxvector-copy!} and \scheme{flvector-copy!} functions diff --git a/s/cmacros.ss b/s/cmacros.ss index 369942338..e5b53996b 100644 --- a/s/cmacros.ss +++ b/s/cmacros.ss @@ -1,11 +1,11 @@ ;;; Copyright 1984-2017 Cisco Systems, Inc. -;;; +;;; ;;; Licensed under the Apache License, Version 2.0 (the "License"); ;;; you may not use this file except in compliance with the License. ;;; You may obtain a copy of the License at -;;; +;;; ;;; http://www.apache.org/licenses/LICENSE-2.0 -;;; +;;; ;;; Unless required by applicable law or agreed to in writing, software ;;; distributed under the License is distributed on an "AS IS" BASIS, ;;; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. @@ -748,7 +748,7 @@ (define-constant max-sweep-space last-swept-value) (define-constant max-real-space last-unswept-value) (define-constant max-space last-unreal-value)))))]))) - + (define-alloc-spaces (real (swept @@ -1636,6 +1636,7 @@ [ptr fxlength-bv] [ptr fxfirst-bit-set-bv] [ptr meta-level] + [ptr expand-time-environment] [ptr compile-profile] [ptr generate-inspector-information] [ptr generate-procedure-source-information] @@ -2286,12 +2287,12 @@ (define-primitive-structure-disps vfasl-header type-untyped ([uptr data-size] [uptr table-size] - + [uptr result-offset] - + ;; first starting offset is 0, so skip it in this array: [uptr vspace-rel-offsets (constant vspaces-offsets-count)] - + [uptr symref-count] [uptr rtdref-count] [uptr singletonref-count])) @@ -2769,7 +2770,7 @@ (make-libspec-flags xindex-base #f xclosure? xinterface xerror? xhas-does-not-expect-headroom-version?))) (when xhas-does-not-expect-headroom-version? ($sputprop xname '*does-not-expect-headroom-libspec* - (make-libspec xname + (make-libspec xname (make-libspec-flags xindex-base #t xclosure? xinterface xerror? xhas-does-not-expect-headroom-version?))))) '(name ...) '(index-base ...) @@ -3266,7 +3267,7 @@ pb-uint64 pb-single pb-double) - + (define-pb-enum pb-move-types pb-i->i pb-d->d diff --git a/s/mkgc.ss b/s/mkgc.ss index 2d8cf8f22..74d067dc4 100644 --- a/s/mkgc.ss +++ b/s/mkgc.ss @@ -162,7 +162,7 @@ (define-trace-root (case-type - + [pair (case-space [(< space-weakpair) @@ -309,7 +309,7 @@ (pad (when (== (& len 1) 0) (set! (closure-data _copy_ len) (FIX 0)))) (count countof-closure)])] - + [symbol (space space-symbol) (size size-symbol) @@ -321,7 +321,7 @@ (trace-nonself symbol-splist) (trace-nonself symbol-hash) (count countof-symbol)] - + [flonum (space space-data) (size size-flonum) @@ -329,7 +329,7 @@ (copy-flonum flonum-data) (count countof-flonum) (skip-forwarding)] - + [typed-object (case-typefield @@ -672,7 +672,7 @@ [off]) (count count-pair size-pair 2)] [else - (size size-pair) + (size size-pair) (do-car pair-car) (do-cdr pair-cdr) (count count-pair)])] @@ -990,10 +990,11 @@ (trace-pure (tc-winders tc)) (trace-pure (tc-attachments tc)) (trace-pure (tc-handler-stack tc)) + (trace-pure (tc-expand-time-environment tc)) (case-mode - [sweep - (set! (tc-cached-frame tc) Sfalse)] - [else]) + [sweep + (set! (tc-cached-frame tc) Sfalse)] + [else]) (trace-return NO-COPY-MODE (FRAME tc 0)) (trace-stack (cast uptr (tc-scheme-stack tc)) (cast uptr (SFP tc)) @@ -1312,7 +1313,7 @@ (let () (define preserve-flonum-eq? #t) - + ;; A config is an association list. Mostly, it determines the ;; generation mode, but it is also used to some degree as an ;; environment-like map to communicate information from one @@ -1399,7 +1400,7 @@ [(null? object-types) (generate-type-dispatch base-types config)] [else - (generate-type-dispatch + (generate-type-dispatch (cons (cons 'typed-object (generate-typed-object-dispatch object-types (cons '(basetype typed-object) config))) @@ -2328,7 +2329,7 @@ (when (and index (not (eq? index 0))) (error 'field-ref "index not allowed for non-array field ~s" acc-name)) (format "~a(~a)" c-ref obj)]))) - + (define (ensure-segment-mark-mask si inset) (code (format "~aif (!~a->marked_mask) {" inset si) @@ -2582,7 +2583,7 @@ ;; macros: (let-values ([(op get) (open-bytevector-output-port (native-transcoder))]) (mkequates.h op)) - + (set! mkgc-ocd.inc (lambda (ofn) (gen-gc ofn #f #f #f))) (set! mkgc-oce.inc (lambda (ofn) (gen-gc ofn #t #t #f))) ; not currently parallel (but could be "parallel" for ownership preservation) (set! mkgc-par.inc (lambda (ofn) (gen-gc ofn #f #f #t))) diff --git a/s/primdata.ss b/s/primdata.ss index 04db0d718..6452070c7 100644 --- a/s/primdata.ss +++ b/s/primdata.ss @@ -1636,6 +1636,7 @@ (profile-load-data [sig [(pathname ...) -> (void)]] [flags true]) (profile-release-counters [sig [() -> (void)]] [flags true]) (property-list [sig [(symbol) -> (list)]] [flags discard true safeongoodargs]) + (property-value [sig [(identifier identifier) (identifier identifier ptr) -> (ptr)]] [flags pure mifoldable discard]) (put-bytevector-some [sig [(binary-output-port bytevector) (binary-output-port bytevector length) (binary-output-port bytevector length length) -> (uint)]] [flags true]) (put-hash-table! [sig [(old-hash-table ptr ptr) -> (void)]] [flags true]) (put-source-table [sig [(textual-output-port source-table) -> (void)]] [flags true]) diff --git a/s/syntax.ss b/s/syntax.ss index d53ccd5bd..cd65a1005 100644 --- a/s/syntax.ss +++ b/s/syntax.ss @@ -1208,6 +1208,11 @@ [() ($tc-field 'meta-level ($tc))] [(x) ($tc-field 'meta-level ($tc) x)])) +(define expand-time-environment + (case-lambda + [() ($tc-field 'expand-time-environment ($tc))] + [(x) ($tc-field 'expand-time-environment ($tc) x)])) + ; variant that builds lexical bindings (define make-lexical-label (lambda (var) @@ -3714,7 +3719,8 @@ " in output of macro")) (else x)))) (rebuild-macro-output - (let ((out (p (source-wrap e (anti-mark w) ae)))) + (let ((out (parameterize ([expand-time-environment r]) + (p (source-wrap e (anti-mark w) ae))))) (if (procedure? out) (out (rec rho (case-lambda @@ -7376,6 +7382,36 @@ (unless ($compile-time-value? x) ($oops who "~s is not a compile-time value" x)) ($compile-time-value-value x))) +(set-who! property-value + (rec property-value + (case-lambda + [(id key-id default) + (define (identifier-error id message) + (raise (condition (make-who-condition who) (make-message-condition message) + (make-source-condition id) (make-undefined-violation)))) + (unless (identifier? id) ($oops who "first argument ~s is not an identifier" id)) + (unless (identifier? key-id) ($oops who "second argument ~s is not an identifier" id)) + (let ([r (expand-time-environment)]) + (unless r ($oops who "called outside the dynamic extent of a transformer call of the expander")) + (let-values ([(id-label/pl retry) (id->label/pl/retry id empty-wrap)]) + (let ([key-label (id->label key-id empty-wrap)]) + (unless id-label/pl (identifier-error id "no visible binding for property identifier")) + (unless key-label (identifier-error key-id "no visible binding for property key")) + (let loop ([id-label/pl id-label/pl] [retry retry]) + (cond + [(assq key-label (label/pl->pl id-label/pl)) => + (lambda (a) + (let ([b (lookup* (cdr a) r)]) + (case (binding-type b) + [(property) (binding-value b)] + [else default])))] + [else (let-values ([(new-id-label/pl retry) (retry)]) + (if (and new-id-label/pl + (eq? (label/pl->label new-id-label/pl) (label/pl->label id-label/pl))) + (loop new-id-label/pl retry) + default))])))))] + [(id key-id) (property-value id key-id #f)]))) + (set! $syntax->src (lambda (x) (let f ([x x] [n 0] [k (lambda () (values #f #t))]) From 3cd352de58bdf3b8d67bfbe2737c530fff81932f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marc=20Nieper-Wi=C3=9Fkirchen?= Date: Tue, 29 Apr 2025 21:58:50 +0200 Subject: [PATCH 2/4] use continuation marks instead of parameterize --- boot/pb/equates.h | 92 +++++++++++++++++++++--------------------- boot/pb/gc-ocd.inc | 3 -- boot/pb/gc-oce.inc | 8 ---- boot/pb/gc-par.inc | 3 -- boot/pb/heapcheck.inc | 1 - boot/pb/petite.boot | Bin 6753436 -> 6745325 bytes boot/pb/scheme.boot | Bin 4846749 -> 4842734 bytes c/thread.c | 12 +++--- s/cmacros.ss | 19 +++++---- s/mkgc.ss | 25 ++++++------ s/syntax.ss | 14 ++++--- 11 files changed, 79 insertions(+), 98 deletions(-) diff --git a/boot/pb/equates.h b/boot/pb/equates.h index c61ae8350..b17da2f70 100644 --- a/boot/pb/equates.h +++ b/boot/pb/equates.h @@ -1062,7 +1062,7 @@ typedef uint64_t U64; #define size_rp_header 0x20 #define size_rtd_counts 0x810 #define size_symbol 0x30 -#define size_tc 0x7E0 +#define size_tc 0x7D0 #define size_thread 0x10 #define size_tlc 0x20 #define size_typed_object 0x10 @@ -1117,8 +1117,8 @@ typedef uint64_t U64; #define symbol_pvalue_disp 0xD #define symbol_splist_disp 0x25 #define symbol_value_disp 0x5 -#define tc_DSTBV_disp 0x2C0 -#define tc_SRCBV_disp 0x2C8 +#define tc_DSTBV_disp 0x2B8 +#define tc_SRCBV_disp 0x2C0 #define tc_U_disp 0x190 #define tc_V_disp 0x198 #define tc_W_disp 0x1A0 @@ -1127,7 +1127,7 @@ typedef uint64_t U64; #define tc_ac0_disp 0x38 #define tc_ac1_disp 0x40 #define tc_active_disp 0x14C -#define tc_alloc_counter_disp 0x2B0 +#define tc_alloc_counter_disp 0x2A8 #define tc_ap_disp 0x60 #define tc_arg_regs_disp 0x0 #define tc_attachments_disp 0x178 @@ -1135,38 +1135,37 @@ typedef uint64_t U64; #define tc_cached_frame_disp 0x188 #define tc_cchain_disp 0x138 #define tc_code_ranges_to_flush_disp 0x140 -#define tc_compile_profile_disp 0x248 -#define tc_compress_format_disp 0x290 -#define tc_compress_level_disp 0x298 +#define tc_compile_profile_disp 0x240 +#define tc_compress_format_disp 0x288 +#define tc_compress_level_disp 0x290 #define tc_cp_disp 0x50 #define tc_current_error_disp 0x200 #define tc_current_input_disp 0x1F0 #define tc_current_mso_disp 0x218 #define tc_current_output_disp 0x1F8 -#define tc_default_record_equal_procedure_disp 0x280 -#define tc_default_record_hash_procedure_disp 0x288 +#define tc_default_record_equal_procedure_disp 0x278 +#define tc_default_record_hash_procedure_disp 0x280 #define tc_disable_count_disp 0x1C8 #define tc_eap_disp 0x68 #define tc_esp_disp 0x58 -#define tc_expand_time_environment_disp 0x240 -#define tc_fpregs_disp 0x2D0 +#define tc_fpregs_disp 0x2C8 #define tc_fxfirst_bit_set_bv_disp 0x230 #define tc_fxlength_bv_disp 0x228 -#define tc_gc_data_disp 0x7D0 -#define tc_generate_inspector_information_disp 0x250 -#define tc_generate_procedure_source_information_disp 0x258 -#define tc_generate_profile_forms_disp 0x260 +#define tc_gc_data_disp 0x7C8 +#define tc_generate_inspector_information_disp 0x248 +#define tc_generate_procedure_source_information_disp 0x250 +#define tc_generate_profile_forms_disp 0x258 #define tc_guardian_entries_disp 0x130 #define tc_handler_stack_disp 0x180 -#define tc_instr_counter_disp 0x2A8 +#define tc_instr_counter_disp 0x2A0 #define tc_keyboard_interrupt_pending_disp 0x1E0 -#define tc_lz4_out_buffer_disp 0x2A0 +#define tc_lz4_out_buffer_disp 0x298 #define tc_meta_level_disp 0x238 -#define tc_optimize_level_disp 0x268 -#define tc_parameters_disp 0x2B8 -#define tc_pb_call_arena_disp 0x3D0 -#define tc_pb_fpregs_disp 0x390 -#define tc_pb_regs_disp 0x310 +#define tc_optimize_level_disp 0x260 +#define tc_parameters_disp 0x2B0 +#define tc_pb_call_arena_disp 0x3C8 +#define tc_pb_fpregs_disp 0x388 +#define tc_pb_regs_disp 0x308 #define tc_random_seed_disp 0x148 #define tc_real_eap_disp 0xA0 #define tc_ret_disp 0x70 @@ -1180,8 +1179,8 @@ typedef uint64_t U64; #define tc_something_pending_disp 0x1B8 #define tc_stack_cache_disp 0x158 #define tc_stack_link_disp 0x160 -#define tc_subset_mode_disp 0x270 -#define tc_suppress_primitive_inlining_disp 0x278 +#define tc_subset_mode_disp 0x268 +#define tc_suppress_primitive_inlining_disp 0x270 #define tc_target_machine_disp 0x220 #define tc_td_disp 0x98 #define tc_threadno_disp 0x1E8 @@ -1570,8 +1569,8 @@ typedef uint64_t U64; #define THREADTC(x) (*((uptr *)TO_VOIDP((uptr)(x)+9))) /* thread-context data */ -#define DSTBV(x) (*((ptr *)TO_VOIDP((uptr)(x)+704))) -#define SRCBV(x) (*((ptr *)TO_VOIDP((uptr)(x)+712))) +#define DSTBV(x) (*((ptr *)TO_VOIDP((uptr)(x)+696))) +#define SRCBV(x) (*((ptr *)TO_VOIDP((uptr)(x)+704))) #define U(x) (*((ptr *)TO_VOIDP((uptr)(x)+400))) #define V(x) (*((ptr *)TO_VOIDP((uptr)(x)+408))) #define W(x) (*((ptr *)TO_VOIDP((uptr)(x)+416))) @@ -1580,7 +1579,7 @@ typedef uint64_t U64; #define AC0(x) (*((xptr *)TO_VOIDP((uptr)(x)+56))) #define AC1(x) (*((xptr *)TO_VOIDP((uptr)(x)+64))) #define ACTIVE(x) (*((I32 *)TO_VOIDP((uptr)(x)+332))) -#define ALLOCCOUNTER(x) (*((U64 *)TO_VOIDP((uptr)(x)+688))) +#define ALLOCCOUNTER(x) (*((U64 *)TO_VOIDP((uptr)(x)+680))) #define AP(x) (*((xptr *)TO_VOIDP((uptr)(x)+96))) #define ARGREGS(x,i) (((xptr *)TO_VOIDP((uptr)(x)+0))[i]) #define ATTACHMENTS(x) (*((ptr *)TO_VOIDP((uptr)(x)+376))) @@ -1588,38 +1587,37 @@ typedef uint64_t U64; #define CACHEDFRAME(x) (*((ptr *)TO_VOIDP((uptr)(x)+392))) #define CCHAIN(x) (*((ptr *)TO_VOIDP((uptr)(x)+312))) #define CODERANGESTOFLUSH(x) (*((ptr *)TO_VOIDP((uptr)(x)+320))) -#define COMPILEPROFILE(x) (*((ptr *)TO_VOIDP((uptr)(x)+584))) -#define COMPRESSFORMAT(x) (*((ptr *)TO_VOIDP((uptr)(x)+656))) -#define COMPRESSLEVEL(x) (*((ptr *)TO_VOIDP((uptr)(x)+664))) +#define COMPILEPROFILE(x) (*((ptr *)TO_VOIDP((uptr)(x)+576))) +#define COMPRESSFORMAT(x) (*((ptr *)TO_VOIDP((uptr)(x)+648))) +#define COMPRESSLEVEL(x) (*((ptr *)TO_VOIDP((uptr)(x)+656))) #define CP(x) (*((xptr *)TO_VOIDP((uptr)(x)+80))) #define CURRENTERROR(x) (*((ptr *)TO_VOIDP((uptr)(x)+512))) #define CURRENTINPUT(x) (*((ptr *)TO_VOIDP((uptr)(x)+496))) #define CURRENTMSO(x) (*((ptr *)TO_VOIDP((uptr)(x)+536))) #define CURRENTOUTPUT(x) (*((ptr *)TO_VOIDP((uptr)(x)+504))) -#define DEFAULTRECORDEQUALPROCEDURE(x) (*((ptr *)TO_VOIDP((uptr)(x)+640))) -#define DEFAULTRECORDHASHPROCEDURE(x) (*((ptr *)TO_VOIDP((uptr)(x)+648))) +#define DEFAULTRECORDEQUALPROCEDURE(x) (*((ptr *)TO_VOIDP((uptr)(x)+632))) +#define DEFAULTRECORDHASHPROCEDURE(x) (*((ptr *)TO_VOIDP((uptr)(x)+640))) #define DISABLECOUNT(x) (*((ptr *)TO_VOIDP((uptr)(x)+456))) #define EAP(x) (*((xptr *)TO_VOIDP((uptr)(x)+104))) #define ESP(x) (*((xptr *)TO_VOIDP((uptr)(x)+88))) -#define EXPANDTIMEENVIRONMENT(x) (*((ptr *)TO_VOIDP((uptr)(x)+576))) -#define FPREGS(x,i) (((double *)TO_VOIDP((uptr)(x)+720))[i]) +#define FPREGS(x,i) (((double *)TO_VOIDP((uptr)(x)+712))[i]) #define FXFIRSTBITSETBV(x) (*((ptr *)TO_VOIDP((uptr)(x)+560))) #define FXLENGTHBV(x) (*((ptr *)TO_VOIDP((uptr)(x)+552))) -#define GCDATA(x) (*((xptr *)TO_VOIDP((uptr)(x)+2000))) -#define GENERATEINSPECTORINFORMATION(x) (*((ptr *)TO_VOIDP((uptr)(x)+592))) -#define GENERATEPROCEDURESOURCEINFORMATION(x) (*((ptr *)TO_VOIDP((uptr)(x)+600))) -#define GENERATEPROFILEFORMS(x) (*((ptr *)TO_VOIDP((uptr)(x)+608))) +#define GCDATA(x) (*((xptr *)TO_VOIDP((uptr)(x)+1992))) +#define GENERATEINSPECTORINFORMATION(x) (*((ptr *)TO_VOIDP((uptr)(x)+584))) +#define GENERATEPROCEDURESOURCEINFORMATION(x) (*((ptr *)TO_VOIDP((uptr)(x)+592))) +#define GENERATEPROFILEFORMS(x) (*((ptr *)TO_VOIDP((uptr)(x)+600))) #define GUARDIANENTRIES(x) (*((ptr *)TO_VOIDP((uptr)(x)+304))) #define HANDLERSTACK(x) (*((ptr *)TO_VOIDP((uptr)(x)+384))) -#define INSTRCOUNTER(x) (*((U64 *)TO_VOIDP((uptr)(x)+680))) +#define INSTRCOUNTER(x) (*((U64 *)TO_VOIDP((uptr)(x)+672))) #define KEYBOARDINTERRUPTPENDING(x) (*((ptr *)TO_VOIDP((uptr)(x)+480))) -#define LZ4OUTBUFFER(x) (*((xptr *)TO_VOIDP((uptr)(x)+672))) +#define LZ4OUTBUFFER(x) (*((xptr *)TO_VOIDP((uptr)(x)+664))) #define METALEVEL(x) (*((ptr *)TO_VOIDP((uptr)(x)+568))) -#define OPTIMIZELEVEL(x) (*((ptr *)TO_VOIDP((uptr)(x)+616))) -#define PARAMETERS(x) (*((ptr *)TO_VOIDP((uptr)(x)+696))) -#define PBCALLARENA(x,i) (((uptr *)TO_VOIDP((uptr)(x)+976))[i]) -#define PBFPREGS(x,i) (((double *)TO_VOIDP((uptr)(x)+912))[i]) -#define PBREGS(x,i) (((uptr *)TO_VOIDP((uptr)(x)+784))[i]) +#define OPTIMIZELEVEL(x) (*((ptr *)TO_VOIDP((uptr)(x)+608))) +#define PARAMETERS(x) (*((ptr *)TO_VOIDP((uptr)(x)+688))) +#define PBCALLARENA(x,i) (((uptr *)TO_VOIDP((uptr)(x)+968))[i]) +#define PBFPREGS(x,i) (((double *)TO_VOIDP((uptr)(x)+904))[i]) +#define PBREGS(x,i) (((uptr *)TO_VOIDP((uptr)(x)+776))[i]) #define RANDOMSEED(x) (*((U32 *)TO_VOIDP((uptr)(x)+328))) #define REAL_EAP(x) (*((xptr *)TO_VOIDP((uptr)(x)+160))) #define RET(x) (*((xptr *)TO_VOIDP((uptr)(x)+112))) @@ -1633,8 +1631,8 @@ typedef uint64_t U64; #define SOMETHINGPENDING(x) (*((ptr *)TO_VOIDP((uptr)(x)+440))) #define STACKCACHE(x) (*((ptr *)TO_VOIDP((uptr)(x)+344))) #define STACKLINK(x) (*((ptr *)TO_VOIDP((uptr)(x)+352))) -#define SUBSETMODE(x) (*((ptr *)TO_VOIDP((uptr)(x)+624))) -#define SUPPRESSPRIMITIVEINLINING(x) (*((ptr *)TO_VOIDP((uptr)(x)+632))) +#define SUBSETMODE(x) (*((ptr *)TO_VOIDP((uptr)(x)+616))) +#define SUPPRESSPRIMITIVEINLINING(x) (*((ptr *)TO_VOIDP((uptr)(x)+624))) #define TARGETMACHINE(x) (*((ptr *)TO_VOIDP((uptr)(x)+544))) #define TD(x) (*((xptr *)TO_VOIDP((uptr)(x)+152))) #define THREADNO(x) (*((ptr *)TO_VOIDP((uptr)(x)+488))) diff --git a/boot/pb/gc-ocd.inc b/boot/pb/gc-ocd.inc index 7725976bd..2018cd28a 100644 --- a/boot/pb/gc-ocd.inc +++ b/boot/pb/gc-ocd.inc @@ -836,7 +836,6 @@ static void sweep(thread_gc *tgc, ptr p, IGEN from_g) relocate_pure(&(WINDERS(tc))); relocate_pure(&(ATTACHMENTS(tc))); relocate_pure(&(HANDLERSTACK(tc))); - relocate_pure(&(EXPANDTIMEENVIRONMENT(tc))); CACHEDFRAME(tc) = Sfalse; { ptr xcp = FRAME(tc, 0); @@ -1472,7 +1471,6 @@ static void sweep_object_in_old(thread_gc *tgc, ptr p) relocate_pure(&(WINDERS(tc))); relocate_pure(&(ATTACHMENTS(tc))); relocate_pure(&(HANDLERSTACK(tc))); - relocate_pure(&(EXPANDTIMEENVIRONMENT(tc))); { ptr xcp = FRAME(tc, 0); { @@ -2317,7 +2315,6 @@ static void sweep_thread(thread_gc *tgc, ptr p) relocate_pure(&(WINDERS(tc))); relocate_pure(&(ATTACHMENTS(tc))); relocate_pure(&(HANDLERSTACK(tc))); - relocate_pure(&(EXPANDTIMEENVIRONMENT(tc))); CACHEDFRAME(tc) = Sfalse; { ptr xcp = FRAME(tc, 0); diff --git a/boot/pb/gc-oce.inc b/boot/pb/gc-oce.inc index 1317a3453..29d03695e 100644 --- a/boot/pb/gc-oce.inc +++ b/boot/pb/gc-oce.inc @@ -958,7 +958,6 @@ static void sweep(thread_gc *tgc, ptr p, IGEN from_g) relocate_pure(&(WINDERS(tc))); relocate_pure(&(ATTACHMENTS(tc))); relocate_pure(&(HANDLERSTACK(tc))); - relocate_pure(&(EXPANDTIMEENVIRONMENT(tc))); CACHEDFRAME(tc) = Sfalse; { ptr xcp = FRAME(tc, 0); @@ -1595,7 +1594,6 @@ static void sweep_object_in_old(thread_gc *tgc, ptr p) relocate_pure(&(WINDERS(tc))); relocate_pure(&(ATTACHMENTS(tc))); relocate_pure(&(HANDLERSTACK(tc))); - relocate_pure(&(EXPANDTIMEENVIRONMENT(tc))); { ptr xcp = FRAME(tc, 0); { @@ -2451,7 +2449,6 @@ static void sweep_thread(thread_gc *tgc, ptr p) relocate_pure(&(WINDERS(tc))); relocate_pure(&(ATTACHMENTS(tc))); relocate_pure(&(HANDLERSTACK(tc))); - relocate_pure(&(EXPANDTIMEENVIRONMENT(tc))); CACHEDFRAME(tc) = Sfalse; { ptr xcp = FRAME(tc, 0); @@ -4565,11 +4562,6 @@ static void measure(thread_gc *tgc, ptr p) if (!FIXMEDIATE(r_p)) push_measure(tgc, r_p); } - { /* measure */ - ptr r_p = EXPANDTIMEENVIRONMENT(tc); - if (!FIXMEDIATE(r_p)) - push_measure(tgc, r_p); - } { ptr xcp = FRAME(tc, 0); { diff --git a/boot/pb/gc-par.inc b/boot/pb/gc-par.inc index bb82f372d..755c578b8 100644 --- a/boot/pb/gc-par.inc +++ b/boot/pb/gc-par.inc @@ -830,7 +830,6 @@ static void sweep(thread_gc *tgc, ptr p, IGEN from_g) relocate_pure(&(WINDERS(tc))); relocate_pure(&(ATTACHMENTS(tc))); relocate_pure(&(HANDLERSTACK(tc))); - relocate_pure(&(EXPANDTIMEENVIRONMENT(tc))); CACHEDFRAME(tc) = Sfalse; { ptr xcp = FRAME(tc, 0); @@ -1476,7 +1475,6 @@ static void sweep_object_in_old(thread_gc *tgc, ptr p) relocate_pure(&(WINDERS(tc))); relocate_pure(&(ATTACHMENTS(tc))); relocate_pure(&(HANDLERSTACK(tc))); - relocate_pure(&(EXPANDTIMEENVIRONMENT(tc))); { ptr xcp = FRAME(tc, 0); { @@ -2360,7 +2358,6 @@ static void sweep_thread(thread_gc *tgc, ptr p) relocate_pure(&(WINDERS(tc))); relocate_pure(&(ATTACHMENTS(tc))); relocate_pure(&(HANDLERSTACK(tc))); - relocate_pure(&(EXPANDTIMEENVIRONMENT(tc))); CACHEDFRAME(tc) = Sfalse; { ptr xcp = FRAME(tc, 0); diff --git a/boot/pb/heapcheck.inc b/boot/pb/heapcheck.inc index 51a243cca..3c9ddac64 100644 --- a/boot/pb/heapcheck.inc +++ b/boot/pb/heapcheck.inc @@ -247,7 +247,6 @@ static void check_object(ptr p, uptr seg, ISPC s_in, IBOOL aftergc) check_pointer(&(WINDERS(tc)), 1, 0, p, seg, s_in, aftergc); check_pointer(&(ATTACHMENTS(tc)), 1, 0, p, seg, s_in, aftergc); check_pointer(&(HANDLERSTACK(tc)), 1, 0, p, seg, s_in, aftergc); - check_pointer(&(EXPANDTIMEENVIRONMENT(tc)), 1, 0, p, seg, s_in, aftergc); { ptr xcp = FRAME(tc, 0); { diff --git a/boot/pb/petite.boot b/boot/pb/petite.boot index bbb1c5d29e40ad7d0083960678abd02f996dc815..70a07764f50571c620a307a9e77b5e667a12c82f 100644 GIT binary patch delta 124366 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 z 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