Function: elisp-refs--search
elisp-refs--search is a byte-compiled function defined in
elisp-refs.el.
Signature
(elisp-refs--search SYMBOL DESCRIPTION MATCH-FN &optional PATH-PREFIX)
Documentation
Find references to SYMBOL in all loaded files; call MATCH-FN on each buffer.
When PATH-PREFIX, limit to loaded files whose path starts with that prefix.
Display the results in a hyperlinked buffer.
MATCH-FN should return a list where each element takes the form:
(form start-pos end-pos).
Source Code
;; Defined in ~/.emacs.d/elpa/elisp-refs-20230920.201/elisp-refs.el
(defun elisp-refs--search (symbol description match-fn &optional path-prefix)
"Find references to SYMBOL in all loaded files; call MATCH-FN on each buffer.
When PATH-PREFIX, limit to loaded files whose path starts with that prefix.
Display the results in a hyperlinked buffer.
MATCH-FN should return a list where each element takes the form:
\(form start-pos end-pos)."
(let* ((loaded-paths (elisp-refs--loaded-paths))
(matching-paths (if path-prefix
(--filter (s-starts-with? path-prefix it) loaded-paths)
loaded-paths))
(loaded-src-bufs (mapcar #'elisp-refs--contents-buffer matching-paths)))
;; Use unwind-protect to ensure we always cleanup temporary
;; buffers, even if the user hits C-g.
(unwind-protect
(progn
(let ((forms-and-bufs
(elisp-refs--search-1 loaded-src-bufs match-fn)))
(elisp-refs--show-results symbol description forms-and-bufs
(length loaded-src-bufs) path-prefix)))
;; Clean up temporary buffers.
(--each loaded-src-bufs (kill-buffer it)))))