diff options
Diffstat (limited to 'lisp/cedet/semantic/db-find.el')
-rw-r--r-- | lisp/cedet/semantic/db-find.el | 15 |
1 files changed, 12 insertions, 3 deletions
diff --git a/lisp/cedet/semantic/db-find.el b/lisp/cedet/semantic/db-find.el index 15ef3b09238..d42ecf7c4fc 100644 --- a/lisp/cedet/semantic/db-find.el +++ b/lisp/cedet/semantic/db-find.el @@ -123,6 +123,7 @@ (defvar data-debug-thing-alist) (declare-function data-debug-insert-stuff-list "data-debug") +(declare-function data-debug-new-buffer "data-debug") ;;;(declare-function data-debug-insert-tag-list "adebug") (declare-function semantic-scope-reset-cache "semantic/scope") (declare-function semanticdb-typecache-notify-reset "semantic/db-typecache") @@ -167,6 +168,8 @@ the following keys: :group 'semanticdb :type semanticdb-find-throttle-custom-list) +(make-variable-buffer-local 'semanticdb-find-default-throttle) + (defun semanticdb-find-throttle-active-p (access-type) "Non-nil if ACCESS-TYPE is an active throttle type." (or (memq access-type semanticdb-find-default-throttle) @@ -879,8 +882,9 @@ instead." ;; Find-file-match allows a tool to make sure the tag is ;; 'live', somewhere in a buffer. (cond ((eq find-file-match 'name) - (let ((f (semanticdb-full-filename nametable))) - (semantic--tag-put-property ntag :filename f))) + (or (semantic--tag-get-property ntag :filename) + (let ((f (semanticdb-full-filename nametable))) + (semantic--tag-put-property ntag :filename f)))) ((and find-file-match ntab) (semanticdb-get-buffer ntab)) ) @@ -1322,7 +1326,12 @@ Returns a table of all matching tags." "In TABLE, find all occurrences of tags of CLASS. Optional argument TAGS is a list of tags to search. Returns a table of all matching tags." - (semantic-find-tags-by-class class (or tags (semanticdb-get-tags table)))) + ;; Delegate 'include' to the overridable + ;; `semantic-find-tags-included', which by default will just call + ;; `semantic-find-tags-by-class'. + (if (eq class 'include) + (semantic-find-tags-included (or tags (semanticdb-get-tags table))) + (semantic-find-tags-by-class class (or tags (semanticdb-get-tags table))))) (defmethod semanticdb-find-tags-external-children-of-type-method ((table semanticdb-abstract-table) parent &optional tags) "In TABLE, find all occurrences of tags whose parent is the PARENT type. |