From 4b2f6d58388c7ad0153368245c2804b503b2e5d8 Mon Sep 17 00:00:00 2001 From: "resyntax-ci[bot]" <181813515+resyntax-ci[bot]@users.noreply.github.com> Date: Wed, 22 Jan 2025 00:15:51 +0000 Subject: [PATCH 01/12] Fix 1 occurrence of `map-to-for` This `map` operation can be replaced with a `for/list` loop. --- scribble-lib/scribble/render.rkt | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/scribble-lib/scribble/render.rkt b/scribble-lib/scribble/render.rkt index 5be87c8be5..2e00feecc1 100644 --- a/scribble-lib/scribble/render.rkt +++ b/scribble-lib/scribble/render.rkt @@ -69,13 +69,12 @@ (unless quiet? (send renderer report-output!)) (define fns - (map (lambda (fn) - (let-values ([(base name dir?) (split-path fn)]) - (let ([fn (path-replace-suffix name (send renderer get-suffix))]) - (if dest-dir - (build-path dest-dir fn) - fn)))) - names)) + (for/list ([fn (in-list names)]) + (define-values (base name dir?) (split-path fn)) + (let ([fn (path-replace-suffix name (send renderer get-suffix))]) + (if dest-dir + (build-path dest-dir fn) + fn)))) (define fp (send renderer traverse docs fns)) (define info (send renderer collect docs fns fp)) (for ([file (in-list info-input-files)]) From a3e7770b3bac7885f426ee2c1ca359d47a280123 Mon Sep 17 00:00:00 2001 From: "resyntax-ci[bot]" <181813515+resyntax-ci[bot]@users.noreply.github.com> Date: Wed, 22 Jan 2025 00:15:51 +0000 Subject: [PATCH 02/12] Fix 6 occurrences of `let-to-define` Internal definitions are recommended instead of `let` expressions, to reduce nesting. --- scribble-lib/scribble/base-render.rkt | 59 ++++++++++++----------- scribble-lib/scribble/render.rkt | 17 ++++--- scribble-lib/scribble/tag.rkt | 51 ++++++++------------ scribble-test/tests/scribble/markdown.rkt | 16 +++--- 4 files changed, 69 insertions(+), 74 deletions(-) diff --git a/scribble-lib/scribble/base-render.rkt b/scribble-lib/scribble/base-render.rkt index 2c63b679e9..246e516fad 100644 --- a/scribble-lib/scribble/base-render.rkt +++ b/scribble-lib/scribble/base-render.rkt @@ -346,34 +346,37 @@ (define/private (partition-info all-ci n d) ;; partition information in `all-ci' based on `d's: - (let ([prefix (part-tag-prefix-string d)] - [new-hts (for/list ([i (in-range n)]) - (make-hash))] - [covered (make-hash)]) - ;; Fill in new-hts from parts: - (for ([sub-d (in-list (part-parts d))] - [i (in-naturals)]) - (define ht (list-ref new-hts (min (add1 i) (sub1 n)))) - (define cdi (hash-ref (collect-info-parts all-ci) sub-d #f)) - (define sub-prefix (part-tag-prefix-string sub-d)) - (when cdi - (for ([(k v) (in-hash (collected-info-info cdi))]) - (when (cadr k) - (define sub-k (if sub-prefix - (convert-key sub-prefix k) - k)) - (define full-k (if prefix - (convert-key prefix sub-k) - sub-k)) - (hash-set! ht full-k v) - (hash-set! covered full-k #t))))) - ;; Anything not covered in the new-hts must go in the main hts: - (let ([ht0 (car new-hts)]) - (for ([(k v) (in-hash (collect-info-ht all-ci))]) - (unless (hash-ref covered k #f) - (hash-set! ht0 k v)))) - ;; Return hts: - new-hts)) + (define prefix (part-tag-prefix-string d)) + (define new-hts + (for/list ([i (in-range n)]) + (make-hash))) + (define covered (make-hash)) + ;; Fill in new-hts from parts: + (for ([sub-d (in-list (part-parts d))] + [i (in-naturals)]) + (define ht (list-ref new-hts (min (add1 i) (sub1 n)))) + (define cdi (hash-ref (collect-info-parts all-ci) sub-d #f)) + (define sub-prefix (part-tag-prefix-string sub-d)) + (when cdi + (for ([(k v) (in-hash (collected-info-info cdi))]) + (when (cadr k) + (define sub-k + (if sub-prefix + (convert-key sub-prefix k) + k)) + (define full-k + (if prefix + (convert-key prefix sub-k) + sub-k)) + (hash-set! ht full-k v) + (hash-set! covered full-k #t))))) + ;; Anything not covered in the new-hts must go in the main hts: + (let ([ht0 (car new-hts)]) + (for ([(k v) (in-hash (collect-info-ht all-ci))]) + (unless (hash-ref covered k #f) + (hash-set! ht0 k v)))) + ;; Return hts: + new-hts) (define/public (serialize-info ri) (serialize-one-ht ri (collect-info-ht (resolve-info-ci ri)))) diff --git a/scribble-lib/scribble/render.rkt b/scribble-lib/scribble/render.rkt index 2e00feecc1..9b263fb4fb 100644 --- a/scribble-lib/scribble/render.rkt +++ b/scribble-lib/scribble/render.rkt @@ -78,18 +78,19 @@ (define fp (send renderer traverse docs fns)) (define info (send renderer collect docs fns fp)) (for ([file (in-list info-input-files)]) - (let ([s (with-input-from-file file read)]) (send renderer deserialize-info s info))) + (define s (with-input-from-file file read)) + (send renderer deserialize-info s info)) (for ([xr (in-list xrefs)]) (xref-transfer-info renderer info xr)) (let ([r-info (send renderer resolve docs fns info)]) (send renderer render docs fns r-info) (when info-output-file - (let ([s (send renderer serialize-info r-info)]) - (with-output-to-file info-output-file #:exists 'truncate/replace (lambda () (write s))))) + (define s (send renderer serialize-info r-info)) + (with-output-to-file info-output-file #:exists 'truncate/replace (lambda () (write s)))) (when warn-undefined? - (let ([undef (send renderer get-undefined r-info)]) - (unless (null? undef) - (eprintf "Warning: some cross references may be broken due to undefined tags:\n") - (for ([t (in-list undef)]) - (eprintf " ~s\n" t)))))) + (define undef (send renderer get-undefined r-info)) + (unless (null? undef) + (eprintf "Warning: some cross references may be broken due to undefined tags:\n") + (for ([t (in-list undef)]) + (eprintf " ~s\n" t))))) (void)) diff --git a/scribble-lib/scribble/tag.rkt b/scribble-lib/scribble/tag.rkt index 3d2c4eef8c..56ec971c09 100644 --- a/scribble-lib/scribble/tag.rkt +++ b/scribble-lib/scribble/tag.rkt @@ -63,36 +63,27 @@ (define (do-module-path-index->taglet mod) ;; Derive the name from the module path: - (let ([p (collapse-module-path-index - mod - (lambda () (build-path (current-directory) "dummy")))]) - (if (path? p) - ;; If we got a path back anyway, then it's best to use the resolved - ;; name; if the current directory has changed since we - ;; the path-index was resolved, then p might not be right. Also, - ;; the resolved path might be a symbol instead of a path. - (let ([rp (resolved-module-path-name - (module-path-index-resolve mod))]) - (if (path? rp) - (intern-taglet - (path->collects-relative rp)) - rp)) - (let ([p (if (and (pair? p) - (eq? (car p) 'planet)) - ;; Normalize planet verion number based on current - ;; linking: - (let-values ([(path pkg) - (get-planet-module-path/pkg p #f #f)]) - (list* 'planet - (cadr p) - (list (car (caddr p)) - (cadr (caddr p)) - (pkg-maj pkg) - (pkg-min pkg)) - (cdddr p))) - ;; Otherwise the path is fully normalized: - p)]) - (intern-taglet p))))) + (define p (collapse-module-path-index mod (lambda () (build-path (current-directory) "dummy")))) + (if (path? p) + ;; If we got a path back anyway, then it's best to use the resolved + ;; name; if the current directory has changed since we + ;; the path-index was resolved, then p might not be right. Also, + ;; the resolved path might be a symbol instead of a path. + (let ([rp (resolved-module-path-name (module-path-index-resolve mod))]) + (if (path? rp) + (intern-taglet (path->collects-relative rp)) + rp)) + (let ([p (if (and (pair? p) (eq? (car p) 'planet)) + ;; Normalize planet verion number based on current + ;; linking: + (let-values ([(path pkg) (get-planet-module-path/pkg p #f #f)]) + (list* 'planet + (cadr p) + (list (car (caddr p)) (cadr (caddr p)) (pkg-maj pkg) (pkg-min pkg)) + (cdddr p))) + ;; Otherwise the path is fully normalized: + p)]) + (intern-taglet p)))) (define collapsed (make-weak-hasheq)) (define (module-path-index->taglet mod) diff --git a/scribble-test/tests/scribble/markdown.rkt b/scribble-test/tests/scribble/markdown.rkt index 8cc7dd7033..20833e4b22 100644 --- a/scribble-test/tests/scribble/markdown.rkt +++ b/scribble-test/tests/scribble/markdown.rkt @@ -10,14 +10,14 @@ "scribble-docs-tests")) (define (build-markdown-doc src-file dest-file) - (let* ([renderer (new (markdown:render-mixin render%) [dest-dir work-dir])] - [docs (list (dynamic-require src-file 'doc))] - [fns (list (build-path work-dir dest-file))] - [fp (send renderer traverse docs fns)] - [info (send renderer collect docs fns fp)] - [r-info (send renderer resolve docs fns info)]) - (send renderer render docs fns r-info) - (send renderer get-undefined r-info))) + (define renderer (new (markdown:render-mixin render%) [dest-dir work-dir])) + (define docs (list (dynamic-require src-file 'doc))) + (define fns (list (build-path work-dir dest-file))) + (define fp (send renderer traverse docs fns)) + (define info (send renderer collect docs fns fp)) + (define r-info (send renderer resolve docs fns info)) + (send renderer render docs fns r-info) + (send renderer get-undefined r-info)) (provide markdown-tests) (module+ main (markdown-tests)) From 37fec3d2a0c533641fcbcbbc4463c26abed39fe3 Mon Sep 17 00:00:00 2001 From: "resyntax-ci[bot]" <181813515+resyntax-ci[bot]@users.noreply.github.com> Date: Wed, 22 Jan 2025 00:15:51 +0000 Subject: [PATCH 03/12] Fix 1 occurrence of `define-let-to-double-define` This `let` expression can be pulled up into a `define` expression. --- scribble-lib/scribble/base-render.rkt | 41 ++++++++++++--------------- 1 file changed, 18 insertions(+), 23 deletions(-) diff --git a/scribble-lib/scribble/base-render.rkt b/scribble-lib/scribble/base-render.rkt index 246e516fad..7fac16c08f 100644 --- a/scribble-lib/scribble/base-render.rkt +++ b/scribble-lib/scribble/base-render.rkt @@ -83,30 +83,25 @@ (not (ormap number? number)))) null] [else + (define s + (string-append (apply string-append + (map (lambda (n) + (cond + [(number? n) (format "~a." n)] + [(or (not n) (string? n)) ""] + [(pair? n) (string-append (car n) (cadr n))])) + (reverse (cdr number)))) + (if (and (car number) (not (equal? "" (car number)))) + (if (pair? (car number)) + (if keep-separator? + (string-append (caar number) (cadar number)) + (caar number)) + (format "~a." (car number))) + ""))) (define result-s - (let ([s (string-append - (apply - string-append - (map (lambda (n) - (cond - [(number? n) (format "~a." n)] - [(or (not n) (string? n)) ""] - [(pair? n) (string-append (car n) (cadr n))])) - (reverse (cdr number)))) - (if (and (car number) - (not (equal? "" (car number)))) - (if (pair? (car number)) - (if keep-separator? - (string-append (caar number) - (cadar number)) - (caar number)) - (format "~a." (car number))) - ""))]) - (if (or keep-separator? - (pair? (car number)) - (equal? s "")) - s - (substring s 0 (sub1 (string-length s)))))) + (if (or keep-separator? (pair? (car number)) (equal? s "")) + s + (substring s 0 (sub1 (string-length s))))) (if (equal? result-s "") null (cons result-s sep))])) From e2fcdbe1b7c928f1457a4fd968e929834a1da7fc Mon Sep 17 00:00:00 2001 From: "resyntax-ci[bot]" <181813515+resyntax-ci[bot]@users.noreply.github.com> Date: Wed, 22 Jan 2025 00:15:51 +0000 Subject: [PATCH 04/12] Fix 2 occurrences of `unless-expression-in-for-loop-to-unless-keyword` Use the `#:unless` keyword instead of `unless` to reduce loop body indentation. --- scribble-lib/scribble/base-render.rkt | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/scribble-lib/scribble/base-render.rkt b/scribble-lib/scribble/base-render.rkt index 7fac16c08f..8932f4accb 100644 --- a/scribble-lib/scribble/base-render.rkt +++ b/scribble-lib/scribble/base-render.rkt @@ -157,9 +157,9 @@ (extract-content-style-files (part-title-content p) d ri ht pred extract) (extract-flow-style-files (part-blocks p) d ri ht pred extract)) (unless only-up? - (for ([p (in-list (part-parts p))]) - (unless (stop-at-part? p) - (loop p #f #f))))) + (for ([p (in-list (part-parts p))] + #:unless (stop-at-part? p)) + (loop p #f #f)))) (map cdr (sort (for/list ([(k v) (in-hash ht)]) (cons v (if (or (bytes? k) (url? k)) k (collects-relative->path k)))) @@ -180,9 +180,9 @@ [(table? p) (extract-style-style-files (table-style p) ht pred extract) (for* ([blocks (in-list (table-blockss p))] - [block (in-list blocks)]) - (unless (eq? block 'cont) - (extract-block-style-files block d ri ht pred extract)))] + [block (in-list blocks)] + #:unless (eq? block 'cont)) + (extract-block-style-files block d ri ht pred extract))] [(itemization? p) (extract-style-style-files (itemization-style p) ht pred extract) (for-each (lambda (blocks) (extract-flow-style-files blocks d ri ht pred extract)) From 8cf841fd1bdf4b9389e8eb7168ccf3a61b93daa4 Mon Sep 17 00:00:00 2001 From: "resyntax-ci[bot]" <181813515+resyntax-ci[bot]@users.noreply.github.com> Date: Wed, 22 Jan 2025 00:15:51 +0000 Subject: [PATCH 05/12] Fix 2 occurrences of `when-expression-in-for-loop-to-when-keyword` Use the `#:when` keyword instead of `when` to reduce loop body indentation. --- scribble-lib/scribble/base-render.rkt | 6 +++--- scribble-test/tests/scribble/markdown.rkt | 8 +++----- 2 files changed, 6 insertions(+), 8 deletions(-) diff --git a/scribble-lib/scribble/base-render.rkt b/scribble-lib/scribble/base-render.rkt index 8932f4accb..c3815fb0ad 100644 --- a/scribble-lib/scribble/base-render.rkt +++ b/scribble-lib/scribble/base-render.rkt @@ -167,9 +167,9 @@ #:key car))) (define/private (extract-style-style-files s ht pred extract) - (for ([v (in-list (style-properties s))]) - (when (pred v) - (hash-update! ht (extract v) values (hash-count ht))))) + (for ([v (in-list (style-properties s))] + #:when (pred v)) + (hash-update! ht (extract v) values (hash-count ht)))) (define/private (extract-flow-style-files blocks d ri ht pred extract) (for ([b (in-list blocks)]) diff --git a/scribble-test/tests/scribble/markdown.rkt b/scribble-test/tests/scribble/markdown.rkt index 20833e4b22..cb16eb657a 100644 --- a/scribble-test/tests/scribble/markdown.rkt +++ b/scribble-test/tests/scribble/markdown.rkt @@ -40,11 +40,9 @@ (define (contents file) (regexp-replace #rx"\n+$" (file->string file) "")) (define undefineds (build-markdown-doc src-file "gen.md")) - (for ([u (in-list undefineds)]) - (when (eq? 'tech (car u)) - (test #:failure-message - (format "undefined tech: ~e" u) - #f))) + (for ([u (in-list undefineds)] + #:when (eq? 'tech (car u))) + (test #:failure-message (format "undefined tech: ~e" u) #f)) (test #:failure-message (format "mismatch for: \"~a\", expected text in: \"~a\", got:\n~a" From 0ec7811326305949e8615ef526dbd6df51500cf5 Mon Sep 17 00:00:00 2001 From: "resyntax-ci[bot]" <181813515+resyntax-ci[bot]@users.noreply.github.com> Date: Wed, 22 Jan 2025 00:15:51 +0000 Subject: [PATCH 06/12] Fix 1 occurrence of `inline-unnecessary-define` This variable is returned immediately and can be inlined. --- scribble-lib/scribble/base-render.rkt | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/scribble-lib/scribble/base-render.rkt b/scribble-lib/scribble/base-render.rkt index c3815fb0ad..a7d0d5baa5 100644 --- a/scribble-lib/scribble/base-render.rkt +++ b/scribble-lib/scribble/base-render.rkt @@ -242,8 +242,7 @@ (let loop ([l (part-blocks d)]) (apply append (for/list ([b (in-list l)]) - (define lifted (lift-proc b loop)) - lifted)))) + (lift-proc b loop))))) (define/private (extract-pre-paras-proc sym) (λ (v loop) From 1689fd03e6dd22587fb8a2154a8c433fc5d63779 Mon Sep 17 00:00:00 2001 From: "resyntax-ci[bot]" <181813515+resyntax-ci[bot]@users.noreply.github.com> Date: Wed, 22 Jan 2025 00:15:51 +0000 Subject: [PATCH 07/12] Fix 2 occurrences of `hash-map-to-hash-keys` This `hash-map` expression is equivalent to the `hash-keys` function. --- scribble-lib/scribble/base-render.rkt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/scribble-lib/scribble/base-render.rkt b/scribble-lib/scribble/base-render.rkt index a7d0d5baa5..760657912c 100644 --- a/scribble-lib/scribble/base-render.rkt +++ b/scribble-lib/scribble/base-render.rkt @@ -393,11 +393,11 @@ (hash-set! in-ht k (if (or doc-id pkg) (known-doc v doc-id pkg) v)))) (define/public (get-defined ci) - (hash-map (collect-info-ht ci) (lambda (k v) k))) + (hash-keys (collect-info-ht ci))) (define/public (get-defineds ci n d) (for/list ([ht (partition-info ci n d)]) - (hash-map ht (lambda (k v) k)))) + (hash-keys ht))) (define/public (get-external ri) (hash-map (resolve-info-undef ri) (lambda (k v) k))) From 70e5e198fa0c79be63dce2777288d7b91184b0c2 Mon Sep 17 00:00:00 2001 From: "resyntax-ci[bot]" <181813515+resyntax-ci[bot]@users.noreply.github.com> Date: Wed, 22 Jan 2025 00:15:51 +0000 Subject: [PATCH 08/12] Fix 1 occurrence of `inline-unnecessary-begin` This `begin` form can be flattened into the surrounding definition context. --- scribble-test/tests/scribble/text-lang.rkt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scribble-test/tests/scribble/text-lang.rkt b/scribble-test/tests/scribble/text-lang.rkt index 364821b279..1f886cb469 100644 --- a/scribble-test/tests/scribble/text-lang.rkt +++ b/scribble-test/tests/scribble/text-lang.rkt @@ -67,4 +67,4 @@ (call-with-trusted-sandbox-configuration (lambda () (for ([t (in-list (doc:tests))]) - (begin (apply text-test t)))))) + (apply text-test t))))) From e0a5af06bcf2310d3ecc72a4e6a79d6a9c62f670 Mon Sep 17 00:00:00 2001 From: "resyntax-ci[bot]" <181813515+resyntax-ci[bot]@users.noreply.github.com> Date: Wed, 22 Jan 2025 00:15:51 +0000 Subject: [PATCH 09/12] Fix 1 occurrence of `if-let-to-cond` `cond` with internal definitions is preferred over `if` with `let`, to reduce nesting --- scribble-lib/scribble/tag.rkt | 23 +++++++++++------------ 1 file changed, 11 insertions(+), 12 deletions(-) diff --git a/scribble-lib/scribble/tag.rkt b/scribble-lib/scribble/tag.rkt index 56ec971c09..cf0b7a8be3 100644 --- a/scribble-lib/scribble/tag.rkt +++ b/scribble-lib/scribble/tag.rkt @@ -48,18 +48,17 @@ (let ([v (if (list? v) (map intern-taglet v) (datum-intern-literal v))]) - (if (or (string? v) - (bytes? v) - (list? v)) - (let ([b (hash-ref interned v #f)]) - (if b - (or (weak-box-value b) - ;; just in case the value is GCed before we extract it: - (intern-taglet v)) - (begin - (hash-set! interned v (make-weak-box v)) - v))) - v))) + (cond + [(or (string? v) (bytes? v) (list? v)) + (define b (hash-ref interned v #f)) + (if b + (or (weak-box-value b) + ;; just in case the value is GCed before we extract it: + (intern-taglet v)) + (begin + (hash-set! interned v (make-weak-box v)) + v))] + [else v]))) (define (do-module-path-index->taglet mod) ;; Derive the name from the module path: From 5e4d10f3bc833c4ab154f3ca2ac20a345ddac29a Mon Sep 17 00:00:00 2001 From: "resyntax-ci[bot]" <181813515+resyntax-ci[bot]@users.noreply.github.com> Date: Wed, 22 Jan 2025 00:15:51 +0000 Subject: [PATCH 10/12] Fix 1 occurrence of `or-hash-ref-set!-to-hash-ref!` This expression can be replaced with a simpler, equivalent `hash-ref!` expression. --- scribble-lib/scribble/tag.rkt | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/scribble-lib/scribble/tag.rkt b/scribble-lib/scribble/tag.rkt index cf0b7a8be3..d78ae0534c 100644 --- a/scribble-lib/scribble/tag.rkt +++ b/scribble-lib/scribble/tag.rkt @@ -86,10 +86,7 @@ (define collapsed (make-weak-hasheq)) (define (module-path-index->taglet mod) - (or (hash-ref collapsed mod #f) - (let ([v (do-module-path-index->taglet mod)]) - (hash-set! collapsed mod v) - v))) + (hash-ref! collapsed mod (λ () (do-module-path-index->taglet mod)))) (define (module-path-prefix->string p) (datum-intern-literal From 737c09eb62dd3517d0803d7c0914e458472c37d5 Mon Sep 17 00:00:00 2001 From: "resyntax-ci[bot]" <181813515+resyntax-ci[bot]@users.noreply.github.com> Date: Wed, 22 Jan 2025 00:15:51 +0000 Subject: [PATCH 11/12] Fix 1 occurrence of `single-clause-match-to-match-define` This `match` expression can be simplified using `match-define`. --- scribble-lib/scribble/tag.rkt | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/scribble-lib/scribble/tag.rkt b/scribble-lib/scribble/tag.rkt index d78ae0534c..fa9e861715 100644 --- a/scribble-lib/scribble/tag.rkt +++ b/scribble-lib/scribble/tag.rkt @@ -110,9 +110,8 @@ (define (definition-tag->class/interface-tag t) (cons 'class/intf (cdr t))) (define (class/interface-tag->constructor-tag t) (cons 'constructor (cdr t))) (define (get-class/interface-and-method meth-tag) - (match meth-tag - [`(meth ((,_ ,class/interface) ,method)) - (values class/interface method)])) + (match-define `(meth ((,_ ,class/interface) ,method)) meth-tag) + (values class/interface method)) (define (definition-tag? x) (and (tag? x) (equal? (car x) 'def))) (define (class/interface-tag? x) (and (tag? x) (equal? (car x) 'class/intf))) (define (method-tag? x) (and (tag? x) (equal? (car x) 'meth))) From 409561887cd55ab68aaf2cc62a2ca1b2e9173d3d Mon Sep 17 00:00:00 2001 From: "resyntax-ci[bot]" <181813515+resyntax-ci[bot]@users.noreply.github.com> Date: Wed, 22 Jan 2025 00:15:51 +0000 Subject: [PATCH 12/12] Fix 1 occurrence of `always-throwing-if-to-when` Using `when` and `unless` is simpler than a conditional with an always-throwing branch. --- scribble-test/tests/scribble/reader.rkt | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/scribble-test/tests/scribble/reader.rkt b/scribble-test/tests/scribble/reader.rkt index 1fa756db15..ed0627b692 100644 --- a/scribble-test/tests/scribble/reader.rkt +++ b/scribble-test/tests/scribble/reader.rkt @@ -947,14 +947,14 @@ END-OF-TESTS (define m (or (regexp-match #px"^(.*)\n\\s*(-\\S+->)\\s*\n(.*)$" t) (regexp-match #px"^(.*\\S)\\s+(-\\S+->)\\s+(\\S.*)$" t))) - (if (not (and m (= 4 (length m)))) - (error 'bad-test "~a" t) - (let-values ([(x y) ((string->tester (caddr m)) (cadr m) (cadddr m))]) - (test #:failure-message (format "bad result in\n ~a\n results:\n ~s != ~s" - (regexp-replace* #rx"\n" t "\n ") - x - y) - (matching? x y))))))) + (unless (and m (= 4 (length m))) + (error 'bad-test "~a" t)) + (let-values ([(x y) ((string->tester (caddr m)) (cadr m) (cadddr m))]) + (test #:failure-message (format "bad result in\n ~a\n results:\n ~s != ~s" + (regexp-replace* #rx"\n" t "\n ") + x + y) + (matching? x y)))))) ;; Check static versus dynamic readtable for command (dynamic when "c" in the ;; name) and datum (dynamic when "d" in the name) parts: