Use xref in cedet

* lisp/cedet/semantic/complete.el (semantic-complete-jump-local)
* lisp/cedet/semantic/analyze/refs.el
(semantic-analyze-proto-impl-toggle): Use xref to handle jumping
(bug#23793).

Copyright-paperwork-exempt: yes
This commit is contained in:
Bastian Beischer 2019-06-25 15:12:04 +02:00 committed by Lars Ingebrigtsen
parent 72963b4e82
commit e195bbd95a
4 changed files with 14 additions and 4 deletions

View file

@ -346,6 +346,8 @@ Only works for tags in the global namespace."
(if (semantic-tag-prototype-p tag) "implementation" "prototype")))
(push-mark)
(when (fboundp 'xref-push-marker-stack)
(xref-push-marker-stack))
(semantic-go-to-tag target)
(pop-to-buffer-same-window (current-buffer))
(semantic-momentary-highlight-tag target))

View file

@ -2100,6 +2100,8 @@ completion works."
(let ((tag (semantic-complete-read-tag-buffer-deep "Jump to symbol: ")))
(when (semantic-tag-p tag)
(push-mark)
(when (fboundp 'xref-push-marker-stack)
(xref-push-marker-stack))
(goto-char (semantic-tag-start tag))
(semantic-momentary-highlight-tag tag)
(message "%S: %s "
@ -2114,6 +2116,8 @@ completion works."
(let* ((tag (semantic-complete-read-tag-project "Jump to symbol: ")))
(when (semantic-tag-p tag)
(push-mark)
(when (fboundp 'xref-push-marker-stack)
(xref-push-marker-stack))
(semantic-go-to-tag tag)
(pop-to-buffer-same-window (current-buffer))
(semantic-momentary-highlight-tag tag)
@ -2133,6 +2137,8 @@ completion works."
(unless start
(error "Tag %s has no location" (semantic-format-tag-prototype tag)))
(push-mark)
(when (fboundp 'xref-push-marker-stack)
(xref-push-marker-stack))
(goto-char start)
(semantic-momentary-highlight-tag tag)
(message "%S: %s "

View file

@ -316,8 +316,8 @@ This helper manages the mark, buffer switching, and pulsing."
;; 1) Push the mark, so you can pop global mark back, or
;; use semantic-mru-bookmark mode to do so.
(push-mark)
(when (fboundp 'push-tag-mark)
(push-tag-mark))
(when (fboundp 'xref-push-marker-stack)
(xref-push-marker-stack))
;; 2) Visits the tag.
(semantic-go-to-tag dest)
;; 3) go-to-tag doesn't switch the buffer in the current window,
@ -385,8 +385,8 @@ origin of the code at point."
;; Push the mark, so you can pop global mark back, or
;; use semantic-mru-bookmark mode to do so.
(push-mark)
(when (fboundp 'push-tag-mark)
(push-tag-mark))
(when (fboundp 'xref-push-marker-stack)
(xref-push-marker-stack))
(semantic-decoration-include-visit)
)

View file

@ -526,6 +526,8 @@ Some tags such as includes have other reference features."
(if (not result)
(error "No up reference found")
(push-mark)
(when (fboundp 'xref-push-marker-stack)
(xref-push-marker-stack))
(cond
;; A tag
((semantic-tag-p result)