diff --git a/cache-ns.rkt b/cache-ns.rkt new file mode 100644 index 0000000..7f37982 --- /dev/null +++ b/cache-ns.rkt @@ -0,0 +1,8 @@ +#lang racket/base +(provide (all-defined-out)) + +(define (load-in-namespace to-ns . module-names) + (for-each (λ(mn) (eval `(require ,mn) to-ns)) module-names)) + +(define (copy-from-namespace from-ns to-ns . module-names) + (for-each (λ(mn) (namespace-attach-module from-ns mn to-ns)) module-names)) diff --git a/cache.rkt b/cache.rkt index 3f3c248..c1e11d6 100644 --- a/cache.rkt +++ b/cache.rkt @@ -1,5 +1,5 @@ #lang racket/base -(require racket/path racket/file file/cache sugar/coerce "project.rkt" "world.rkt" "rerequire.rkt") +(require racket/path racket/file file/cache sugar/coerce "project.rkt" "world.rkt" "rerequire.rkt" "cache-ns.rkt") ;; The cache is a hash with paths as keys. ;; The cache values are also hashes, with key/value pairs for that path. @@ -47,12 +47,6 @@ (require 'caching-module) (define caching-module-ns (namespace-anchor->namespace caching-module-nsa)) -(define (load-in-namespace to-ns . module-names) - (for-each (λ(mn) (eval `(require ,mn) to-ns)) module-names)) - -(define (copy-from-namespace from-ns to-ns . module-names) - (for-each (λ(mn) (namespace-attach-module from-ns mn to-ns)) module-names)) - (define cached-module-names '(xml racket/bool racket/class diff --git a/render.rkt b/render.rkt index a84868e..68599fa 100644 --- a/render.rkt +++ b/render.rkt @@ -1,7 +1,7 @@ #lang racket/base (require racket/file racket/path racket/match) (require sugar/test sugar/define sugar/container sugar/file) -(require "file.rkt" "cache.rkt" "world.rkt" "debug.rkt" "pagetree.rkt" "project.rkt" "template.rkt" "rerequire.rkt") +(require "file.rkt" "cache.rkt" "world.rkt" "debug.rkt" "pagetree.rkt" "project.rkt" "template.rkt" "rerequire.rkt" "cache-ns.rkt") ;; used to track renders according to modification dates of component files (define mod-date-hash (make-hash)) @@ -230,12 +230,6 @@ (require 'caching-module) (define caching-module-ns (namespace-anchor->namespace caching-module-nsa)) -(define (load-in-namespace to-ns . module-names) - (for-each (λ(mn) (eval `(require ,mn) to-ns)) module-names)) - -(define (copy-from-namespace from-ns to-ns . module-names) - (for-each (λ(mn) (namespace-attach-module from-ns mn to-ns)) module-names)) - (define cached-module-names '(xml racket/bool racket/class