diff --git a/src/instaparse/core.cljc b/src/instaparse/core.cljc index 9c8542b..52fee58 100644 --- a/src/instaparse/core.cljc +++ b/src/instaparse/core.cljc @@ -160,8 +160,10 @@ #?(:clj (defmethod clojure.core/print-method Parser [x writer] - (binding [*out* writer] - (println (print/Parser->str x)))) + (if *print-readably* + (print-method (print/Parser->str x) writer) + (binding [*out* writer] + (println (print/Parser->str x))))) :cljs (extend-protocol IPrintWithWriter instaparse.core/Parser diff --git a/src/instaparse/gll.cljc b/src/instaparse/gll.cljc index 0290128..06534fe 100644 --- a/src/instaparse/gll.cljc +++ b/src/instaparse/gll.cljc @@ -181,8 +181,13 @@ #?(:clj (defmethod clojure.core/print-method Failure [x writer] - (binding [*out* writer] - (fail/pprint-failure x))) + (if *print-readably* + (print-method + (with-out-str + (fail/pprint-failure x)) + writer) + (binding [*out* writer] + (fail/pprint-failure x)))) :cljs (extend-protocol IPrintWithWriter instaparse.gll/Failure