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

欢迎!请查看关于页面以了解更多有关此工作方式的信息。

+3
tools.reader

使用新的#:default.namespace{,,,}语法编写的映射没有包含文件位置作为元数据。

给定这段代码

(require '[clojure.tools.reader :as reader])
(require '[clojure.tools.reader.reader-types :as reader-types])

(defn sample [s]
  (with-open [r (java.io.StringReader. s)]
    (meta (reader/read (reader-types/indexing-push-back-reader (reader-types/push-back-reader r) 1)))))

这个EDN字面量没有解析出位置元数据

(sample "#:ns{ :key :val }") ; => nil

与这两个不同,它们如预期的那样获得了位置元数据

(sample "{ :key :val }")     ; => {:line 1, :column 1, :end-line 1, :end-column 14}
(sample "{ :ns/key val }")   ; => {:line 1, :column 1, :end-line 1, :end-column 16}

2个答案

+1

选中
尼古拉立即修复了这个问题并在v1.3.6版本中发布了修复程序。感谢你们两个人!
0

注:由于我换用了edamame(它没有这个错误),所以对我来说不再是紧急问题。切换方法,但Alex提到他可能会提交一个工单。

...