From 6d6b717f21c188d4630e05d7cfd6f62389af91df Mon Sep 17 00:00:00 2001 From: Martin Kavalar Date: Mon, 9 May 2022 17:18:16 +0200 Subject: [PATCH 1/2] Make classpath-namespaces resilient to faulty ns decl, fixes #158 --- src/orchard/namespace.clj | 3 ++- test/orchard/namespace_test.clj | 3 +++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/src/orchard/namespace.clj b/src/orchard/namespace.clj index fe178a4c..04fca064 100644 --- a/src/orchard/namespace.clj +++ b/src/orchard/namespace.clj @@ -31,7 +31,8 @@ (cond (#{::eof ::fail} found) nil (and (list? found) - (-> found first #{`ns 'ns})) + (-> found first #{`ns 'ns}) + (symbol? (second found))) (second found) :else (recur)))))) diff --git a/test/orchard/namespace_test.clj b/test/orchard/namespace_test.clj index ee0f551b..5b8bb7e0 100644 --- a/test/orchard/namespace_test.clj +++ b/test/orchard/namespace_test.clj @@ -62,6 +62,9 @@ (testing "when multiple ns forms are present" (spit url "(ns ns1) (ns ns2) (ns ns3)") (is (= 'ns1 (sut/read-namespace uri)))) + (testing "when ns form is invalid" + (spit url "(ns (:require [clojure.string]))") + (is (nil? (sut/read-namespace uri)))) (testing "of top-level forms only" (spit url "(comment (ns ns1)) (ns ns2) (ns ns3)") (is (= 'ns2 (sut/read-namespace uri)))) From 143dd33be97d8d49594a5d02c45754526b6f4ab0 Mon Sep 17 00:00:00 2001 From: Martin Kavalar Date: Mon, 9 May 2022 17:23:44 +0200 Subject: [PATCH 2/2] Add changelog entry --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index e1f967ff..95864e3a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,7 @@ # Changelog ## master (unreleased) +* [#158](https://github.com/clojure-emacs/orchard/issues/158): Make classpath-namespaces resilient to faulty ns declarations. ## 0.9.2 (2022-02-22)