Clojure:& form metadata的列信息

时间:2016-08-08 22:44:51

标签: emacs clojure cider

环境

  • OS:OS X约塞米蒂(10.10.4)
  • GNU Emacs 24.5.1
  • CIDER 0.14.0snapshot(package:20160806.2354)
  • [org.clojure / tools.nrepl" 0.2.12"]
  • [cider / cider-nrepl" 0.14.0-SNAPSHOT"]

如果我运行此代码

(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-incider-load-buffer时的输出也相同。使用cider-jack-incider-eval-last-sexp时出现问题。

此行为是苹果酒的错误。我在cider github上创建了一个issue

0 个答案:

没有答案