From e37748eb0af90d83560e7883c8129c2a1dea8db8 Mon Sep 17 00:00:00 2001
From: Chouser <chouser@n01se.net>
Date: Sat, 13 Nov 2010 18:18:51 -0500
Subject: [PATCH] Support empty path in update-in. CLJ-373

---
 src/clj/clojure/core.clj |   11 ++++++-----
 1 files changed, 6 insertions(+), 5 deletions(-)

diff --git a/src/clj/clojure/core.clj b/src/clj/clojure/core.clj
index b6fe498..e4f1092 100644
--- a/src/clj/clojure/core.clj
+++ b/src/clj/clojure/core.clj
@@ -5391,11 +5391,12 @@
   created."
   {:added "1.0"
    :static true}
-  ([m [k & ks] f & args]
-   (if ks
-     (assoc m k (apply update-in (get m k) ks f args))
-     (assoc m k (apply f (get m k) args)))))
-
+  [m ks f & args]
+  (if-let [[k & mk] ks]
+    (if mk
+      (assoc m k (apply update-in (get m k) mk f args))
+      (assoc m k (apply f (get m k) args)))
+    (apply f m args)))
 
 (defn empty?
   "Returns true if coll has no items - same as (not (seq coll)).
-- 
1.7.0.4

