<?xml version="1.0" encoding="UTF-8"?>
<commit>
  <added type="array"/>
  <modified type="array">
    <modified>
      <diff>@@ -4437,14 +4437,17 @@
                              (into m (zipmap test (repeat expr)))
                              (assoc m test expr))) 
                            {} cases)
-        [shift mask] (min-hash (keys case-map))
+        [shift mask] (if (seq case-map) (min-hash (keys case-map)) [0 0])
         
         hmap (reduce (fn [m [test expr :as te]]
                        (assoc m (shift-mask shift mask (hash test)) te))
                      (sorted-map) case-map)]
     `(let [~ge ~e]
-       (case* ~ge ~shift ~mask ~(key (first hmap)) ~(key (last hmap)) ~default ~hmap 
-              ~(every? keyword? (keys case-map))))))
+       ~(condp = (count clauses)
+          0 default
+          1 default
+          :else `(case* ~ge ~shift ~mask ~(key (first hmap)) ~(key (last hmap)) ~default ~hmap 
+                        ~(every? keyword? (keys case-map)))))))
 
 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; helper files ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
 (alter-meta! (find-ns 'clojure.core) assoc :doc &quot;Fundamental library of the Clojure language&quot;)</diff>
      <filename>src/clj/clojure/core.clj</filename>
    </modified>
  </modified>
  <removed type="array"/>
  <parents type="array">
    <parent>
      <id>2e7e41c9788b9cc02fe070d8e5319929d996ee32</id>
    </parent>
  </parents>
  <author>
    <name>Rich Hickey</name>
    <email>richhickey@gmail.com</email>
  </author>
  <url>http://github.com/richhickey/clojure/commit/d885123f06e3c22f5b8e7eb6b421f047e359e279</url>
  <id>d885123f06e3c22f5b8e7eb6b421f047e359e279</id>
  <committed-date>2009-11-06T05:14:52-08:00</committed-date>
  <authored-date>2009-11-06T05:14:52-08:00</authored-date>
  <message>fix case with no or default-only clauses</message>
  <tree>3f53895019dc6411f0ce7282ee4f9fefb7d13eb0</tree>
  <committer>
    <name>Rich Hickey</name>
    <email>richhickey@gmail.com</email>
  </committer>
</commit>
