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

欢迎!有关如何工作的更多信息,请参阅关于页面。

+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提到他可能会提交一个工单。

...