diff options
-rw-r--r-- | modules/find-namespaces/src/main/clojure/clojure/contrib/find_namespaces.clj | 13 |
1 files changed, 7 insertions, 6 deletions
diff --git a/modules/find-namespaces/src/main/clojure/clojure/contrib/find_namespaces.clj b/modules/find-namespaces/src/main/clojure/clojure/contrib/find_namespaces.clj index 928499c7..b45a7d16 100644 --- a/modules/find-namespaces/src/main/clojure/clojure/contrib/find_namespaces.clj +++ b/modules/find-namespaces/src/main/clojure/clojure/contrib/find_namespaces.clj @@ -54,12 +54,13 @@ unevaluated form. Returns nil if read fails or if a ns declaration cannot be found. The ns declaration must be the first Clojure form in the file, except for (comment ...) forms." - [^PushbackReader rdr] - (try (let [form (read rdr)] - (cond - (ns-decl? form) form - (comment? form) (recur rdr) - :else nil)) + [#^PushbackReader rdr] + (try + (loop [] (let [form (read rdr)] + (cond + (ns-decl? form) form + (comment? form) (recur) + :else nil))) (catch Exception e nil))) (defn read-file-ns-decl |