Function: etags--xref-apropos-additional

etags--xref-apropos-additional is a byte-compiled function defined in etags.el.gz.

Signature

(etags--xref-apropos-additional REGEXP)

Source Code

;; Defined in /usr/src/emacs/lisp/progmodes/etags.el.gz
(defun etags--xref-apropos-additional (regexp)
  (cl-mapcan
   (lambda (oba)
     (pcase-let* ((`(,group ,goto-fun ,symbs) oba)
                  (res nil)
                  (add-xref (lambda (sym)
                              (let ((sn (symbol-name sym)))
                                (when (string-match-p regexp sn)
                                  (push
                                   (xref-make
                                    sn
                                    (xref-make-etags-apropos-location
                                     sym goto-fun group))
                                   res))))))
       (when (symbolp symbs)
         (if (boundp symbs)
             (setq symbs (symbol-value symbs))
           (warn "Symbol `%s' has no value" symbs)
           (setq symbs nil))
         (if (obarrayp symbs)
             (mapatoms add-xref symbs)
           (dolist (sy symbs)
             (funcall add-xref (car sy))))
         (nreverse res))))
   tags-apropos-additional-actions))