summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristophe Grand <christophe@cgrand.net>2009-10-23 11:50:47 +0200
committerChouser <chouser@n01se.net>2009-11-10 11:57:47 -0500
commit749a0ad8b66c781d8176833f0ad26cfe6b9b24e3 (patch)
treed36230871fd2b221b02d1b3da3c5b876e38fc20e
parent4115b53938c56e282b9de9701a2db474324092bd (diff)
make -> and ->> metadata-aware Fixes #206
Signed-off-by: Chouser <chouser@n01se.net>
-rw-r--r--src/clj/clojure/core.clj5
1 files changed, 3 insertions, 2 deletions
diff --git a/src/clj/clojure/core.clj b/src/clj/clojure/core.clj
index 2b66f6d0..d20e10a1 100644
--- a/src/clj/clojure/core.clj
+++ b/src/clj/clojure/core.clj
@@ -1074,8 +1074,9 @@
second item in the first form, making a list of it if it is not a
list already. If there are more forms, inserts the first form as the
second item in second form, etc."
+ ([x] x)
([x form] (if (seq? form)
- `(~(first form) ~x ~@(next form))
+ (with-meta `(~(first form) ~x ~@(next form)) (meta form))
(list form x)))
([x form & more] `(-> (-> ~x ~form) ~@more)))
@@ -1085,7 +1086,7 @@
list already. If there are more forms, inserts the first form as the
last item in second form, etc."
([x form] (if (seq? form)
- `(~(first form) ~@(next form) ~x)
+ (with-meta `(~(first form) ~@(next form) ~x) (meta form))
(list form x)))
([x form & more] `(->> (->> ~x ~form) ~@more)))