fix: Two of the same query with mixed syntax causes hanging

close #2857
This commit is contained in:
Tienson Qin
2021-09-26 11:39:10 +08:00
parent c1883e0012
commit 38d81b4ed0

View File

@@ -307,15 +307,19 @@
(remove string/blank?)
(distinct))
refs (atom refs)]
(walk/postwalk
(walk/prewalk
(fn [form]
(when-let [page (get-page-reference form)]
(swap! refs conj page))
(when-let [tag (get-tag form)]
(let [tag (text/page-ref-un-brackets! tag)]
(when (util/tag-valid? tag)
(swap! refs conj tag))))
form)
;; skip custom queries
(when-not (and (vector? form)
(= (first form) "Custom")
(= (second form) "query"))
(when-let [page (get-page-reference form)]
(swap! refs conj page))
(when-let [tag (get-tag form)]
(let [tag (text/page-ref-un-brackets! tag)]
(when (util/tag-valid? tag)
(swap! refs conj tag))))
form))
(concat title body))
(let [refs (remove string/blank? @refs)
children-pages (->> (mapcat (fn [p]