diff --git a/leiningen-core/src/leiningen/core/eval.clj b/leiningen-core/src/leiningen/core/eval.clj index feb18f8f..dd69ee1c 100644 --- a/leiningen-core/src/leiningen/core/eval.clj +++ b/leiningen-core/src/leiningen/core/eval.clj @@ -30,6 +30,8 @@ leiningen.core.utils/platform-nullsink instead." utils/platform-nullsink) +(def ^:dynamic *eval-print-dup* false) + ;; # Preparing for eval-in-project (defn- write-pom-properties [{:keys [compile-path group name] :as project}] @@ -236,9 +238,10 @@ (io/file (:target-path project) (str checksum "-init.clj")) (File/createTempFile "form-init" ".clj"))] (spit init-file - (pr-str (if-not (System/getenv "LEIN_FAST_TRAMPOLINE") - `(.deleteOnExit (File. ~(.getCanonicalPath init-file)))) - form)) + (binding [*print-dup* *eval-print-dup*] + (pr-str (if-not (System/getenv "LEIN_FAST_TRAMPOLINE") + `(.deleteOnExit (File. ~(.getCanonicalPath init-file)))) + form))) `(~(or (:java-cmd project) (System/getenv "JAVA_CMD") "java") ~@(classpath-arg project) ~@(get-jvm-args project) @@ -315,7 +318,8 @@ :port (Integer. (slurp port-file))) client (client-session (client transport Long/MAX_VALUE)) pending (atom #{})] - (message client {:op "eval" :code (pr-str form)}) + (message client {:op "eval" :code (binding [*print-dup* *eval-print-dup*] + (pr-str form))}) (doseq [{:keys [out err status session] :as msg} (repeatedly #(recv transport 100)) :while (not (done? msg pending))] diff --git a/src/leiningen/compile.clj b/src/leiningen/compile.clj index 63d85e83..c059445a 100644 --- a/src/leiningen/compile.clj +++ b/src/leiningen/compile.clj @@ -162,7 +162,7 @@ Code that should run on startup belongs in a -main defn." (throw t#))))) project (update-in project [:prep-tasks] (partial remove #{"compile"}))] - (try (binding [*print-dup* true] + (try (binding [eval/*eval-print-dup* true] (eval/eval-in-project project form)) (catch Exception e (main/abort "Compilation failed:" (.getMessage e)))