<?xml version="1.0" encoding="UTF-8"?>
<commit>
  <added type="array">
    <added>
      <filename>examples/error_kit.clj</filename>
    </added>
  </added>
  <modified type="array">
    <modified>
      <diff>@@ -1,3 +1,5 @@
+
+/Programming-Clojure.iml
 /build.clj
 /hello.out
 /snippet-db.lck
@@ -5,4 +7,3 @@
 /snippet-db.properties
 /snippet-db.script
 /tmp.clj
-</diff>
      <filename>.gitignore</filename>
    </modified>
    <modified>
      <diff>@@ -3,5 +3,5 @@
 ; Does not quite work
 (defmacro chain
   ([x form] `(. ~x ~form))
-  ([x form &amp; rest] `(chain (. ~x ~form) ~rest)))
+  ([x form &amp; more] `(chain (. ~x ~form) ~more)))
 ; END: chain
\ No newline at end of file</diff>
      <filename>examples/macros/chain_4.clj</filename>
    </modified>
    <modified>
      <diff>@@ -2,5 +2,5 @@
 ; START: chain
 (defmacro chain
   ([x form] `(. ~x ~form))
-  ([x form &amp; rest] `(chain (. ~x ~form) ~@rest)))
+  ([x form &amp; more] `(chain (. ~x ~form) ~@more)))
 ; END: chain</diff>
      <filename>examples/macros/chain_5.clj</filename>
    </modified>
    <modified>
      <diff>@@ -60,7 +60,7 @@
 
 ; START: turn
 (defn turn [snake newdir] 
-  (if newdir (assoc snake :dir newdir) snake))
+  (assoc snake :dir newdir))
 ; END: turn
 
 ; START: win?
@@ -95,7 +95,7 @@
 
 ; START: update-direction
 (defn update-direction [snake newdir]
-  (dosync (alter snake turn newdir)))
+  (when newdir (dosync (alter snake turn newdir))))
 ; END: update-direction
 
 ; START: reset-game</diff>
      <filename>examples/snake.clj</filename>
    </modified>
    <modified>
      <diff>@@ -22,6 +22,10 @@
 	       (map (memfn getURLs)
 		    (apply classloader-seq args)))))
 
+(defmacro show-publics [ns]
+  `(doseq [p# (ns-publics (quote ~ns))]
+     (println (first p#))))
+     
 ; TODO: update book or add to Clojure
 (defmacro ?.
   &quot;like .. but drops out on null object&quot;
@@ -55,3 +59,7 @@
 		   (prn ~form)
 		   (println))))
 	    forms)))
+
+(defn jar-urls [dir]
+  (map #(.toURL %) 
+       (filter #(re-find #&quot;jar$&quot; (.getName %)) (.listFiles (java.io.File. dir)))))
\ No newline at end of file</diff>
      <filename>examples/utils.clj</filename>
    </modified>
  </modified>
  <removed type="array"/>
  <parents type="array">
    <parent>
      <id>401f348b53ddf8ba9b90a445981a134c5eb20783</id>
    </parent>
  </parents>
  <author>
    <name>Stuart Halloway</name>
    <email>stu@thinkrelevance.com</email>
  </author>
  <url>http://github.com/stuarthalloway/programming-clojure/commit/6edc127e67ef1ddf16b8b0ecd4a1b40b5facb21f</url>
  <id>6edc127e67ef1ddf16b8b0ecd4a1b40b5facb21f</id>
  <committed-date>2009-04-03T10:30:00-07:00</committed-date>
  <authored-date>2009-04-03T10:30:00-07:00</authored-date>
  <message>beta 9!</message>
  <tree>7d5797b8d317f7f287d05e8fec8dfe5aa1bfc1b6</tree>
  <committer>
    <name>Stuart Halloway</name>
    <email>stu@thinkrelevance.com</email>
  </committer>
</commit>
