2024 Clojure 状况调查! 中分享您的想法。

欢迎!请查看 关于 页面以获取更多关于其工作方式的信息。

+2 投票
文档
已关闭

以下是 Clojure 1.8.0 的输出

`

user=> (doc if)

if
(if 测试 then else?)
特殊形式
评估测试。如果测试不是唯一值 nil 或 false,
评估并产生 then,否则,评估并产生 else。如果
else 未提供,则默认为 nil。

请参阅 https://clojure.org/special_forms#if
nil
`

以下是 Clojure 1.9.0 的对应输出

`

user=> (doc if)

if
(if 测试 then else?)
特殊形式
评估测试。如果测试不是唯一值 nil 或 false,
评估并产生 then,否则,评估并产生 else。如果
else 未提供,则默认为 nil。

请参阅 https://clojure.org/special_forms#if
评估测试。如果测试不是唯一值 nil 或 false,
评估并产生 then,否则,评估并产生 else。如果
else 未提供,则默认为 nil。
nil
`

这种重复只发生在调用 clojure.repl/doc 或 clojure.repl/print-doc 以获取特殊形式符号时,不适用于其他符号,如宏和函数。它是在修改 clojure.repl/print-doc 以添加输出规格时引入的,修复方法是直接的。

已预审: Alex Miller

备注中已关闭: 已修复

3 答案

0 投票
 
最佳答案

已修复在 1.10.2-alpha2 中。

0 投票

评论由:jafingerhut 提出

2017年12月15日的补丁 CLJ-2295-v1.patch 是解决此问题的一种可能方法。验证了其他情况(例如宏)的输出,例如 Clojure 1.8.0 中的输出没有改变,除了应该保留的新 Spec 输出。

0 投票
参考:[链接](https://clojure.atlassian.net/browse/CLJ-2295)(由 jafingerhut 提出)
...