diff options
author | Meikel Brandmeyer <mb@kotka.de> | 2010-05-27 18:49:42 +0200 |
---|---|---|
committer | Stuart Halloway <stu@thinkrelevance.com> | 2010-06-03 21:20:47 -0400 |
commit | 7bf68461de66ef2d204487e345b2af18418ea581 (patch) | |
tree | 54b0970c21fb78e23a800831bec7cf3122f2e111 /src | |
parent | fb52b69d75868e4ce49d0123bc1ceaae8d6f5fe8 (diff) |
Make disj nil-aware
Refers #360
Signed-off-by: Stuart Halloway <stu@thinkrelevance.com>
Diffstat (limited to 'src')
-rw-r--r-- | src/clj/clojure/core.clj | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/src/clj/clojure/core.clj b/src/clj/clojure/core.clj index 2746a610..81c1fcb7 100644 --- a/src/clj/clojure/core.clj +++ b/src/clj/clojure/core.clj @@ -1168,12 +1168,14 @@ {:added "1.0"} ([set] set) ([^clojure.lang.IPersistentSet set key] - (. set (disjoin key))) + (when set + (. set (disjoin key)))) ([set key & ks] - (let [ret (disj set key)] - (if ks - (recur ret (first ks) (next ks)) - ret)))) + (when set + (let [ret (disj set key)] + (if ks + (recur ret (first ks) (next ks)) + ret))))) (defn find "Returns the map entry for key, or nil if key not present." |