   (-print-stacktrace [_ stacktrace _ build-options]
     (doseq [{:keys [function file url line column]}
             (repl/mapped-stacktrace stacktrace build-options)]
-      (println "\t" (str function " (" (str (or url file)) ":" line ":" column ")"))))
+      ((:print repl/*repl-opts*) "\t" (str function " (" (str (or url file)) ":" line ":" column ")"))))
   repl/IJavaScriptEnv
   (-setup [repl-env opts]
     (setup repl-env opts))

        _ (.mkdirs output-dir)
        env (ana/empty-env)
        core (io/resource "cljs/core.cljs")]
    (println "\nConnecting to" (bonjour-name->display-name bonjour-name) "...\n")
    (reset! (:webdav-mount-point repl-env) webdav-mount-point)
    (shell/sh "mount_webdav" (str "http://" endpoint-address ":" endpoint-port) webdav-mount-point)
    (reset! (:socket repl-env)
      (socket endpoint-address (:port repl-env)))
    ;; Start dedicated thread to read messages from socket
    (start-reading-messages repl-env)
    ;; compile cljs.core & its dependencies, goog/base.js must be available
    ;; for bootstrap to load, use new closure/compile as it can handle
    ;; resources in JARs

(defn setup
  [repl-env opts]
  (let [_ (set-logging-level "javax.jmdns" java.util.logging.Level/OFF)
        [bonjour-name endpoint] (discover-and-choose-device (:choose-first-discovered repl-env) opts)
        endpoint-address (.getHostAddress (:address endpoint))
        endpoint-port (:port endpoint)
        webdav-mount-point (str "/Volumes/Ambly-" endpoint-address)
