Function: msb--collect
msb--collect is a byte-compiled function defined in msb.el.gz.
Signature
(msb--collect FUNCTION-INFO-VECTOR)
Source Code
;; Defined in /usr/src/emacs/lisp/msb.el.gz
;; This defsubst is only used in `msb--choose-menu' below. It was
;; pulled out merely to make the code somewhat clearer. The indentation
;; level was too big.
(defsubst msb--collect (function-info-vector)
(let ((result nil)
(multi-flag nil)
function-info-list)
(setq function-info-list
(cl-loop for fi
across function-info-vector
if (and (setq result
(eval (aref fi 1) t)) ;Test CONDITION
(not (and (eq result 'no-multi)
multi-flag))
(progn (when (eq result 'multi)
(setq multi-flag t))
t))
collect fi
until (and result
(not (eq result 'multi)))))
(when (and (not function-info-list)
(not result))
(error "No catch-all in msb-menu-cond!"))
function-info-list))