我还创建了以下补丁(包括 lint 修复),如果这样有帮助。如果需要,我可以签署贡献者协议。
<pre>
<code>
diff --git a/src/main/clojure/clojure/tools/namespace/find.clj b/src/main/clojure/clojure/tools/namespace/find.clj
index 88f88ef..d67aaf1 100644
--- a/src/main/clojure/clojure/tools/namespace/find.clj
+++ b/src/main/clojure/clojure/tools/namespace/find.clj
@@ -12,12 +12,10 @@
clojure.tools.namespace.find
(:require [clojure.java.classpath :as classpath]
[clojure.java.io :as io]
- [clojure.set :as set]
[clojure.tools.namespace.file :as file]
- [clojure.tools.namespace.parse :as parse])
- (:import (java.io File FileReader BufferedReader PushbackReader
- InputStreamReader)
- (java.util.jar JarFile JarEntry)))
+ (:import (java.io File PushbackReader)
+ (java.util.jar JarFile)))
(set! *warn-on-reflection* true)
@@ -92,7 +90,7 @@
(let [[_ nom & more :as decl] (file/read-file-ns-decl % (:read-opts platform))]
(when (and decl nom (symbol? nom))
(list* 'ns (with-meta nom
- {:dir (.getName ^java.io.File dir) :file (.getName ^java.io.File %)})
+ {:dir (.getName ^File dir) :file (.getName ^File %)})
more))))
(find-sources-in-dir dir platform))))
@@ -156,7 +154,7 @@
 ;(try
(let [[_ nom & more] (parse/read-ns-decl rdr read-opts)]
(list* 'ns (with-meta nom
- {:jar (.getName ^java.io.File jarfile) :file entry-name})
+ {:jar (.getName ^JarFile jarfile) :file entry-name})
more)))))))
(defn find-ns- declarations-in-jarfile
</code>
</pre>