当读取关键字、字符串或数字等到语法引号时,它直接返回形式作为结果。
阅读https://github.com/clojure/clojure/blob/master/src/jvm/clojure/lang/LispReader.java#L844-847
`
else if(form instanceof Keyword)
|| form instanceof Number
|| form instanceof Character
|| form instanceof String)
ret = form;
`
但是,遗漏了对它是否为nil、正则表达式或布尔常数的检查。
修复后
`
else if(form == null
|| form instanceof Keyword
|| form instanceof Number
|| form instanceof Character
|| form instanceof Pattern
|| form instanceof Boolean
|| form instanceof String)
ret = form;
`
这是一个小小的修复,我不确定是否值得尝试。