    Otherwise, the string representation of the passed argument is printed to stderr."
   (fn [arg] (instance? Exception arg)))
 (defmethod print-err-fn true [arg]
-  (println-err (.getMessage arg)))
+  (if @print-exception-trace
+    (.printStackTrace arg)
+    (println-err (.getMessage arg))))
 (defmethod print-err-fn false [arg]
   (println-err (str arg)))
 

  {:allow-eval false
   :cmds {:h :help
          :? :help
          :q :quit}
   :eval-factory create-cli-eval-fn
   :help-factory create-cli-help-fn
   :help-cmd-entry-delimiter *cli4clj-line-sep*


(def ^:dynamic *cli4clj-line-sep* (System/getProperty "line.separator"))

(def print-exception-trace (atom false))

(defn cli-repl-print
  "The default repl print function of cli4clj only prints non-nil values."
