diff --git a/pkgs/drracket-pkgs/drracket/drracket/private/eval-helpers.rkt b/pkgs/drracket-pkgs/drracket/drracket/private/eval-helpers.rkt index 13d2526bd5..1a139263ee 100644 --- a/pkgs/drracket-pkgs/drracket/drracket/private/eval-helpers.rkt +++ b/pkgs/drracket-pkgs/drracket/drracket/private/eval-helpers.rkt @@ -85,12 +85,13 @@ (define skip-path? (let* ([cd (find-collects-dir)] [sd (find-share-dir)] + [path->pkg-cache (make-hash)] [no-dirs (append (list (CACHE-DIR)) (if cd (list cd) null) (if sd (list sd) null))]) (λ (p) (or (file-stamp-in-paths p no-dirs) - (let ([pkg (path->pkg p)]) + (let ([pkg (path->pkg p path->pkg-cache)]) (and pkg (not (set-member? open-pkgs pkg)) (file-stamp-in-paths p (list (pkg-directory pkg)))))))))