Function: ebrowse-tags-view/find-member-decl/defn
ebrowse-tags-view/find-member-decl/defn is a byte-compiled function
defined in ebrowse.el.gz.
Signature
(ebrowse-tags-view/find-member-decl/defn PREFIX &key VIEW DEFINITION MEMBER-NAME)
Documentation
If VIEW is t, view, else find an occurrence of MEMBER-NAME.
If DEFINITION is t, find or view the member definition else its declaration. This function reads the member's name from the current buffer like FIND-TAG. It then prepares a completion list of all classes containing a member with the given name and lets the user choose the class to use. As a last step, a tags search is performed that positions point on the member declaration or definition.
Source Code
;; Defined in /usr/src/emacs/lisp/progmodes/ebrowse.el.gz
(cl-defun ebrowse-tags-view/find-member-decl/defn
(prefix &key view definition member-name)
"If VIEW is t, view, else find an occurrence of MEMBER-NAME.
If DEFINITION is t, find or view the member definition else its
declaration. This function reads the member's name from the
current buffer like FIND-TAG. It then prepares a completion list
of all classes containing a member with the given name and lets
the user choose the class to use. As a last step, a tags search
is performed that positions point on the member declaration or
definition."
(cl-multiple-value-bind
(tree header tree-buffer) (cl-values-list (ebrowse-choose-tree))
(unless tree (error "No class tree"))
(let* ((marker (point-marker))
class-name
(name member-name)
info)
(unless name
(cl-multiple-value-setq (class-name name)
(cl-values-list
(ebrowse-tags-read-name
header
(concat (if view "View" "Find") " member "
(if definition "definition" "declaration") ": ")))))
(setq info (ebrowse-tags-choose-class tree header name class-name))
(ebrowse-push-position marker info)
;; Goto the occurrence of the member
(ebrowse-view/find-member-declaration/definition
prefix view definition info
header
(buffer-local-value 'ebrowse--tags-file-name tree-buffer))
;; Record position jumped to
(ebrowse-push-position (point-marker) info t))))