Function: consult--multi-static

consult--multi-static is a natively compiled function defined in consult.el.

Signature

(consult--multi-static SOURCES)

Documentation

Static async function from multi SOURCES.

Source Code

;; Defined in /nix/store/6higv2v1wk916v4ynnybyrdkfy2gq44d-emacs-packages-deps/share/emacs/site-lisp/elpa/consult-20261004.957/consult.el
(defun consult--multi-static (sources)
  "Static async function from multi SOURCES."
  (let ((cache-items (make-vector (length sources) t))
        cache-cands cache-vis)
    (lambda (action)
      (unless action
        (let ((vis (cl-loop for src across sources collect
                            (consult--multi-visible-p src))))
          (unless (equal vis cache-vis)
            (let ((cands (cl-loop
                          for idx from 0 for src across sources
                          if (consult--multi-visible-p src) nconc
                          (consult--multi-format
                           idx src
                           (let ((cached (aref cache-items idx)))
                             (if (listp cached)
                                 cached
                               (aset cache-items idx (consult--multi-items src))))))))
              (setq cache-vis vis
                    cache-cands cands)))
          cache-cands)))))