From 2fcb99a508b5cc5ffab9741f9a6d8a4f68824a39 Mon Sep 17 00:00:00 2001 From: Matthew Butterick Date: Tue, 4 Mar 2014 08:46:08 -0800 Subject: [PATCH] add parameter to turn off reloading of project requires --- render.rkt | 13 +++++++------ world.rkt | 2 +- 2 files changed, 8 insertions(+), 7 deletions(-) diff --git a/render.rkt b/render.rkt index 5ea7898..fc5ce4c 100644 --- a/render.rkt +++ b/render.rkt @@ -70,13 +70,14 @@ (define (project-requires-changed?) - (define changed? (ormap (λ(x) x) (map file-needed-rerequire? (get-project-require-files)))) ; make sure all files are rerequired before test - (when changed? + (define rerequire-results (map file-needed-rerequire? (get-project-require-files))) + (define requires-changed? (ormap (λ(x) x) rerequire-results)) + (when requires-changed? (begin (message "render: project requires have changed, resetting cache & file-modification table") - (reset-cache) - (reset-modification-dates))) ; mark existing files as obsolete - changed?) + (reset-cache) ; because stored data is obsolete + (reset-modification-dates))) ; because rendered files are obsolete + requires-changed?) (define/contract (render-needed? source-path template-path output-path) @@ -84,7 +85,7 @@ (or (not (file-exists? output-path)) (modification-date-expired? source-path template-path) (and (not (null-source? source-path)) (file-needed-rerequire? source-path)) - (project-requires-changed?))) + (and (world:check-project-requires-in-render?) (project-requires-changed?)))) (define/contract+provide (render-to-file-if-needed source-or-output-path #:force [force #f]) diff --git a/world.rkt b/world.rkt index 6a96fcf..df3211c 100644 --- a/world.rkt +++ b/world.rkt @@ -60,4 +60,4 @@ (define current-module-root (make-parameter #f)) (define current-server-extras-path (make-parameter #f)) - +(define check-project-requires-in-render? (make-parameter #t))