aboutsummaryrefslogtreecommitdiff
path: root/src/clojure/contrib/pred.clj
diff options
context:
space:
mode:
Diffstat (limited to 'src/clojure/contrib/pred.clj')
-rw-r--r--src/clojure/contrib/pred.clj10
1 files changed, 5 insertions, 5 deletions
diff --git a/src/clojure/contrib/pred.clj b/src/clojure/contrib/pred.clj
index 9760ec0e..2ec76284 100644
--- a/src/clojure/contrib/pred.clj
+++ b/src/clojure/contrib/pred.clj
@@ -57,12 +57,12 @@
;; function? -> fn?
-(defmacro macro?
- "Returns true if x is a function and the symbol of the
- same name can be resolved and has its :macro metadata
- set"
+(defn macro?
+ "Returns true if x names a macro"
[x]
- `(and (fn? ~x) (boolean (:macro ^#'~x))))
+ (and (symbol? x)
+ (boolean
+ (:macro (meta (resolve x))))))
;; integer?
;; even?