[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Generalizing find-definition

From: Dmitry Gutov
Subject: Re: Generalizing find-definition
Date: Mon, 29 Dec 2014 00:21:38 +0200
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:33.0) Gecko/20100101 Thunderbird/33.0

On 12/26/2014 05:50 AM, Stefan Monnier wrote:

Obsoleting them sounds right,

How about this? Maybe install this early and then collect complaints if the new system is not up to par.

diff --git a/etc/NEWS b/etc/NEWS
index 14933aa..306e840 100644
--- a/etc/NEWS
+++ b/etc/NEWS
@@ -453,6 +453,11 @@ easier binding, which is now unoccupied (`M-,').
 alias for a private variable.  `xref-push-marker-stack' and
 `xref-pop-marker-stack' should be used to mutate it instead.

+** etags
+As a result of the above, these commands are now obsolete:
+`find-tag-other-window', `find-tag-other-frame', `find-tag-regexp',
+`tags-apropos' and `tags-loop-continue'.
 ** Obsolete packages

diff --git a/lisp/menu-bar.el b/lisp/menu-bar.el
index 8f33641..9eedc0a 100644
--- a/lisp/menu-bar.el
+++ b/lisp/menu-bar.el
@@ -379,29 +379,18 @@

     (bindings--define-key menu [apropos-tags]
-      '(menu-item "Tags Apropos..." tags-apropos
+      '(menu-item "Find Apropos..." xref-find-apropos
:help "Find function/variables whose names match regexp"))
-    (bindings--define-key menu [next-tag-otherw]
-      '(menu-item "Next Tag in Other Window"
-                  menu-bar-next-tag-other-window
-                  :enable (and (boundp 'tags-location-ring)
-                               (not (ring-empty-p tags-location-ring)))
- :help "Find next function/variable matching last tag name in another window"))
-    (bindings--define-key menu [next-tag]
-      '(menu-item "Find Next Tag"
-                  menu-bar-next-tag
-                  :enable (and (boundp 'tags-location-ring)
-                               (not (ring-empty-p tags-location-ring)))
- :help "Find next function/variable matching last tag name"))
-    (bindings--define-key menu [find-tag-otherw]
-      '(menu-item "Find Tag in Other Window..." find-tag-other-window
- :help "Find function/variable definition in another window"))
-    (bindings--define-key menu [find-tag]
-      '(menu-item "Find Tag..." find-tag
-                  :help "Find definition of function or variable"))
-    (bindings--define-key menu [separator-tags]
+    (bindings--define-key menu [xref-find-otherw]
+      '(menu-item "Find Definition in Other Window..."
+                  xref-find-definitions-other-window
+ :help "Find function/variable definitions in another window"))
+    (bindings--define-key menu [xref-find-def]
+      '(menu-item "Find Definition..." xref-find-definitions
+                  :help "Find definitions of function or variable"))
+    (bindings--define-key menu [separator-xref]

     (bindings--define-key menu [end-of-buf]
diff --git a/lisp/progmodes/etags.el b/lisp/progmodes/etags.el
index 0be9979..f9e037b 100644
--- a/lisp/progmodes/etags.el
+++ b/lisp/progmodes/etags.el
@@ -995,6 +995,9 @@ See documentation of variable `tags-file-name'."
                        (set-window-point (selected-window) tagpoint))

+(make-obsolete 'find-tag-other-window
+               'xref-find-definitions-other-window "25.1")
 (defun find-tag-other-frame (tagname &optional next-p)
   "Find tag (in current tags table) whose name contains TAGNAME.
@@ -1019,6 +1022,9 @@ See documentation of variable `tags-file-name'."
   (let ((pop-up-frames t))
     (find-tag-other-window tagname next-p)))

+(make-obsolete 'find-tag-other-frame
+               'xref-find-definitions-other-frame "25.1")
 (defun find-tag-regexp (regexp &optional next-p other-window)
   "Find tag (in current tags table) whose name matches REGEXP.
@@ -1042,6 +1048,8 @@ See documentation of variable `tags-file-name'."
   (funcall (if other-window 'find-tag-other-window 'find-tag)
           regexp next-p t))

+(make-obsolete 'find-tag-regexp 'xref-find-apropos "25.1")
 (defalias 'pop-tag-mark 'xref-pop-marker-stack)

@@ -1842,6 +1850,10 @@ nil, we exit; otherwise we scan the next file."
         (null tags-loop-operate)
         (message "Scanning file %s...found" buffer-file-name))))

+(make-obsolete 'tags-loop-continue
+               "use `xref-find-definitions' interface instead."
+               "25.1")
 (defun tags-search (regexp &optional file-list-form)
   "Search through all files listed in tags table for match for REGEXP.
@@ -1946,6 +1958,9 @@ directory specification."
     ;; apropos-mode is derived from fundamental-mode and it kills
     ;; all local variables.
     (setq buffer-read-only t)))
+(make-obsolete 'tags-apropos 'xref-find-apropos "25.1")
 ;; XXX Kludge interface.

reply via email to

[Prev in Thread] Current Thread [Next in Thread]