   ([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)))))))

  with [[set-program-name]]."
  []
  @program-name-inst)

(defn- program-fmt []
  (let [name (program-name)]
    (if name
      (str name ": ")
      "")))

(defn set-program-name
  "Set the program name used for info/error message."
