File tree Expand file tree Collapse file tree 3 files changed +18
-3
lines changed
src/cider/nrepl/middleware
test/clj/cider/nrepl/middleware Expand file tree Collapse file tree 3 files changed +18
-3
lines changed Original file line number Diff line number Diff line change 4
4
5
5
## 0.28.3 (2022-02-22)
6
6
7
+ ### Bugs Fixed
8
+
9
+ * [ #751 ] ( https://github.com/clojure-emacs/cider-nrepl/issues/751 ) : Skip unmapping of default imports in ` undef-all ` op.
10
+
11
+ ### Changes
12
+
7
13
* Upgrade [ Orchard to version 0.9.2] ( https://github.com/clojure-emacs/orchard/blob/v0.9.2/CHANGELOG.md#092-2022-02-22 ) .
8
14
9
15
## 0.28.2 (2022-02-01)
Original file line number Diff line number Diff line change 31
31
" Undefines all symbol mappings and aliases in the namespace."
32
32
[{:keys [ns ]}]
33
33
(let [ns (misc/as-sym ns )]
34
- (doseq [[sym _] (ns-map ns )]
35
- (ns-unmap ns sym))
34
+ ; ; Do not remove the default java.lang imports, as they are not relinked on the next load
35
+ ; ; see https://github.com/clojure-emacs/cider/issues/3194
36
+ (doseq [[sym ref] (ns-map ns )]
37
+ (when-not (identical? ref (get clojure.lang.RT/DEFAULT_IMPORTS sym))
38
+ (ns-unmap ns sym)))
36
39
(doseq [[sym _] (ns-aliases ns )]
37
40
(ns-unalias ns sym))
38
41
ns ))
Original file line number Diff line number Diff line change 103
103
(is (:ex response)))))
104
104
105
105
(deftest undef-all-test
106
- (testing " undef-all undefines all vars in namespace"
106
+ (testing " undef-all undefines all vars in namespace, except default imports "
107
107
(is (= #{" done" }
108
108
(:status (session/message {:op " eval"
109
109
:code " (do (ns other.ns (:require [clojure.walk :as walk :refer [postwalk]])))" }))))
113
113
(is (= [" #'clojure.walk/postwalk" ]
114
114
(:value (session/message {:op " eval"
115
115
:code " (ns-resolve 'other.ns 'postwalk)" }))))
116
+ (is (= [" java.lang.System" ]
117
+ (:value (session/message {:op " eval"
118
+ :code " (ns-resolve 'other.ns 'System)" }))))
116
119
(is (= #{" done" }
117
120
(:status (session/message {:op " undef-all"
118
121
:ns " other.ns" }))))
122
125
(is (= [" nil" ]
123
126
(:value (session/message {:op " eval"
124
127
:code " (ns-resolve 'other.ns 'postwalk)" }))))
128
+ (is (= [" java.lang.System" ]
129
+ (:value (session/message {:op " eval"
130
+ :code " (ns-resolve 'other.ns 'System)" }))))
125
131
(is (= [" {}" ]
126
132
(:value (session/message {:op " eval"
127
133
:code " (ns-aliases 'other.ns)" }))))))
You can’t perform that action at this time.
0 commit comments