diff --git a/src/clj/com/rpl/specter/impl.cljc b/src/clj/com/rpl/specter/impl.cljc index 61e5b69..42d3bc4 100644 --- a/src/clj/com/rpl/specter/impl.cljc +++ b/src/clj/com/rpl/specter/impl.cljc @@ -603,6 +603,9 @@ (defn dynamic-var? [v] (-> v meta :dynamic)) +;; original-obj stuff is done to avoid using functions with metadata on them +;; clojure's implementation of function metadata causes the function to do an +;; apply for every invocation (defn direct-nav-obj [o] (vary-meta o merge {:direct-nav true :original-obj o}))