 
 (defn analyze-seq
   [env form name]
-  (let [op (first form)]
-    (assert (not (nil? op)) "Can't call nil")
-    (let [mform (macroexpand-1 env form)]
-      (if (identical? form mform)
-        (if (specials op)
-          (parse op env form name)
-          (parse-invoke env form))
-        (analyze env mform name)))))
+  (let [env (assoc env :line (-> form meta :line))]
+    (let [op (first form)]
+      (assert (not (nil? op)) "Can't call nil")
+      (let [mform (macroexpand-1 env form)]
+        (if (identical? form mform)
+          (if (specials op)
+            (parse op env form name)
+            (parse-invoke env form))
+          (analyze env mform name))))))
 
 (declare analyze-wrap-meta)
 

                     (if (= -1 idx)
                       (list s)
                       (let [end (.indexOf s "}" idx)
                             inner (:name (confirm-var env (resolve-var env (symbol (subs s (+ 2 idx) end)))))]
                         (cons (subs s 0 idx) (cons inner (interp (subs s (inc end)))))))))]
      {:env env :op :js :code (apply str (interp form))})))


  (:require [clojure.java.io :as io]
            [clojure.string :as string]))

(declare resolve-var)
(require 'cljs.core)

