aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDmitry Gutov2015-02-23 04:00:01 +0200
committerDmitry Gutov2015-02-23 04:00:01 +0200
commitf6bb2ccb9b4b3c50049512d2d0664b44fc7bcc70 (patch)
tree0446f47eb0ca9abc1053b76be9d0d13ae7f5ba45
parentc7cdc8ed5bd80a80e0660e953da1497996ba284d (diff)
downloademacs-f6bb2ccb9b4b3c50049512d2d0664b44fc7bcc70.tar.gz
emacs-f6bb2ccb9b4b3c50049512d2d0664b44fc7bcc70.zip
Introduce `xref-etags-mode'
Fixes: debbugs:19466 * lisp/progmodes/xref.el (xref-etags-mode--saved): New variable. (xref-etags-mode): New minor mode.
-rw-r--r--lisp/ChangeLog6
-rw-r--r--lisp/progmodes/xref.el23
2 files changed, 29 insertions, 0 deletions
diff --git a/lisp/ChangeLog b/lisp/ChangeLog
index b4c6d0be8ef..ced342baeb9 100644
--- a/lisp/ChangeLog
+++ b/lisp/ChangeLog
@@ -1,3 +1,9 @@
12015-02-23 Dmitry Gutov <dgutov@yandex.ru>
2
3 Introduce `xref-etags-mode'.
4 * progmodes/xref.el (xref-etags-mode--saved): New variable.
5 (xref-etags-mode): New minor mode. (Bug#19466)
6
12015-02-22 Lars Magne Ingebrigtsen <larsi@gnus.org> 72015-02-22 Lars Magne Ingebrigtsen <larsi@gnus.org>
2 8
3 * dom.el (dom-previous-sibling): New function. 9 * dom.el (dom-previous-sibling): New function.
diff --git a/lisp/progmodes/xref.el b/lisp/progmodes/xref.el
index 55405b63fe0..fe72b3f778c 100644
--- a/lisp/progmodes/xref.el
+++ b/lisp/progmodes/xref.el
@@ -628,6 +628,29 @@ The argument has the same meaning as in `apropos'."
628;;;###autoload (define-key ctl-x-5-map "." #'xref-find-definitions-other-frame) 628;;;###autoload (define-key ctl-x-5-map "." #'xref-find-definitions-other-frame)
629 629
630 630
631;;; Helper functions
632
633(defvar xref-etags-mode--saved nil)
634
635(define-minor-mode xref-etags-mode
636 "Minor mode to make xref use etags again.
637
638Certain major modes install their own mechanisms for listing
639identifiers and navigation. Turn this on to undo those settings
640and just use etags."
641 :lighter ""
642 (if xref-etags-mode
643 (progn
644 (setq xref-etags-mode--saved
645 (cons xref-find-function
646 xref-identifier-completion-table-function))
647 (kill-local-variable 'xref-find-function)
648 (kill-local-variable 'xref-identifier-completion-table-function))
649 (setq-local xref-find-function (car xref-etags-mode--saved))
650 (setq-local xref-identifier-completion-table-function
651 (cdr xref-etags-mode--saved))))
652
653
631(provide 'xref) 654(provide 'xref)
632 655
633;;; xref.el ends here 656;;; xref.el ends here