             path (util/find-relative-path dirs file)
             exs  (format "ERROR: %s on file %s, line %d, column %d\n" msg path line column)]
         (swap! report-atom assoc :exception exs)
-        (fail exs))
+        (butil/fail exs))
 
       :default (throw e))))
 

    ; Reload only namespaces which are already loaded
    ; As opposed to :reload-all, ns-tracker only reloads namespaces which are really changed.
    (doseq [s (filter find-ns (@tracker))]
      (dbug "Reload macro ns: %s\n" s)
      (require s :reload))))

(defn backdate-macro-dependants!

    ; (build-api/mark-cljs-ns-for-recompile! cljs-ns output-dir)
    (let [f (build-api/target-file-for-cljs-ns cljs-ns output-dir)]
      (when (.exists f)
        (butil/dbug "Backdate macro dependant cljs ns: %s\n" cljs-ns)
        (.setLastModified f 5000)))))
