Function: consult--async-merge
consult--async-merge is a byte-compiled function defined in
consult.el.
Signature
(consult--async-merge ASYNCS)
Documentation
Create merged async function from multiple ASYNCS.
Source Code
;; Defined in ~/.emacs.d/elpa/consult-20260805.1130/consult.el
(defun consult--async-merge (asyncs)
"Create merged async function from multiple ASYNCS."
(lambda (sink)
(let* ((indicator (make-vector (length asyncs) nil))
(tail (make-vector (1+ (length indicator)) nil))
(asyncs
(seq-map-indexed
(lambda (fun idx)
(funcall fun (consult--async-merge-sink sink indicator tail (1+ idx))))
asyncs)))
(aset tail 0 (list nil)) ;; Guard element
(lambda (action)
(dolist (async asyncs)
(funcall async action))
(funcall sink action)))))