Index: src/clj/clojure/boot.clj
===================================================================
--- src/clj/clojure/boot.clj	(revision 1020)
+++ src/clj/clojure/boot.clj	(working copy)
@@ -1922,37 +1922,44 @@
 
 (defn find-ns
   "Returns the namespace named by the symbol or nil if it doesn't exist."
-  [sym] (. clojure.lang.Namespace (find sym)))
+  [sym] (.find clojure.lang.Namespace sym))
 
 (defn create-ns
   "Create a new namespace named by the symbol if one doesn't already
   exist, returns it or the already-existing namespace of the same
   name."
-  [sym] (. clojure.lang.Namespace (findOrCreate sym)))
+  [sym] (.findOrCreate clojure.lang.Namespace sym))
 
 (defn remove-ns
   "Removes the namespace named by the symbol. Use with caution.
   Cannot be used to remove the clojure namespace."
-  [sym] (. clojure.lang.Namespace (remove sym)))
+  [sym] (.remove clojure.lang.Namespace sym))
 
 (defn all-ns
   "Returns a sequence of all namespaces."
-  [] (. clojure.lang.Namespace (all)))
+  [] (.all clojure.lang.Namespace))
 
+(defn #^{:private true}
+  the-ns [x]
+  (if (instance? clojure.lang.Namespace x) x (find-ns x)))
+
 (defn ns-name
   "Returns the name of the namespace, a symbol."
-  [#^clojure.lang.Namespace ns]
-    (. ns (getName)))
+  [ns]
+  (let [#^clojure.lang.Namespace ns (the-ns ns)]
+    (.getName ns)))
 
 (defn ns-map
   "Returns a map of all the mappings for the namespace."
-  [#^clojure.lang.Namespace ns]
-    (. ns (getMappings)))
+  [ns]
+  (let [#^clojure.lang.Namespace ns (the-ns ns)]
+    (.getMappings ns)))
 
 (defn ns-unmap
   "Removes the mappings for the symbol from the namespace."
-  [#^clojure.lang.Namespace ns sym]
-    (. ns (unmap sym)))
+  [ns sym]
+  (let [#^clojure.lang.Namespace ns (the-ns ns)]
+    (.unmap ns sym)))
 
 ;(defn export [syms]
 ;  (doseq sym syms
@@ -1960,16 +1967,18 @@
 
 (defn ns-publics
   "Returns a map of the public intern mappings for the namespace."
-  [#^clojure.lang.Namespace ns]
+  [ns]
+  (let [#^clojure.lang.Namespace ns (the-ns ns)]
     (filter-key val (fn [#^clojure.lang.Var v] (and (instance? clojure.lang.Var v)
-                                 (= ns (. v ns))
-                                 (. v (isPublic))))
-                (ns-map ns)))
+                                 (= ns (.ns v))
+                                 (.isPublic v)))
+                (ns-map ns))))
 
 (defn ns-imports
   "Returns a map of the import mappings for the namespace."
-  [#^clojure.lang.Namespace ns]
-    (filter-key val (partial instance? Class) (ns-map ns)))
+  [ns]
+  (let [#^clojure.lang.Namespace ns (the-ns ns)]
+    (filter-key val (partial instance? Class) (ns-map ns))))
 
 (defn refer
   "refers to all public vars of ns, subject to filters.
@@ -2002,17 +2011,19 @@
 
 (defn ns-refers
   "Returns a map of the refer mappings for the namespace."
-  [#^clojure.lang.Namespace ns]
+  [ns]
+  (let [#^clojure.lang.Namespace ns (the-ns ns)]
     (filter-key val (fn [#^clojure.lang.Var v] (and (instance? clojure.lang.Var v)
-                                 (not= ns (. v ns))))
-                (ns-map ns)))
+                                 (not= ns (.ns v))))
+                (ns-map ns))))
 
 (defn ns-interns
   "Returns a map of the intern mappings for the namespace."
-  [#^clojure.lang.Namespace ns]
+  [ns]
+  (let [#^clojure.lang.Namespace ns (the-ns ns)]
     (filter-key val (fn [#^clojure.lang.Var v] (and (instance? clojure.lang.Var v)
-                                 (= ns (. v ns))))
-                (ns-map ns)))
+                                 (= ns (.ns v))))
+                (ns-map ns))))
 
 (defn alias
   "Add an alias in the current namespace to another
@@ -2024,12 +2035,15 @@
 
 (defn ns-aliases
   "Returns a map of the aliases for the namespace."
-  [#^clojure.lang.Namespace ns]  (.getAliases ns))
+  [ns]
+  (let [#^clojure.lang.Namespace ns (the-ns ns)]
+    (.getAliases ns)))
 
 (defn ns-unalias
   "Removes the alias for the symbol from the namespace."
-  [#^clojure.lang.Namespace ns sym]
-    (. ns (removeAlias sym)))
+  [ns sym]
+  (let [#^clojure.lang.Namespace ns (the-ns ns)]
+    (.removeAlias ns sym)))
 
 (defn take-nth
   "Returns a lazy seq of every nth item in coll."
@@ -2073,7 +2087,8 @@
   the var/Class to which it resolves need not be present in the
   namespace."
   [ns sym]
-    (. clojure.lang.Compiler (maybeResolveIn ns sym)))
+  (let [#^clojure.lang.Namespace ns (the-ns ns)]
+    (.maybeResolveIn clojure.lang.Compiler ns sym)))
 
 (defn resolve
   "same as (ns-resolve *ns* symbol)"
