fix `file-stamp-in-paths', which affects DrRacket's auto compilation

Merge to 5.0.1
(cherry picked from commit 7c4eddc708)
This commit is contained in:
Matthew Flatt 2010-07-22 18:40:29 -05:00 committed by Eli Barzilay
parent ba8ec17d88
commit 1bbd6f0ec4

View File

@ -56,29 +56,35 @@
p p
(rkt->ss p)))] (rkt->ss p)))]
[modes (use-compiled-file-paths)] [modes (use-compiled-file-paths)]
[get-zo-date (lambda (name) [get-zo-date+mode (lambda (name)
(ormap (ormap
(lambda (mode) (lambda (mode)
(file-or-directory-modify-seconds (let ([v (file-or-directory-modify-seconds
(build-path (build-path
base base
mode mode
(path-add-suffix name #".zo")) (path-add-suffix name #".zo"))
#f #f
(lambda () #f))) (lambda () #f))])
(and v (cons v mode))))
modes))] modes))]
[main-zo-date (and (or p-date (not alt-date)) [main-zo-date+mode (and (or p-date (not alt-date))
(get-zo-date name))] (get-zo-date+mode name))]
[alt-zo-date (and (or alt-date [alt-zo-date+mode (and (or alt-date
(and (not p-date) (and (not p-date)
(not alt-date) (not alt-date)
(not main-zo-date))) (not main-zo-date+mode)))
(get-zo-date (rkt->ss name)))] (get-zo-date+mode (rkt->ss name)))]
[zo-date (or main-zo-date alt-zo-date)] [zo-date+mode (or main-zo-date+mode alt-zo-date+mode)]
[zo-date (and zo-date+mode (car zo-date+mode))]
[get-zo-path (lambda () [get-zo-path (lambda ()
(if main-zo-date (let-values ([(name mode)
(path-add-suffix name #".zo") (if main-zo-date+mode
(path-add-suffix (rkt->ss name) #".zo")))]) (values (path-add-suffix name #".zo")
(cdr main-zo-date+mode))
(values (path-add-suffix (rkt->ss name) #".zo")
(cdr (cdr alt-zo-date+mode))))])
(build-path base mode name)))])
(cond (cond
[(and zo-date [(and zo-date
(or (not date) (or (not date)