From 4385502637037b17ddee5ec6eac246609249c478 Mon Sep 17 00:00:00 2001 From: "resyntax-ci[bot]" <181813515+resyntax-ci[bot]@users.noreply.github.com> Date: Thu, 8 Jan 2026 00:55:18 +0000 Subject: [PATCH 1/8] Fix 2 occurrences of `and-let-to-cond` Using `cond` allows converting `let` to internal definitions, reducing nesting --- scribble-lib/scribble/lp/lang/common.rkt | 19 +++++++++---------- scribble-text-lib/scribble/text/output.rkt | 13 ++++++++----- 2 files changed, 17 insertions(+), 15 deletions(-) diff --git a/scribble-lib/scribble/lp/lang/common.rkt b/scribble-lib/scribble/lp/lang/common.rkt index 396655a97b..dbf41dd7f9 100644 --- a/scribble-lib/scribble/lp/lang/common.rkt +++ b/scribble-lib/scribble/lp/lang/common.rkt @@ -79,16 +79,15 @@ (strip-comments (cdr body))] [(eq? ad 'code:blank) (strip-comments (cdr body))] - [(and (or (eq? ad 'code:hilite) - (eq? ad 'code:quote)) - (let* ([d (cdr body)] - [dd (if (syntax? d) - (syntax-e d) - d)]) - (and (pair? dd) - (or (null? (cdr dd)) - (and (syntax? (cdr dd)) - (null? (syntax-e (cdr dd)))))))) + [(cond + [(or (eq? ad 'code:hilite) (eq? ad 'code:quote)) + (define d (cdr body)) + (define dd + (if (syntax? d) + (syntax-e d) + d)) + (and (pair? dd) (or (null? (cdr dd)) (and (syntax? (cdr dd)) (null? (syntax-e (cdr dd))))))] + [else #f]) (define d (cdr body)) (define r (strip-comments (car (if (syntax? d) (syntax-e d) d)))) diff --git a/scribble-text-lib/scribble/text/output.rkt b/scribble-text-lib/scribble/text/output.rkt index d2480f4034..d72a65f439 100644 --- a/scribble-text-lib/scribble/text/output.rkt +++ b/scribble-text-lib/scribble/text/output.rkt @@ -57,11 +57,14 @@ 0)) ;; combines a prefix with a target column to get to (define (pfx+col pfx) - (and pfx (let ([col (getcol)]) - (cond [(number? pfx) (max pfx col)] - [(>= (string-length pfx) col) pfx] - [else (string-append - pfx (make-spaces (- col (string-length pfx))))])))) + (cond + [pfx + (define col (getcol)) + (cond + [(number? pfx) (max pfx col)] + [(>= (string-length pfx) col) pfx] + [else (string-append pfx (make-spaces (- col (string-length pfx))))])] + [else #f])) ;; adds two prefixes (define (pfx+ pfx1 pfx2) (and pfx1 pfx2 From 1bed3063b2f5e4e1c4859ac5bbed0ba95f0e5317 Mon Sep 17 00:00:00 2001 From: "resyntax-ci[bot]" <181813515+resyntax-ci[bot]@users.noreply.github.com> Date: Thu, 8 Jan 2026 00:55:18 +0000 Subject: [PATCH 2/8] Fix 4 occurrences of `let-to-define` Internal definitions are recommended instead of `let` expressions, to reduce nesting. --- .../scribblings/scribble/class-diagrams.rkt | 54 +++++++++---------- scribble-lib/scribble/srcdoc.rkt | 11 ++-- 2 files changed, 31 insertions(+), 34 deletions(-) diff --git a/scribble-doc/scribblings/scribble/class-diagrams.rkt b/scribble-doc/scribblings/scribble/class-diagrams.rkt index e678269bc4..1ad0a45723 100644 --- a/scribble-doc/scribblings/scribble/class-diagrams.rkt +++ b/scribble-doc/scribblings/scribble/class-diagrams.rkt @@ -48,23 +48,18 @@ ;; field-spec : string string -> pict (define (field-spec type fd #:default [default #f] [comment #f]) - (let ([code-line - (hbl-append (if type - (hbl-append (type-spec type) - (normal-font " ")) - (blank)) - (field-name-font fd) - (if default - (hbl-append (normal-font " = ") - (normal-font default)) - (blank)) - #; - (normal-font ";"))]) - (if comment - (hbl-append code-line - (normal-font " ") - (comment-font (format "[in ~a]" comment))) - code-line))) + (define code-line + (hbl-append (if type + (hbl-append (type-spec type) (normal-font " ")) + (blank)) + (field-name-font fd) + (if default + (hbl-append (normal-font " = ") (normal-font default)) + (blank)) + #;(normal-font ";"))) + (if comment + (hbl-append code-line (normal-font " ") (comment-font (format "[in ~a]" comment))) + code-line)) (define (method-spec range name #:body [body #f] . args) (unless (even? (length args)) @@ -81,15 +76,16 @@ (hbl-append (normal-font "(") (let loop ([args args]) - (let* ([type (car args)] - [param (cadr args)] - [single-arg (if param - (hbl-append (type-spec type) (normal-font " ") (var-font param)) - (type-spec type))]) - - (cond - [(null? (cddr args)) (hbl-append single-arg (normal-font ")"))] - [else (hbl-append single-arg (normal-font ", ") (loop (cddr args)))]))))]) + (define type (car args)) + (define param (cadr args)) + (define single-arg + (if param + (hbl-append (type-spec type) (normal-font " ") (var-font param)) + (type-spec type))) + + (cond + [(null? (cddr args)) (hbl-append single-arg (normal-font ")"))] + [else (hbl-append single-arg (normal-font ", ") (loop (cddr args)))])))]) (if body (hbl-append (normal-font " {")) (blank)))) @@ -415,9 +411,9 @@ (connect-dots #t main4 dot1 dot2 dot4 dot3))) (define (find-middle main p1 find1 p2 find2) - (let-values ([(x1 y1) (find1 main p1)] - [(x2 y2) (find2 main p2)]) - (- (/ (+ x1 x2) 2) (min x1 x2)))) + (define-values (x1 y1) (find1 main p1)) + (define-values (x2 y2) (find2 main p2)) + (- (/ (+ x1 x2) 2) (min x1 x2))) (define right-top-reference (λ (main0 start-class start-field finish-class [count 1] #:connect-dots [connect-dots connect-dots]) diff --git a/scribble-lib/scribble/srcdoc.rkt b/scribble-lib/scribble/srcdoc.rkt index 7143a61cc1..9b81ef04fc 100644 --- a/scribble-lib/scribble/srcdoc.rkt +++ b/scribble-lib/scribble/srcdoc.rkt @@ -128,11 +128,12 @@ (let ([t (syntax-local-value #'id (lambda () #f))]) (unless (provide/doc-transformer? t) (raise-syntax-error #f "not bound as a provide/doc transformer" stx #'id)) - (let* ([i (make-syntax-introducer)] - [i2 (lambda (x) (syntax-local-introduce (i x)))]) - (let-values ([(p/c d req/d id) ((provide/doc-transformer-proc t) - (i (syntax-local-introduce form)))]) - (list (i2 p/c) (i req/d) (i d) (i id)))))] + (define i (make-syntax-introducer)) + (define (i2 x) + (syntax-local-introduce (i x))) + (let-values ([(p/c d req/d id) ((provide/doc-transformer-proc t) + (i (syntax-local-introduce form)))]) + (list (i2 p/c) (i req/d) (i d) (i id))))] [_ (raise-syntax-error #f "not a provide/doc sub-form" stx form)]))]) (with-syntax ([(p/c ...) (map (lambda (form f) From 7051c21099cd62584dd9a343a5595ac2ebba845c Mon Sep 17 00:00:00 2001 From: "resyntax-ci[bot]" <181813515+resyntax-ci[bot]@users.noreply.github.com> Date: Thu, 8 Jan 2026 00:55:18 +0000 Subject: [PATCH 3/8] Fix 1 occurrence of `cond-let-to-cond-define` Internal definitions are recommended instead of `let` expressions, to reduce nesting. --- .../scribblings/scribble/class-diagrams.rkt | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/scribble-doc/scribblings/scribble/class-diagrams.rkt b/scribble-doc/scribblings/scribble/class-diagrams.rkt index 1ad0a45723..6cde07a124 100644 --- a/scribble-doc/scribblings/scribble/class-diagrams.rkt +++ b/scribble-doc/scribblings/scribble/class-diagrams.rkt @@ -130,13 +130,14 @@ (apply vl-append methods)))]) (add-hline (add-hline (frame (inset main class-box-margin)) top-spacer) bottom-spacer))] [fields - (let* ([top-spacer (mk-blank)] - [main (vl-append name - top-spacer - (if (null? fields) - (blank) - (apply vl-append fields)))]) - (add-hline (frame (inset main class-box-margin)) top-spacer))] + (define top-spacer (mk-blank)) + (define main + (vl-append name + top-spacer + (if (null? fields) + (blank) + (apply vl-append fields)))) + (add-hline (frame (inset main class-box-margin)) top-spacer)] [methods (class-box name methods fields)] [else (frame (inset name class-box-margin))])) From 2831188fee2ba35e70a6ad050694f01923db7f04 Mon Sep 17 00:00:00 2001 From: "resyntax-ci[bot]" <181813515+resyntax-ci[bot]@users.noreply.github.com> Date: Thu, 8 Jan 2026 00:55:18 +0000 Subject: [PATCH 4/8] Fix 5 occurrences of `map-to-for` This `map` operation can be replaced with a `for/list` loop. --- .../scribblings/scribble/class-diagrams.rkt | 44 +++++++++---------- scribble-lib/scribble/srcdoc.rkt | 15 +++---- 2 files changed, 27 insertions(+), 32 deletions(-) diff --git a/scribble-doc/scribblings/scribble/class-diagrams.rkt b/scribble-doc/scribblings/scribble/class-diagrams.rkt index 6cde07a124..c520799bae 100644 --- a/scribble-doc/scribblings/scribble/class-diagrams.rkt +++ b/scribble-doc/scribblings/scribble/class-diagrams.rkt @@ -149,16 +149,14 @@ (define (hierarchy main supers subs) (define supers-bottoms (apply max - (map (λ (x) - (let-values ([(x y) (cb-find main x)]) - y)) - supers))) + (for/list ([x (in-list supers)]) + (let-values ([(x y) (cb-find main x)]) + y)))) (define subs-tops (apply min - (map (λ (x) - (let-values ([(x y) (ct-find main x)]) - y)) - subs))) + (for/list ([x (in-list subs)]) + (let-values ([(x y) (ct-find main x)]) + y)))) (define sorted-subs (sort subs (λ (x y) (< (left-edge-x main x) (left-edge-x main y))))) (unless (< supers-bottoms subs-tops) (error 'hierarchy @@ -176,23 +174,21 @@ (λ (_1 _2) (values main-line-end-x main-line-y)) #:color hierarchy-color)) (define super-lines - (map (λ (super) - (let-values ([(x y) (cb-find main super)]) - (pin-over (pin-line (ghost main) super cb-find main (λ (_1 _2) (values x main-line-y))) - (- x (/ (pict-width triangle) 2)) - (- (/ (+ y main-line-y) 2) (/ (pict-height triangle) 2)) - triangle))) - supers)) + (for/list ([super (in-list supers)]) + (define-values (x y) (cb-find main super)) + (pin-over (pin-line (ghost main) super cb-find main (λ (_1 _2) (values x main-line-y))) + (- x (/ (pict-width triangle) 2)) + (- (/ (+ y main-line-y) 2) (/ (pict-height triangle) 2)) + triangle))) (define sub-lines - (map (λ (sub) - (let-values ([(x y) (ct-find main sub)]) - (pin-line (ghost main) - sub - ct-find - main - (λ (_1 _2) (values x main-line-y)) - #:color hierarchy-color))) - subs)) + (for/list ([sub (in-list subs)]) + (define-values (x y) (ct-find main sub)) + (pin-line (ghost main) + sub + ct-find + main + (λ (_1 _2) (values x main-line-y)) + #:color hierarchy-color))) (apply cc-superimpose w/main-line (append sub-lines super-lines))) (define triangle-width 12) diff --git a/scribble-lib/scribble/srcdoc.rkt b/scribble-lib/scribble/srcdoc.rkt index 9b81ef04fc..b2be7ce8d8 100644 --- a/scribble-lib/scribble/srcdoc.rkt +++ b/scribble-lib/scribble/srcdoc.rkt @@ -75,14 +75,13 @@ (syntax-shift-phase-level s #f))) (with-syntax ([((req ...) ...) (for/list ([rs (in-list (reverse requires))]) - (map (lambda (r) - (syntax-case r () - [(op arg ...) - (with-syntax ([(arg ...) (map shift-and-introduce - (syntax->list #'(arg ...)))]) - #'(op arg ...))] - [else (shift-and-introduce r)])) - (syntax->list rs)))] + (for/list ([r (in-list (syntax->list rs))]) + (syntax-case r () + [(op arg ...) + (with-syntax ([(arg ...) (map shift-and-introduce + (syntax->list #'(arg ...)))]) + #'(op arg ...))] + [else (shift-and-introduce r)])))] [(expr ...) (map shift-and-introduce (reverse doc-exprs))] [doc-body From 8ac34fb23a89ded9de06f7da1d1ba7f7944d503d Mon Sep 17 00:00:00 2001 From: "resyntax-ci[bot]" <181813515+resyntax-ci[bot]@users.noreply.github.com> Date: Thu, 8 Jan 2026 00:55:18 +0000 Subject: [PATCH 5/8] Fix 5 occurrences of `define-lambda-to-define` The `define` form supports a shorthand for defining functions. --- .../scribblings/scribble/class-diagrams.rkt | 156 ++++++++++-------- 1 file changed, 86 insertions(+), 70 deletions(-) diff --git a/scribble-doc/scribblings/scribble/class-diagrams.rkt b/scribble-doc/scribblings/scribble/class-diagrams.rkt index c520799bae..88d97a420d 100644 --- a/scribble-doc/scribblings/scribble/class-diagrams.rkt +++ b/scribble-doc/scribblings/scribble/class-diagrams.rkt @@ -342,82 +342,98 @@ (connect-dots #t (connect-dots #f main6 dot1 dot2 dot4 dot3) dot6 dot5)) -(define left-left-reference - (λ (main0 start-class start-field finish-class finish-name [count 1] - #:connect-dots [connect-dots connect-dots] - #:dot-delta [dot-delta 0]) - (let ([going-down? (let-values ([(_1 start-y) (find-cc main0 start-field)] - [(_2 finish-y) (find-cc main0 finish-name)]) - (< start-y finish-y))]) - (define-values (main1 dot1) (add-dot-delta (λ () (add-dot-left main0 start-class start-field)) - 0 - (if going-down? - dot-delta - (- dot-delta)))) - (define-values (main2 dot2) (add-dot-delta (λ () (add-dot-left/space main1 start-class start-field count)) - (- dot-delta) - (if going-down? - dot-delta - (- dot-delta)))) - (define-values (main3 dot3) (add-dot-delta (λ () (add-dot-left main2 finish-class finish-name)) - 0 - (if going-down? - (- dot-delta) - dot-delta))) - (define-values (main4 dot4) (add-dot-delta (λ () (add-dot-junction main3 dot2 dot3)) - 0 - 0)) - (define-values (main5 dot5) (add-dot-left main4 finish-class finish-name)) - (define-values (main6 dot6) (add-dot-delta (λ () (add-dot-left main5 finish-class finish-name)) - -1 ;; just enough to get the arrowhead going the right direction; not enough to see the line - 0)) - - (connect-dots - #t - (connect-dots #f main6 dot1 dot2 dot4 dot3) - dot6 - dot5)))) - -(define left-top-reference - (λ (main0 start-class start-field finish-class [count 1] #:connect-dots [connect-dots connect-dots]) - (define-values (main1 dot1) (add-dot-left main0 start-class start-field)) - (define-values (main2 dot2) (add-dot-left/space main1 start-class start-field count)) - (define-values (main3 dot3) (add-dot-junction main2 dot2 cc-find finish-class ct-find)) - (connect-dots #t main3 dot1 dot2 dot3))) - -(define right-left-reference - (λ (main0 start-class start-field finish-class finish-name - [offset - (find-middle main0 start-class rc-find finish-class lc-find)] - #:connect-dots [connect-dots connect-dots]) - (define-values (main1 dot1) (add-dot-right main0 start-class start-field)) - (define-values (main2 dot2) (add-dot-right/offset main1 start-class start-field offset)) - (define-values (main3 dot3) (add-dot-left main2 finish-class finish-name)) - (define-values (main4 dot4) (add-dot-junction main3 dot2 dot3)) - (connect-dots #t main4 dot1 dot2 dot4 dot3))) - -(define left-right-reference - (λ (main0 start-class start-field finish-class finish-name - [offset - (- (find-middle main0 start-class lc-find finish-class rc-find))] - #:connect-dots [connect-dots connect-dots]) - (define-values (main1 dot1) (add-dot-left main0 start-class start-field)) - (define-values (main2 dot2) (add-dot-left/offset main1 start-class start-field offset)) - (define-values (main3 dot3) (add-dot-right main2 finish-class finish-name)) - (define-values (main4 dot4) (add-dot-junction main3 dot2 dot3)) - (connect-dots #t main4 dot1 dot2 dot4 dot3))) +(define (left-left-reference main0 + start-class + start-field + finish-class + finish-name + [count 1] + #:connect-dots [connect-dots connect-dots] + #:dot-delta [dot-delta 0]) + (let ([going-down? (let-values ([(_1 start-y) (find-cc main0 start-field)] + [(_2 finish-y) (find-cc main0 finish-name)]) + (< start-y finish-y))]) + (define-values (main1 dot1) + (add-dot-delta (λ () (add-dot-left main0 start-class start-field)) + 0 + (if going-down? + dot-delta + (- dot-delta)))) + (define-values (main2 dot2) + (add-dot-delta (λ () (add-dot-left/space main1 start-class start-field count)) + (- dot-delta) + (if going-down? + dot-delta + (- dot-delta)))) + (define-values (main3 dot3) + (add-dot-delta (λ () (add-dot-left main2 finish-class finish-name)) + 0 + (if going-down? + (- dot-delta) + dot-delta))) + (define-values (main4 dot4) (add-dot-delta (λ () (add-dot-junction main3 dot2 dot3)) 0 0)) + (define-values (main5 dot5) (add-dot-left main4 finish-class finish-name)) + (define-values (main6 dot6) + (add-dot-delta + (λ () (add-dot-left main5 finish-class finish-name)) + -1 ;; just enough to get the arrowhead going the right direction; not enough to see the line + 0)) + + (connect-dots #t (connect-dots #f main6 dot1 dot2 dot4 dot3) dot6 dot5))) + +(define (left-top-reference main0 + start-class + start-field + finish-class + [count 1] + #:connect-dots [connect-dots connect-dots]) + (define-values (main1 dot1) (add-dot-left main0 start-class start-field)) + (define-values (main2 dot2) (add-dot-left/space main1 start-class start-field count)) + (define-values (main3 dot3) (add-dot-junction main2 dot2 cc-find finish-class ct-find)) + (connect-dots #t main3 dot1 dot2 dot3)) + +(define (right-left-reference main0 + start-class + start-field + finish-class + finish-name + [offset (find-middle main0 start-class rc-find finish-class lc-find)] + #:connect-dots [connect-dots connect-dots]) + (define-values (main1 dot1) (add-dot-right main0 start-class start-field)) + (define-values (main2 dot2) (add-dot-right/offset main1 start-class start-field offset)) + (define-values (main3 dot3) (add-dot-left main2 finish-class finish-name)) + (define-values (main4 dot4) (add-dot-junction main3 dot2 dot3)) + (connect-dots #t main4 dot1 dot2 dot4 dot3)) + +(define (left-right-reference main0 + start-class + start-field + finish-class + finish-name + [offset + (- (find-middle main0 start-class lc-find finish-class rc-find))] + #:connect-dots [connect-dots connect-dots]) + (define-values (main1 dot1) (add-dot-left main0 start-class start-field)) + (define-values (main2 dot2) (add-dot-left/offset main1 start-class start-field offset)) + (define-values (main3 dot3) (add-dot-right main2 finish-class finish-name)) + (define-values (main4 dot4) (add-dot-junction main3 dot2 dot3)) + (connect-dots #t main4 dot1 dot2 dot4 dot3)) (define (find-middle main p1 find1 p2 find2) (define-values (x1 y1) (find1 main p1)) (define-values (x2 y2) (find2 main p2)) (- (/ (+ x1 x2) 2) (min x1 x2))) -(define right-top-reference - (λ (main0 start-class start-field finish-class [count 1] #:connect-dots [connect-dots connect-dots]) - (define-values (main1 dot1) (add-dot-right main0 start-class start-field)) - (define-values (main2 dot2) (add-dot-right/space main1 start-class start-field count)) - (define-values (main3 dot3) (add-dot-junction main2 dot2 cc-find finish-class ct-find)) - (connect-dots #t main3 dot1 dot2 dot3))) +(define (right-top-reference main0 + start-class + start-field + finish-class + [count 1] + #:connect-dots [connect-dots connect-dots]) + (define-values (main1 dot1) (add-dot-right main0 start-class start-field)) + (define-values (main2 dot2) (add-dot-right/space main1 start-class start-field count)) + (define-values (main3 dot3) (add-dot-junction main2 dot2 cc-find finish-class ct-find)) + (connect-dots #t main3 dot1 dot2 dot3)) (define connect-dots-contract (->* (boolean? pict? pict?) () #:rest (listof pict?) (values pict?))) From dfb1f535b251708fc5f5bfbe996a20cc47f1b07e Mon Sep 17 00:00:00 2001 From: "resyntax-ci[bot]" <181813515+resyntax-ci[bot]@users.noreply.github.com> Date: Thu, 8 Jan 2026 00:55:18 +0000 Subject: [PATCH 6/8] Fix 1 occurrence of `arrow-contract-with-rest-to-arrow-contract-with-ellipses` This `->*` contract can be rewritten using `->` with ellipses. --- scribble-doc/scribblings/scribble/class-diagrams.rkt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scribble-doc/scribblings/scribble/class-diagrams.rkt b/scribble-doc/scribblings/scribble/class-diagrams.rkt index 88d97a420d..e644d1802a 100644 --- a/scribble-doc/scribblings/scribble/class-diagrams.rkt +++ b/scribble-doc/scribblings/scribble/class-diagrams.rkt @@ -435,7 +435,7 @@ (define-values (main3 dot3) (add-dot-junction main2 dot2 cc-find finish-class ct-find)) (connect-dots #t main3 dot1 dot2 dot3)) -(define connect-dots-contract (->* (boolean? pict? pict?) () #:rest (listof pict?) (values pict?))) +(define connect-dots-contract (-> boolean? pict? pict? pict? ... (values pict?))) (provide type-link-color) (provide/contract From 9d04481dbe47d6fc5f85f9dee27937f6ad97f075 Mon Sep 17 00:00:00 2001 From: "resyntax-ci[bot]" <181813515+resyntax-ci[bot]@users.noreply.github.com> Date: Thu, 8 Jan 2026 00:55:18 +0000 Subject: [PATCH 7/8] Fix 1 occurrence of `provide/contract-to-contract-out` The `provide/contract` form is a legacy form made obsolete by `contract-out`. --- .../scribblings/scribble/class-diagrams.rkt | 122 ++++++++---------- 1 file changed, 52 insertions(+), 70 deletions(-) diff --git a/scribble-doc/scribblings/scribble/class-diagrams.rkt b/scribble-doc/scribblings/scribble/class-diagrams.rkt index e644d1802a..1ea63a5cdb 100644 --- a/scribble-doc/scribblings/scribble/class-diagrams.rkt +++ b/scribble-doc/scribblings/scribble/class-diagrams.rkt @@ -438,74 +438,56 @@ (define connect-dots-contract (-> boolean? pict? pict? pict? ... (values pict?))) (provide type-link-color) -(provide/contract - [field-spec (->* ((or/c #f string?) string?) (string? #:default string?) pict?)] - [class-name (->* (string?) (#:spacing-word string?) pict?)] - [class-box (-> pict? (or/c #f (listof pict?)) (or/c #f (listof pict?)) pict?)] - [hierarchy/layout - (->* ((cons/c pict? (listof pict?)) (cons/c pict? (listof pict?))) - (#:top-space - integer? - #:bottom-space integer? - #:vertical-space integer? - #:every-other-space integer?) - pict?)] - [user-type-font (-> string? pict?)] - [prim-type-font (-> string? pict?)] - [var-font (-> string? pict?)] - [normal-font (-> string? pict?)] - [comment-font (-> string? pict?)] - - [hierarchy (-> pict? - (cons/c pict? (listof pict?)) - (cons/c pict? (listof pict?)) +(provide (contract-out + [field-spec (->* ((or/c #f string?) string?) (string? #:default string?) pict?)] + [class-name (->* (string?) (#:spacing-word string?) pict?)] + [class-box (-> pict? (or/c #f (listof pict?)) (or/c #f (listof pict?)) pict?)] + [hierarchy/layout + (->* ((cons/c pict? (listof pict?)) (cons/c pict? (listof pict?))) + (#:top-space integer? + #:bottom-space integer? + #:vertical-space integer? + #:every-other-space integer?) pict?)] - [right-right-reference (->* (pict? pict? pict? pict? pict?) - (number? - #:connect-dots connect-dots-contract - #:dot-delta number?) - pict?)] - [left-left-reference (->* (pict? pict? pict? pict? pict?) - (number? - #:connect-dots connect-dots-contract - #:dot-delta number?) - pict?)] - [right-left-reference (->* (pict? pict? pict? pict? pict?) - (number? - #:connect-dots connect-dots-contract) - pict?)] - [left-right-reference (->* (pict? pict? pict? pict? pict?) - (number? - #:connect-dots connect-dots-contract) - pict?)] - [left-top-reference (->* (pict? pict? pict? pict?) - (number? - #:connect-dots connect-dots-contract) - pict?)] - [right-top-reference (->* (pict? pict? pict? pict?) - (number? - #:connect-dots connect-dots-contract) - pict?)] - - [dot-edge-spacing number?] - [connect-dots connect-dots-contract] - [add-dot-right (-> pict? pict? pict? (values pict? pict?))] - [add-dot-right/space (-> pict? pict? pict? (values pict? pict?))] - [add-dot-left (-> pict? pict? pict? (values pict? pict?))] - [add-dot-left/space (-> pict? pict? pict? (values pict? pict?))] - [add-dot-junction - (case-> - (-> pict? pict? pict? (values pict? pict?)) - (-> pict? - pict? (-> pict? pict? (values number? number?)) - pict? (-> pict? pict? (values number? number?)) - (values pict? pict?)))] - [add-dot-offset (-> pict? pict? number? number? (values pict? pict?))] - [add-dot (-> pict? number? number? (values pict? pict?))] - [method-spec - (->* (string? string?) - (#:body (or/c #f pict?)) - #:rest (listof (or/c #f string?)) - pict?)] - [java-this (-> pict?)] - [field-arrowhead-size number?]) + [user-type-font (-> string? pict?)] + [prim-type-font (-> string? pict?)] + [var-font (-> string? pict?)] + [normal-font (-> string? pict?)] + [comment-font (-> string? pict?)] + [hierarchy (-> pict? (cons/c pict? (listof pict?)) (cons/c pict? (listof pict?)) pict?)] + [right-right-reference + (->* (pict? pict? pict? pict? pict?) + (number? #:connect-dots connect-dots-contract #:dot-delta number?) + pict?)] + [left-left-reference + (->* (pict? pict? pict? pict? pict?) + (number? #:connect-dots connect-dots-contract #:dot-delta number?) + pict?)] + [right-left-reference + (->* (pict? pict? pict? pict? pict?) (number? #:connect-dots connect-dots-contract) pict?)] + [left-right-reference + (->* (pict? pict? pict? pict? pict?) (number? #:connect-dots connect-dots-contract) pict?)] + [left-top-reference + (->* (pict? pict? pict? pict?) (number? #:connect-dots connect-dots-contract) pict?)] + [right-top-reference + (->* (pict? pict? pict? pict?) (number? #:connect-dots connect-dots-contract) pict?)] + [dot-edge-spacing number?] + [connect-dots connect-dots-contract] + [add-dot-right (-> pict? pict? pict? (values pict? pict?))] + [add-dot-right/space (-> pict? pict? pict? (values pict? pict?))] + [add-dot-left (-> pict? pict? pict? (values pict? pict?))] + [add-dot-left/space (-> pict? pict? pict? (values pict? pict?))] + [add-dot-junction + (case-> (-> pict? pict? pict? (values pict? pict?)) + (-> pict? + pict? + (-> pict? pict? (values number? number?)) + pict? + (-> pict? pict? (values number? number?)) + (values pict? pict?)))] + [add-dot-offset (-> pict? pict? number? number? (values pict? pict?))] + [add-dot (-> pict? number? number? (values pict? pict?))] + [method-spec + (->* (string? string?) (#:body (or/c #f pict?)) #:rest (listof (or/c #f string?)) pict?)] + [java-this (-> pict?)] + [field-arrowhead-size number?])) From 43e69635c7459ec29eed7321d93d2c8539ba5c7e Mon Sep 17 00:00:00 2001 From: "resyntax-ci[bot]" <181813515+resyntax-ci[bot]@users.noreply.github.com> Date: Thu, 8 Jan 2026 00:55:18 +0000 Subject: [PATCH 8/8] Fix 1 occurrence of `if-let-to-cond` `cond` with internal definitions is preferred over `if` with `let`, to reduce nesting --- scribble-doc/scribblings/scribble/utils.rkt | 38 +++++++++++---------- 1 file changed, 20 insertions(+), 18 deletions(-) diff --git a/scribble-doc/scribblings/scribble/utils.rkt b/scribble-doc/scribblings/scribble/utils.rkt index 2e435d91b5..ba0e748b63 100644 --- a/scribble-doc/scribblings/scribble/utils.rkt +++ b/scribble-doc/scribblings/scribble/utils.rkt @@ -78,24 +78,26 @@ (define p1 (file-position p)) (define stx (scribble:read-syntax #f p)) (define p2 (file-position p)) - (if (not (eof-object? stx)) - (let ([str (substring lines p1 p2)]) - (loop (cons (list str stx) r) (or newlines? (regexp-match? #rx#"\n" str)))) - (let* ([r (reverse r)] - [r (if newlines? - (cdr (apply append (map (lambda (x) (list #f x)) r))) - r)]) - (make-table plain - (map (lambda (x) - (let ([@expr (if x - (litchar/lines (car x)) - "")] - [sexpr (if x - (racket:to-paragraph ((norm-spacing 0) (cadr x))) - "")] - [reads-as (if x reads-as "")]) - (map as-flow (list spacer @expr reads-as sexpr)))) - r))))))) + (cond + [(not (eof-object? stx)) + (define str (substring lines p1 p2)) + (loop (cons (list str stx) r) (or newlines? (regexp-match? #rx#"\n" str)))] + [else + (let* ([r (reverse r)] + [r (if newlines? + (cdr (apply append (map (lambda (x) (list #f x)) r))) + r)]) + (make-table plain + (map (lambda (x) + (let ([@expr (if x + (litchar/lines (car x)) + "")] + [sexpr (if x + (racket:to-paragraph ((norm-spacing 0) (cadr x))) + "")] + [reads-as (if x reads-as "")]) + (map as-flow (list spacer @expr reads-as sexpr)))) + r)))])))) ;; stuff for the scribble/text examples