 ;; RUNTIME POSITIONS
 ;; These are positions that determine the file or line at runtime.
 
-(defmacro line-number-known 
+(defmacro line-number-known
   "Guess the filename of a file position, but use the given line number."
   [number]
   `[(current-file-name) ~number])

(defn form-position [form]
  (list (current-file-name)  (:line (meta form))))

(defn compile-time-fallback-position []
  (list (current-file-name) @fallback-line-number))


                                   (assoc (m loc) :line (:line (m loc-with-line)))
                                   (dissoc (m loc) :line ))]
            (zip/replace loc (with-meta (zip/node loc) transferred-meta))))]

  (defn form-with-copied-line-numbers [line-number-source form]
    (loop [loc (zip/seq-zip form)
           line-loc (zip/seq-zip line-number-source)]
      (cond (zip/end? line-loc)
            (zip/root loc)

            (zip/branch? line-loc)
            (recur (zip/next (replace-loc-line loc line-loc))
                   (zip/next line-loc))

            ;; the form has a tree in place of a non-tree
            (zip/branch? loc)
              (recur (zip/next
                      (skip-to-rightmost-leaf (zip/down (replace-loc-line loc line-loc))))
                     (zip/next line-loc))

            :else
            (recur (zip/next loc)
                   (zip/next line-loc))))))
