Skip to content

Commit f2e9b54

Browse files
committed
ns name
1 parent 671e8a6 commit f2e9b54

File tree

1 file changed

+19
-14
lines changed

1 file changed

+19
-14
lines changed

src/sci/impl/namespaces.cljc

Lines changed: 19 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -443,12 +443,16 @@
443443
(throw (new #?(:clj Exception :cljs js/Error)
444444
(str "No namespace: " x " found"))))))
445445

446-
(defn sci-ns-name [ctx ns]
446+
(defn sci-ns-name* [ctx ns]
447447
(let [^sci.lang.Namespace ns (sci-the-ns ctx ns)]
448448
(types/getName ns)))
449449

450+
(defn sci-ns-name [ns]
451+
(let [ctx (store/get-ctx)]
452+
(sci-ns-name* ctx ns)))
453+
450454
(defn sci-ns-aliases* [ctx sci-ns]
451-
(let [name (sci-ns-name ctx sci-ns)
455+
(let [name (sci-ns-name* ctx sci-ns)
452456
aliases (get-in @(:env ctx) [:namespaces name :aliases])]
453457
(zipmap (keys aliases)
454458
(map (fn [sym]
@@ -463,7 +467,7 @@
463467
(dissoc m :aliases :imports :obj :refer :refers))
464468

465469
(defn sci-ns-interns* [ctx sci-ns]
466-
(let [name (sci-ns-name ctx sci-ns)
470+
(let [name (sci-ns-name* ctx sci-ns)
467471
m (get-in @(:env ctx) [:namespaces name])
468472
m (clean-ns m)]
469473
m))
@@ -473,7 +477,7 @@
473477
(sci-ns-interns* ctx sci-ns)))
474478

475479
(defn sci-ns-publics* [ctx sci-ns]
476-
(let [name (sci-ns-name ctx sci-ns)
480+
(let [name (sci-ns-name* ctx sci-ns)
477481
m (get-in @(:env ctx) [:namespaces name])
478482
m (clean-ns m)]
479483
(into {} (keep (fn [[k v]]
@@ -486,7 +490,7 @@
486490
(sci-ns-publics* ctx sci-ns)))
487491

488492
(defn sci-ns-imports* [ctx sci-ns]
489-
(let [name (sci-ns-name ctx sci-ns)
493+
(let [name (sci-ns-name* ctx sci-ns)
490494
env @(:env ctx)
491495
global-imports (:imports env)
492496
namespace-imports (get-in env [:namespaces name :imports])
@@ -500,7 +504,7 @@
500504
(sci-ns-imports* ctx sci-ns)))
501505

502506
(defn sci-ns-refers* [ctx sci-ns]
503-
(let [name (sci-ns-name ctx sci-ns)
507+
(let [name (sci-ns-name* ctx sci-ns)
504508
env @(:env ctx)
505509
refers (get-in env [:namespaces name :refers])
506510
clojure-core (get-in env [:namespaces 'clojure.core])
@@ -522,7 +526,7 @@
522526
(assert (symbol? sym)) ; protects :aliases, :imports, :obj, etc.
523527
(swap! (:env ctx)
524528
(fn [env]
525-
(let [name (sci-ns-name ctx sci-ns)]
529+
(let [name (sci-ns-name* ctx sci-ns)]
526530
(update-in env [:namespaces name]
527531
(fn [the-ns-map]
528532
(cond (contains? (:refers the-ns-map) sym)
@@ -540,11 +544,12 @@
540544
:else the-ns-map)))))))
541545
nil)
542546

543-
(defn sci-ns-unalias [ctx sci-ns sym]
544-
(swap! (:env ctx)
545-
(fn [env]
546-
(update-in env [:namespaces (sci-ns-name ctx sci-ns) :aliases] dissoc sym)))
547-
nil)
547+
(defn sci-ns-unalias [sci-ns sym]
548+
(let [ctx (store/get-ctx)]
549+
(swap! (:env ctx)
550+
(fn [env]
551+
(update-in env [:namespaces (sci-ns-name* ctx sci-ns) :aliases] dissoc sym)))
552+
nil))
548553

549554
(defn sci-all-ns []
550555
(let [env (:env (store/get-ctx))
@@ -1513,8 +1518,8 @@
15131518
'ns-refers (copy-var sci-ns-refers clojure-core-ns {:name 'ns-refers})
15141519
'ns-map (copy-var sci-ns-map clojure-core-ns {:name 'ns-map})
15151520
'ns-unmap (copy-var sci-ns-unmap clojure-core-ns {:name 'ns-unmap})
1516-
'ns-unalias (copy-var sci-ns-unalias clojure-core-ns {:ctx true :name 'ns-unalias})
1517-
'ns-name (copy-var sci-ns-name clojure-core-ns {:name 'ns-name :ctx true})
1521+
'ns-unalias (copy-var sci-ns-unalias clojure-core-ns {:name 'ns-unalias})
1522+
'ns-name (copy-var sci-ns-name clojure-core-ns {:name 'ns-name})
15181523
'odd? (copy-core-var odd?)
15191524
#?@(:cljs ['object? (copy-core-var object?)])
15201525
'object-array (copy-core-var object-array)

0 commit comments

Comments
 (0)