环境
如果我运行此代码
(defmacro foo []
(println "column:" (-> &form meta :column)))
(defn bar []
(foo)
(foo))
(foo)
(foo)
内部 bar 功能的打印结果是
column: 1
column: 2
但是,外部 bar 功能的打印结果是
column: 0
column: 1
我预计两个结果都会变成相同的列号,但是没有。 这是正确的行为吗?如果是这样,请让我知道函数内部和外部的列索引不同的原因。
其他信息
使用lein repl
和(require target-file)
时的输出结果相同,使用cider-jack-in
和cider-load-buffer
时的输出也相同。使用cider-jack-in
和cider-eval-last-sexp
时出现问题。
此行为是苹果酒的错误。我在cider github上创建了一个issue。