Skip to content

Commit 2da805d

Browse files
committed
fix cljs.spec/explain-out so we don't get extra newlines
1 parent 303cab2 commit 2da805d

File tree

1 file changed

+26
-25
lines changed

1 file changed

+26
-25
lines changed

src/main/cljs/cljs/spec.cljs

Lines changed: 26 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -155,31 +155,32 @@
155155
"prints an explanation to *out*."
156156
[ed]
157157
(if ed
158-
(do
159-
;;(prn {:ed ed})
160-
(doseq [[path {:keys [pred val reason via in] :as prob}] (::problems ed)]
161-
(when-not (empty? in)
162-
(print "In:" in ""))
163-
(print "val: ")
164-
(pr val)
165-
(print " fails")
166-
(when-not (empty? via)
167-
(print " spec:" (last via)))
168-
(when-not (empty? path)
169-
(print " at:" path))
170-
(print " predicate: ")
171-
(pr pred)
172-
(when reason (print ", " reason))
173-
(doseq [[k v] prob]
174-
(when-not (#{:pred :val :reason :via :in} k)
175-
(print "\n\t" k " ")
176-
(pr v)))
177-
(newline))
178-
(doseq [[k v] ed]
179-
(when-not (#{::problems} k)
180-
(print k " ")
181-
(pr v)
182-
(newline))))
158+
(print
159+
(with-out-str
160+
;;(prn {:ed ed})
161+
(doseq [[path {:keys [pred val reason via in] :as prob}] (::problems ed)]
162+
(when-not (empty? in)
163+
(print "In:" in ""))
164+
(print "val: ")
165+
(pr val)
166+
(print " fails")
167+
(when-not (empty? via)
168+
(print " spec:" (last via)))
169+
(when-not (empty? path)
170+
(print " at:" path))
171+
(print " predicate: ")
172+
(pr pred)
173+
(when reason (print ", " reason))
174+
(doseq [[k v] prob]
175+
(when-not (#{:pred :val :reason :via :in} k)
176+
(print "\n\t" k " ")
177+
(pr v)))
178+
(newline))
179+
(doseq [[k v] ed]
180+
(when-not (#{::problems} k)
181+
(print k " ")
182+
(pr v)
183+
(newline)))))
183184
(println "Success!")))
184185

185186
(defn explain

0 commit comments

Comments
 (0)