Can someone explain to me why dissoc is used with a vector of keys as the second argument in the https://github.com/clojure/clojure/blob/13a2f67b91ab81cd109ea3152fce1ae76d212453/src/clj/clojure/repl/deps.clj#L46 of add-libs? Thank you.
yep, certainly a bug, I'll file a patch, thx
https://clojure.atlassian.net/browse/CLJ-2886
Because the keys in basis are compound (vectors), if I recall.
I can't see that.
user=> (keys (basis/current-basis))
(:paths :deps :aliases :mvn/repos :libs :classpath-roots :classpath :basis-config)
Hmm, no, you're right. That looks almost like it should be (apply dissoc basis [..])
If it were apply dissoc, we'd end up with just (:mvn/repos :libs) as the keys which seems right for a procurer.
I guess it's "harmless" that procurer has all the extra keys... but it does seem like a bug. @alexmiller?
Ah, OK, that explains it. Seems like we found a little bug.
Luckily most Clojure code simply ignores extra keys that it doesn't care about 🙂
That is certainly true.