original commit: cd7f897abdec1b40455239fb11518c6b283ad47b
This commit is contained in:
Matthew Flatt 2004-04-15 02:32:12 +00:00
parent 3d0f53e626
commit 12e10c977e

View File

@ -95,7 +95,7 @@
(exn-message ex)))]) (exn-message ex)))])
(let* ([param (let* ([param
;; Avoid using cm while loading cm-ctime: ;; Avoid using cm while loading cm-ctime:
(parameterize ([use-compiled-file-kinds null]) (parameterize ([use-compiled-file-paths null])
(dynamic-require '(lib "cm-ctime.ss" "mzlib" "private") (dynamic-require '(lib "cm-ctime.ss" "mzlib" "private")
'current-external-file-registrar))] 'current-external-file-registrar))]
[external-deps null] [external-deps null]
@ -225,7 +225,7 @@
(let ([cache (make-hash-table 'equal)]) (let ([cache (make-hash-table 'equal)])
(lambda (zo) (lambda (zo)
(parameterize ([current-load/use-compiled (make-compilation-manager-load/use-compiled-handler/table cache)]) (parameterize ([current-load/use-compiled (make-compilation-manager-load/use-compiled-handler/table cache)])
(compile-root (car (use-compiled-file-kinds)) (path->complete-path zo) cache))))) (compile-root (car (use-compiled-file-paths)) (path->complete-path zo) cache)))))
(define (make-compilation-manager-load/use-compiled-handler) (define (make-compilation-manager-load/use-compiled-handler)
(make-compilation-manager-load/use-compiled-handler/table (make-hash-table 'equal))) (make-compilation-manager-load/use-compiled-handler/table (make-hash-table 'equal)))
@ -235,17 +235,17 @@
[orig-load (current-load)] [orig-load (current-load)]
[orig-namespace (current-namespace)] [orig-namespace (current-namespace)]
[default-handler (current-load/use-compiled)] [default-handler (current-load/use-compiled)]
[modes (use-compiled-file-kinds)]) [modes (use-compiled-file-paths)])
(when (null? modes) (when (null? modes)
(error 'make-compilation-manager-... "empty use-compiled-file-kinds list")) (error 'make-compilation-manager-... "empty use-compiled-file-paths list"))
(letrec ([compilation-manager-load-handler (letrec ([compilation-manager-load-handler
(lambda (path mod-name) (lambda (path mod-name)
(cond (cond
[(not mod-name) [(not mod-name)
((trace) (format "~askipping: ~a mod-name ~s" (indent) path mod-name)) ((trace) (format "~askipping: ~a mod-name ~s" (indent) path mod-name))
(default-handler path mod-name)] (default-handler path mod-name)]
[(not (member (car modes) (use-compiled-file-kinds))) [(not (member (car modes) (use-compiled-file-paths)))
((trace) (format "~askipping: ~a file-kinds ~s" (indent) path (use-compiled-file-kinds))) ((trace) (format "~askipping: ~a compiled-paths ~s" (indent) path (use-compiled-file-paths)))
(default-handler path mod-name)] (default-handler path mod-name)]
[(not (eq? compilation-manager-load-handler (current-load/use-compiled))) [(not (eq? compilation-manager-load-handler (current-load/use-compiled)))
((trace) (format "~askipping: ~a current-load/use-compiled changed ~s" ((trace) (format "~askipping: ~a current-load/use-compiled changed ~s"