fix parsing of planet paths in executables (merge to 4.2.2)
svn: r16057
This commit is contained in:
parent
70317a24a8
commit
f6cdeb3433
|
@ -660,16 +660,17 @@
|
|||
(symbol->string (cadr name))
|
||||
(cadr name))])
|
||||
(letrec-values ([(split)
|
||||
(lambda (s rx suffix?)
|
||||
(lambda (s rx suffix-after)
|
||||
(let-values ([(m) (regexp-match-positions
|
||||
rx
|
||||
s)])
|
||||
(if m
|
||||
(cons (substring s 0 (caar m))
|
||||
(split (substring s (cdar m))
|
||||
rx suffix?))
|
||||
rx
|
||||
(- suffix-after 1)))
|
||||
(list
|
||||
(if suffix?
|
||||
(if (suffix-after . <= . 0)
|
||||
(if (regexp-match? #rx"[.]" s)
|
||||
s
|
||||
(string-append s ".ss"))
|
||||
|
@ -684,19 +685,24 @@
|
|||
(if (null? (cdr l))
|
||||
null
|
||||
(cons (car l) (not-last (cdr l)))))])
|
||||
(let-values ([(parts) (split s #rx"/" #t)])
|
||||
(let-values ([(vparts) (split (cadr parts) #rx":" #f)])
|
||||
(let-values ([(parts) (split s #rx"/" 2)])
|
||||
(let-values ([(vparts) (split (cadr parts) #rx":" +inf.0)])
|
||||
(cons 'planet
|
||||
(cons (if (null? (cddr parts))
|
||||
"main.ss"
|
||||
(last-of parts))
|
||||
(cons
|
||||
(cons (car parts)
|
||||
(cons
|
||||
(car parts)
|
||||
(cons (string-append (car vparts)
|
||||
".plt")
|
||||
(if (null? (cddr parts))
|
||||
null
|
||||
;; FIXME: finish version parse:
|
||||
(cdddr parts)))
|
||||
(not-last (cddr parts)))))))))
|
||||
(cdddr parts))))
|
||||
(if (null? (cddr parts))
|
||||
null
|
||||
(not-last (cddr parts))))))))))
|
||||
;; already in long form:
|
||||
name)
|
||||
#f))
|
||||
|
|
Loading…
Reference in New Issue
Block a user