Skip to content

Commit c557465

Browse files
committed
ns-aliases now returns identical namespace objects as find-ns
1 parent 6e4429e commit c557465

File tree

3 files changed

+3
-1
lines changed

3 files changed

+3
-1
lines changed

CHANGELOG.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ SCI is used in [babashka](https://github.com/babashka/babashka),
1313
## Unreleased
1414

1515
- Add `ns` field to `sci.lang.Var` for compatibility with code that accesses `.ns` on vars
16+
- `ns-aliases` now returns identical namespace objects as `find-ns`
1617
- `copy-var` and `copy-var*` now preserve `:private` metadata
1718
- Add `proxy-super`, `proxy-call-with-super`, `update-proxy` and `proxy-mappings`
1819
- Support functional interface (FI) adaptation for instance targets (e.g. `(let [^Predicate p even?] (.test p 42))`)

src/sci/impl/namespaces.cljc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -462,7 +462,7 @@
462462
aliases (get-in @(:env ctx) [:namespaces name :aliases])]
463463
(zipmap (keys aliases)
464464
(map (fn [sym]
465-
(sci.lang/->Namespace sym nil))
465+
(sci.impl.utils/namespace-object (:env ctx) sym false nil))
466466
(vals aliases)))))
467467

468468
(defn sci-ns-aliases [sci-ns]

test/sci/namespaces_test.cljc

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -93,6 +93,7 @@
9393
(is (= 'clojure.set (eval* "(ns-name (find-ns 'clojure.set))")))
9494
(is (= 'clojure.set (eval* "(ns-name (the-ns (the-ns 'clojure.set)))")))
9595
(is (= 'clojure.core (eval* "(alias 'c 'clojure.core) (ns-name (get (ns-aliases *ns*) 'c))")))
96+
(is (true? (eval* "(alias 'c 'clojure.core) (identical? (find-ns 'clojure.core) (get (ns-aliases *ns*) 'c))")))
9697
(is (contains? (set (eval* "(clojure.repl/dir-fn 'clojure.string)"))
9798
'last-index-of))
9899
(is (true? (eval* "(def foo-ns (create-ns 'foo)) (def another-foo-ns (create-ns 'foo))

0 commit comments

Comments
 (0)