评论者:jafingerhut
好吧,我写了一个程序来检查我的:添加注释是否具有正确的版本,并编写了一些代码来检查所有的公有变量,或者至少是那些public-vars-with-docstrings-have-added dectest所做的那些,以查看在哪个Clojure发布版本中它们可以成功地解析,以及哪些不能解析(或在Clojure的那个版本中它们的命名空间甚至还不存在)。
通过这个程序确认了补丁clj-2519-v2.patch中所有的:添加元数据版本号都是正确的。
我发现了24个可能没有正确:添加版本号的公共变量,但它们都属于:添加版本为"1.3"或更早版本的情况,更正后的版本也应该是"1.3"或更早。对这些进行更正有兴趣吗?
示例:所有这些变量的:添加都是"1.0",但很可能是从没有"-int"后缀的类似名称函数实现中复制的。带有"-int"后缀的名称在Clojure 1.3中被实际添加。
unchecked-add-int
unchecked-dec-int
unchecked-divide-int
unchecked-inc-int
unchecked-multiply-int
unchecked-negate-int
unchecked-remainder-int
unchecked-subtract-int
对于inc和inc',当inc'最初在很多版本之前添加到Clojure 1.2时,inc的:添加是"1.0",inc'的:添加是"1.2",这是正确的。在1.3发布之前的一段时间,这两个函数定义的名字被交换了,但是:添加值留在了函数的实现体内。从那时起,我们有了:添加为"1.2"的inc和:添加为"1.0"的inc'。我认为其他以单引号结尾的函数也有类似情况。