diff options
author | Stuart Sierra <mail@stuartsierra.com> | 2009-03-29 02:54:36 +0000 |
---|---|---|
committer | Stuart Sierra <mail@stuartsierra.com> | 2009-03-29 02:54:36 +0000 |
commit | 54827c622ba1567e5e5fb97e520bf6b2e1e69ce4 (patch) | |
tree | 491aeb767e56b8c0f50fa727a1765a4d35d84dd9 /src/clojure/contrib/with_ns.clj | |
parent | 29e62a7570d9144e013743a2fa0deaa7b7dd1fed (diff) |
with_ns.clj: added file, temporary namespace macro
Diffstat (limited to 'src/clojure/contrib/with_ns.clj')
-rw-r--r-- | src/clojure/contrib/with_ns.clj | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/src/clojure/contrib/with_ns.clj b/src/clojure/contrib/with_ns.clj new file mode 100644 index 00000000..4b770cd5 --- /dev/null +++ b/src/clojure/contrib/with_ns.clj @@ -0,0 +1,22 @@ +;;; with_ns.clj -- temporary namespace macro + +;; by Stuart Sierra, http://stuartsierra.com/ +;; March 28, 2009 + +;; Copyright (c) Stuart Sierra, 2009. All rights reserved. The use +;; and distribution terms for this software are covered by the Eclipse +;; Public License 1.0 (http://opensource.org/licenses/eclipse-1.0.php) +;; which can be found in the file epl-v10.html at the root of this +;; distribution. By using this software in any fashion, you are +;; agreeing to be bound by the terms of this license. You must not +;; remove this notice, or any other, from this software. + + +(ns clojure.contrib.with-ns) + +(defmacro with-ns + "Evaluates body in another namespace. ns is either a namespace + object or a symbol. This makes it possible to define functions in + namespaces other than the current one." + [ns & body] + `(binding [*ns* (the-ns ~ns)] (eval '(do ~@body)))) |