From 749a0ad8b66c781d8176833f0ad26cfe6b9b24e3 Mon Sep 17 00:00:00 2001 From: Christophe Grand Date: Fri, 23 Oct 2009 11:50:47 +0200 Subject: make -> and ->> metadata-aware Fixes #206 Signed-off-by: Chouser --- src/clj/clojure/core.clj | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'src') 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))) -- cgit v1.2.3-18-g5258