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:
Eli Barzilay 2011-12-31 23:54:06 -05:00
parent e0a72fab7d
commit 13db1c1a08

View File

@ -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