Simplify `port-success-choose': no need for the first argument with the
full match, since it can be taken from the `ms' list. (Also, some minor reformatting.)
This commit is contained in:
parent
e0a72fab7d
commit
13db1c1a08
|
@ -211,7 +211,7 @@
|
||||||
[end (and end m (- end skipped got))])
|
[end (and end m (- end skipped got))])
|
||||||
(if m
|
(if m
|
||||||
(let ([0-ok? (not (zero? got))])
|
(let ([0-ok? (not (zero? got))])
|
||||||
(loop (port-success-choose m discarded/leftovers ms acc)
|
(loop (port-success-choose discarded/leftovers ms acc)
|
||||||
0 end ipre 0-ok?))
|
0 end ipre 0-ok?))
|
||||||
(port-failure-k acc discarded/leftovers)))))
|
(port-failure-k acc discarded/leftovers)))))
|
||||||
|
|
||||||
|
@ -261,8 +261,7 @@
|
||||||
;; Returns all the positions at which the pattern matched.
|
;; Returns all the positions at which the pattern matched.
|
||||||
(define (regexp-match-peek-positions* pattern string [start 0] [end #f]
|
(define (regexp-match-peek-positions* pattern string [start 0] [end #f]
|
||||||
[ipre #""])
|
[ipre #""])
|
||||||
(regexp-loop regexp-match-peek-positions* loop start end
|
(regexp-loop regexp-match-peek-positions* loop start end pattern string ipre
|
||||||
pattern string ipre
|
|
||||||
;; success-choose:
|
;; success-choose:
|
||||||
(lambda (start ms acc) (cons (car ms) acc))
|
(lambda (start ms acc) (cons (car ms) acc))
|
||||||
;; failure-k:
|
;; failure-k:
|
||||||
|
@ -274,14 +273,14 @@
|
||||||
|
|
||||||
;; Small helper for the functions below
|
;; Small helper for the functions below
|
||||||
(define (get-buf+sub string pattern)
|
(define (get-buf+sub string pattern)
|
||||||
(let ([buf
|
(let ([buf (if (and (string? string)
|
||||||
(if (and (string? string)
|
|
||||||
(or (byte-regexp? pattern) (bytes? pattern)))
|
(or (byte-regexp? pattern) (bytes? pattern)))
|
||||||
(string->bytes/utf-8 string (char->integer #\?))
|
(string->bytes/utf-8 string (char->integer #\?))
|
||||||
string)])
|
string)])
|
||||||
(values
|
(values
|
||||||
buf
|
buf
|
||||||
(if (or (bytes? buf) (and (path? string)
|
(if (or (bytes? buf)
|
||||||
|
(and (path? string)
|
||||||
(or (bytes? pattern) (byte-regexp? pattern))))
|
(or (bytes? pattern) (byte-regexp? pattern))))
|
||||||
subbytes substring))))
|
subbytes substring))))
|
||||||
|
|
||||||
|
@ -298,7 +297,7 @@
|
||||||
;; port-success-k:
|
;; port-success-k:
|
||||||
#f
|
#f
|
||||||
;; port-success-choose:
|
;; port-success-choose:
|
||||||
(lambda (match-string leftovers ms acc) (cons leftovers acc))
|
(lambda (leftovers ms acc) (cons leftovers acc))
|
||||||
;; port-failure-k:
|
;; port-failure-k:
|
||||||
(lambda (acc leftover) (if leftover (cons leftover acc) acc))
|
(lambda (acc leftover) (if leftover (cons leftover acc) acc))
|
||||||
;; flags
|
;; flags
|
||||||
|
@ -426,7 +425,7 @@
|
||||||
;; port-success-k:
|
;; port-success-k:
|
||||||
#f
|
#f
|
||||||
;; port-success-choose:
|
;; port-success-choose:
|
||||||
(lambda (match-string leftovers ms acc) (cons match-string acc))
|
(lambda (leftovers ms acc) (cons (car ms) acc))
|
||||||
;; port-failure-k:
|
;; port-failure-k:
|
||||||
(lambda (acc leftover) acc)
|
(lambda (acc leftover) acc)
|
||||||
;; flags
|
;; flags
|
||||||
|
|
Loading…
Reference in New Issue
Block a user