diff --git a/collects/racket/private/string.rkt b/collects/racket/private/string.rkt index 678dc95baa..ca3c6255ed 100644 --- a/collects/racket/private/string.rkt +++ b/collects/racket/private/string.rkt @@ -451,7 +451,13 @@ (and m (zero? (caar m)) (= (cdar m) (cond [(bytes? s) (bytes-length s)] - [(or (byte-regexp? p) (bytes? p)) (string-utf-8-length s)] - [else (string-length s)]))))) + [(or (byte-regexp? p) (bytes? p)) + (if (path? s) + (bytes-length (path->bytes s)) + (string-utf-8-length s))] + [else + (if (path? s) + (string-length (path->string s)) + (string-length s))]))))) ) diff --git a/collects/scribblings/reference/regexps.scrbl b/collects/scribblings/reference/regexps.scrbl index b89e3c2778..8a2b5ff4fb 100644 --- a/collects/scribblings/reference/regexps.scrbl +++ b/collects/scribblings/reference/regexps.scrbl @@ -457,7 +457,7 @@ match succeeds, @racket[#f] otherwise. @defproc[(regexp-match-exact? [pattern (or/c string? bytes? regexp? byte-regexp?)] - [input (or/c string? bytes? path? input-port?)]) + [input (or/c string? bytes? path?)]) boolean?]{ Like @racket[regexp-match?], but @racket[#t] is only returned when the