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

欢迎!请参阅 关于 页面以获取更多有关该功能的信息。

0
Clojure

(let [i 5] (defmacro m [& args] args) (def x (m (inc 5) (inc 6) (inc 7))) [x m (meta #'m)])

[(8) #<user$eval522$m__523 user$eval522$m__523@11a74355> {:macro true, :ns #<Namespace user>, :name m, :arglists ([& args]), :line 1, :file "NO_SOURCE_PATH"}]

尽管存在元数据,但似乎仍然将其解释为函数。这种行为仅在 (let ...) 内出现。

3 答案

0

评论由:bronsa 发布

问题与 http://dev.clojure.org/jira/browse/CLJ-918 相同。

我链接中的补丁是我的,但当时我没有 CA 认证的签名,也没有 jira 账户。

以下是正确格式的相同补丁。

错误编号 918 应该被关闭,因为这是一个重复项。

0

评论由:jafingerhut 发布

我还没有深入了解,但截至 2013 年 10 月 25 日的 Clojure 最新版本 master,当前补丁无法干净地应用。

0
参考: https://clojure.atlassian.net/browse/CLJ-1021 (由 alex+import 报告)
...