Welcome! Please see the About page for a little more info on how this works.

+2 votes
in Docs by

Here is output from Clojure 1.8.0:

`

user=> (doc if)

if
(if test then else?)
Special Form
Evaluates test. If not the singular values nil or false,
evaluates and yields then, otherwise, evaluates and yields else. If
else is not supplied it defaults to nil.

Please see http://clojure.org/special_forms#if
nil
`

Here is the corresponding output from Clojure 1.9.0:

`

user=> (doc if)

if
(if test then else?)
Special Form
Evaluates test. If not the singular values nil or false,
evaluates and yields then, otherwise, evaluates and yields else. If
else is not supplied it defaults to nil.

Please see http://clojure.org/special_forms#if
Evaluates test. If not the singular values nil or false,
evaluates and yields then, otherwise, evaluates and yields else. If
else is not supplied it defaults to nil.
nil
`

This repetition only occurs when calling clojure.repl/doc or clojure.repl/print-doc for special form symbols, not for other symbols like macros and functions. It was introduced when modifying clojure.repl/print-doc when adding the ability to print specs in its output, and the fix is straightforward.

Prescreened by: Alex Miller

2 Answers

0 votes
by

Comment made by: jafingerhut

Patch CLJ-2295-v1.patch dated 2017-Dec-15 is one possible way to fix this issue. Verified that output for other cases, e.g. macros, is unchanged from Clojure 1.8.0 with these changes, except for the new Spec output, which should be kept.

0 votes
by
Reference: https://clojure.atlassian.net/browse/CLJ-2295 (reported by jafingerhut)
...