diff --git a/src/clj/com/rpl/specter/impl.cljc b/src/clj/com/rpl/specter/impl.cljc index ff21d49..f4a8c2d 100644 --- a/src/clj/com/rpl/specter/impl.cljc +++ b/src/clj/com/rpl/specter/impl.cljc @@ -603,9 +603,14 @@ (closed-code closure new-form)))) (defn coerce-nav [o] - (if (instance? com.rpl.specter.protocols.RichNavigator o) - o - (p/implicit-nav o))) + (cond (instance? com.rpl.specter.protocols.RichNavigator o) + o + + (vector? o) + (comp-paths* o) + + :else + (p/implicit-nav o))) (defn dynamic-var? [v] diff --git a/src/clj/com/rpl/specter/macros.clj b/src/clj/com/rpl/specter/macros.clj index d52c9dc..1f907f7 100644 --- a/src/clj/com/rpl/specter/macros.clj +++ b/src/clj/com/rpl/specter/macros.clj @@ -176,7 +176,7 @@ :else (if (empty? (used-locals locals-set path)) path - `(com.rpl.specter.impl/->DynamicVal ~path (quote ~path))))) + `(com.rpl.specter.impl/->DynamicVal (quote ~path))))) ; (defn ^:no-doc ic-possible-params [path]