Completed
Details
Assignee
Mike FikesMike FikesReporter
Martin KlepschMartin KlepschApproval
AcceptedPatch
Code and TestPriority
Major
Details
Details
Assignee
Mike Fikes
Mike FikesReporter
Martin Klepsch
Martin KlepschApproval
Accepted
Patch
Code and Test
Priority

Created July 30, 2018 at 2:28 PM
Updated August 3, 2018 at 8:57 PM
Resolved August 3, 2018 at 8:57 PM
;; test-sources/codox_test/macro.cljc (ns codox-test.macro) (defmacro test2 [a & xs] `(reduce + ~a ~(vec xs)))
(let [file (java.io.File. "test-sources/codox_test/macro.cljc")] (let [state (cljs.analyzer.api/empty-state)] (binding [cljs.analyzer/*analyze-deps* false] (cljs.analyzer.api/analyze-file state file {})) (->> (cljs.analyzer.api/ns-publics state 'codox-test.macro) (map (fn [[name m]] [name (:arglists m)])) (into {}))))
returns
{test2 ([&form &env a & xs])}
contrary, clojure's ns-publics:
(->> (vals (ns-publics 'codox-test.macro)) (map meta) (map (fn [m] [(:name m) (:arglists m)])) (into {}))
{test2 ([a & xs])}
I didn't notice this issue with macros that don't use {& rest} style arglists.