                    ana/*cljs-file* (.getPath ^java.io.File src)
                    *data-readers* tags/*cljs-data-readers*
                    *emitted-provides* (atom #{})
-                   *cljs-source-map* (atom (sorted-map))
+                   *cljs-source-map* (when (:source-map opts) (atom (sorted-map)))
                    *cljs-gen-line* (atom 0)
-                   *cljs-gen-col*  (atom 0)]
+                   *cljs-gen-col* (atom 0)]
            (loop [forms (forms-seq src)
                   ns-name nil
                   deps nil]

(defn emitln [& xs]
  (apply emits xs)
  (println)
  (swap! *cljs-gen-line* inc)
  (reset! *cljs-gen-col* 0)
  nil)

(defn ^String emit-str [expr]

     (seq? x) (apply emits x)
     (fn? x)  (x)
     :else (let [s (print-str x)]
             (when *cljs-source-map*
               (swap! *cljs-gen-col* (fn [col] (+ col (count s)))))
             (print s))))
  nil)

