Skip to content

Commit b68efea

Browse files
committed
guard against non-editable vectors
1 parent fabcedd commit b68efea

File tree

1 file changed

+12
-1
lines changed

1 file changed

+12
-1
lines changed

src/nextjournal/clerk/walk.cljc

+12-1
Original file line numberDiff line numberDiff line change
@@ -84,7 +84,7 @@
8484
form form)
8585
(outer)))
8686

87-
(vector? form)
87+
(and (vector? form) (editable? form))
8888
(->
8989
(reduce-kv
9090
(fn [v idx el]
@@ -97,6 +97,17 @@
9797
(with-meta (meta form))
9898
(outer))
9999

100+
(vector? form)
101+
(->
102+
(reduce-kv
103+
(fn [v idx el]
104+
(let [el' (inner el)]
105+
(if (identical? el' el)
106+
v
107+
(assoc v idx el'))))
108+
form form)
109+
(outer))
110+
100111
#?(:clj (instance? clojure.lang.IRecord form)
101112
:cljs (record? form))
102113
(outer

0 commit comments

Comments
 (0)