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"}]

尽管存在元数据,它似乎仍然将 m 解析为函数。这种行为仅在 (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 报告)
...