Function: elisp-scope--all-reachable-symbol-roles

elisp-scope--all-reachable-symbol-roles is a byte-compiled function defined in elisp-scope.el.gz.

Signature

(elisp-scope--all-reachable-symbol-roles SYMBOL-ROLE)

Source Code

;; Defined in /usr/src/emacs/lisp/emacs-lisp/elisp-scope.el.gz
(defun elisp-scope--all-reachable-symbol-roles (symbol-role)
  (with-memoization (gethash symbol-role elisp-scope--all-reachable-symbol-roles-cache)
    (cons symbol-role
          (let* ((parents (get symbol-role 'elisp-scope-parent-roles))
                 (aps (mapcar #'elisp-scope--all-reachable-symbol-roles parents)))
            (if (cdr aps)
                (merge-ordered-lists (nconc aps (list parents)))
              (car aps))))))