repair handling of PLTCOMPILEDROOTS
Commit a110c58e52
broke the interaction with `PLTCOMPILEDROOTS`.
Instead of reverting to the old behavior that coerced 'same to a path,
this change makes `path-list-string->path-list` a little more
flexible.
Closes #3704
This commit is contained in:
parent
2b79ba6d4f
commit
04e78c4bb7
|
@ -252,8 +252,8 @@ by @racket[kind], which must be one of the following:
|
|||
with similar adjustments for Mac OS.}]}
|
||||
|
||||
@defproc[(path-list-string->path-list [str (or/c string? bytes?)]
|
||||
[default-path-list (listof path?)])
|
||||
(listof path?)]{
|
||||
[default-path-list (listof (or/c path? 'same))])
|
||||
(listof (or/c path? 'same))]{
|
||||
|
||||
Parses a string or byte string containing a list of paths, and returns
|
||||
a list of path strings. On @|AllUnix|, paths in a path list are
|
||||
|
@ -262,7 +262,10 @@ separated by a @litchar{:}; on Windows, paths are separated by a
|
|||
list contains an empty path, the list
|
||||
@racket[default-path-list] is spliced into the returned list of
|
||||
paths. Parts of @racket[str] that do not form a valid path are not
|
||||
included in the returned list.}
|
||||
included in the returned list.
|
||||
|
||||
@history[#:changed "8.0.0.10" @elem{Changed to allow @racket['same] in
|
||||
@racket[default-path-list].}]}
|
||||
|
||||
|
||||
@defproc[(find-executable-path [program path-string?]
|
||||
|
|
|
@ -27,7 +27,7 @@
|
|||
(string? s))
|
||||
(raise-argument-error 'path-list-string->path-list "(or/c bytes? string?)" s))
|
||||
(unless (and (list? default)
|
||||
(andmap path? default))
|
||||
(andmap (lambda (p) (or (eq? p 'same) path?)) default))
|
||||
(raise-argument-error 'path-list-string->path-list "(listof path?)" default))
|
||||
(init-rx:path-list!)
|
||||
(let loop ([s (if (string? s)
|
||||
|
|
|
@ -556,7 +556,11 @@ static const char *startup_source =
|
|||
"(if(let-values(((or-part_0)(bytes? s_0)))(if or-part_0 or-part_0(string? s_0)))"
|
||||
"(void)"
|
||||
" (let-values () (raise-argument-error 'path-list-string->path-list \"(or/c bytes? string?)\" s_0)))"
|
||||
"(if(if(list? default_0)(andmap path? default_0) #f)"
|
||||
"(if(if(list? default_0)"
|
||||
"(andmap"
|
||||
"(lambda(p_0)(let-values(((or-part_0)(eq? p_0 'same)))(if or-part_0 or-part_0 path?)))"
|
||||
" default_0)"
|
||||
" #f)"
|
||||
"(void)"
|
||||
" (let-values () (raise-argument-error 'path-list-string->path-list \"(listof path?)\" default_0)))"
|
||||
"(init-rx:path-list!)"
|
||||
|
|
|
@ -1093,7 +1093,13 @@
|
|||
'path-list-string->path-list
|
||||
"(or/c bytes? string?)"
|
||||
s_0))
|
||||
(if (if (list? default_0) (andmap path? default_0) #f)
|
||||
(if (if (list? default_0)
|
||||
(andmap
|
||||
(lambda (p_0)
|
||||
(let ((or-part_0 (eq? p_0 'same)))
|
||||
(if or-part_0 or-part_0 path?)))
|
||||
default_0)
|
||||
#f)
|
||||
(void)
|
||||
(raise-argument-error
|
||||
'path-list-string->path-list
|
||||
|
|
Loading…
Reference in New Issue
Block a user