From dfef06c9679d39c2428eb701fb08ede10bd83944 Mon Sep 17 00:00:00 2001 From: Matthew Butterick Date: Wed, 2 Dec 2020 14:33:00 -0800 Subject: [PATCH] allow false --- beautiful-racket-lib/br/indent.rkt | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/beautiful-racket-lib/br/indent.rkt b/beautiful-racket-lib/br/indent.rkt index a59f820..fdc377a 100644 --- a/beautiful-racket-lib/br/indent.rkt +++ b/beautiful-racket-lib/br/indent.rkt @@ -145,11 +145,12 @@ (check-equal? (line-end-visible t 3) #f)) (define/contract (line-indent text line) - ((is-a?/c text%) (or/c exact-nonnegative-integer? #f) . -> . (or/c exact-nonnegative-integer? #f)) + ((is-a?/c text%) (or/c exact-nonnegative-integer? #f) . -> . exact-nonnegative-integer?) (and (valid-line? text line) + ;; though lsv can be #false (because a line may not have any starting char) + ;; an indent is always, at worst, zero (let ([lsv (line-start-visible text line)]) - (and lsv ; could be #f - (- (line-start-visible text line) (line-start text line)))))) + (if lsv (- lsv (line-start text line)) 0)))) (module+ test (check-equal? (line-indent t 0) 0)