   ([usage-format]
    (fn [action-names]
      (->> (format usage-format
-                  (program-name)
+                  (or (program-name) "")
                   (if-not action-names
                     ""
                     (->> action-names

    (if *log-error* (log/error e "action line parse error"))
    (if (instance? java.io.FileNotFoundException e)
      (binding [*out* *err*]
        (println (format "%s: io error: %s" (program-name) msg)))
      (binding [*out* *err*]
        (println (format "%s: error: %s"
                         (program-name)
                         (if ex-data
                           (.getMessage e)
                           (.toString e)))))))

  singleton then only print one in the common usage format."
  [errors]
  (if (= (count errors) 1)
    (str (program-fmt) (first errors))
    (str "The following errors occurred while parsing your action:\n\n"
         (s/join \newline errors))))

