Function: registry-reindex
registry-reindex is a byte-compiled function defined in
registry.el.gz.
Signature
(registry-reindex ARG &rest ARGS)
Implementations
((db registry-db)) in `registry.el'.
Rebuild the secondary indices of registry-db DB.
Source Code
;; Defined in /usr/src/emacs/lisp/registry.el.gz
(cl-defmethod registry-reindex ((db registry-db))
"Rebuild the secondary indices of registry-db DB."
(let ((count 0)
(expected (* (length (oref db tracked)) (registry-size db))))
(dolist (tr (oref db tracked))
(maphash
(lambda (key v)
(cl-incf count)
(when (and (< 0 expected)
(= 0 (mod count 1000)))
(message "reindexing: %d of %d (%.2f%%)"
count expected (/ (* 100.0 count) expected)))
(dolist (val (cdr-safe (assq tr v)))
(let ((value-keys (registry-lookup-secondary-value db tr val)))
(push key value-keys)
(registry-lookup-secondary-value db tr val value-keys))))
(oref db data)))))