Skip to content

Commit 4e74f55

Browse files
committed
correct doc printing regardless of environment, console.log in
browser you don't want newlines, but in the REPL you do
1 parent c9b04e4 commit 4e74f55

File tree

2 files changed

+20
-17
lines changed

2 files changed

+20
-17
lines changed

src/clj/cljs/repl.clj

Lines changed: 19 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -895,22 +895,25 @@ itself (not its value) is returned. The reader macro #'x expands to (var x)."}})
895895
(defmacro doc
896896
"Prints documentation for a var or special form given its name"
897897
[name]
898-
(if-let [special-name ('{& fn catch try finally try} name)]
899-
`(cljs.repl/print-doc (quote ~(special-doc special-name)))
900-
(cond
901-
(special-doc-map name)
902-
`(cljs.repl/print-doc (quote ~(special-doc name)))
903-
904-
(ana-api/find-ns name)
905-
`(cljs.repl/print-doc
906-
(quote ~(select-keys (ana-api/find-ns name) [:name :doc])))
907-
908-
(ana-api/resolve &env name)
909-
`(cljs.repl/print-doc
910-
(quote ~(update-in
911-
(select-keys (ana-api/resolve &env name)
912-
[:ns :name :doc :forms :arglists :macro :url])
913-
[:name] clojure.core/name))))))
898+
`(println
899+
(binding [cljs.core/*print-newline* true]
900+
(with-out-str
901+
~(if-let [special-name ('{& fn catch try finally try} name)]
902+
`(cljs.repl/print-doc (quote ~(special-doc special-name)))
903+
(cond
904+
(special-doc-map name)
905+
`(cljs.repl/print-doc (quote ~(special-doc name)))
906+
907+
(ana-api/find-ns name)
908+
`(cljs.repl/print-doc
909+
(quote ~(select-keys (ana-api/find-ns name) [:name :doc])))
910+
911+
(ana-api/resolve &env name)
912+
`(cljs.repl/print-doc
913+
(quote ~(update-in
914+
(select-keys (ana-api/resolve &env name)
915+
[:ns :name :doc :forms :arglists :macro :url])
916+
[:name] clojure.core/name)))))))))
914917

915918
(defmacro find-doc
916919
"Prints documentation for any var whose documentation or name

src/cljs/cljs/repl.cljs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,4 +30,4 @@
3030
(do
3131
(when (:macro m)
3232
(println "Macro"))
33-
(println " " (:doc m)))))
33+
(print " " (:doc m)))))

0 commit comments

Comments
 (0)