branch: externals/hyperbole
commit c2bf47c15b913b51ddf03991f05e1fca73dd115c
Author: Mats Lidell <mats.lid...@lidells.se>
Commit: GitHub <nore...@github.com>
xref is used by etags since 26.1 so use it unconditionally (#432)
---
hmouse-tag.el | 63 +++++++++++++++++++++++++----------------------------------
1 file changed, 27 insertions(+), 36 deletions(-)
diff --git a/hmouse-tag.el b/hmouse-tag.el
index 00c54cc6bf..de1d0644ab 100644
--- a/hmouse-tag.el
+++ b/hmouse-tag.el
@@ -3,7 +3,7 @@
;; Author: Bob Weiner
;;
;; Orig-Date: 24-Aug-91
-;; Last-Mod: 5-Jan-24 at 14:02:46 by Bob Weiner
+;; Last-Mod: 5-Jan-24 at 23:01:12 by Mats Lidell
;;
;; SPDX-License-Identifier: GPL-3.0-or-later
;;
@@ -27,35 +27,32 @@
;; command.
(load "etags.elc" t nil t)))
-;; If etags utilizes the new xref.el library, define some helper
-;; functions to simplify programming and fix one existing function.
-(when (require 'xref nil t)
- ;; Fix next xref function to handle when called at beginning of buffer
- (defun xref--item-at-point ()
- (get-text-property
- (max (point-min) (if (eolp) (1- (point)) (point)))
- 'xref-item))
- (when (not (fboundp 'xref-definition))
- (defun xref-definitions (identifier)
- "Return a list of all definitions of string IDENTIFIER."
- (let* ((elisp-flag (smart-emacs-lisp-mode-p))
- (xref-backend (or (and elisp-flag
- (fboundp 'ert-test-boundp)
- (ert-test-boundp identifier)
- (boundp 'xref-etags-mode)
- 'etags)
- (xref-find-backend)))
- (xref-items (xref-backend-definitions xref-backend identifier)))
- xref-items))
- (defun xref-definition (identifier)
- "Return the first definition of string IDENTIFIER."
- (car (xref-definitions identifier)))
- (defun xref-item-buffer (item)
- "Return the buffer in which xref ITEM is defined."
- (marker-buffer (save-excursion (xref-location-marker (xref-item-location
item)))))
- (defun xref-item-position (item)
- "Return the buffer position where xref ITEM is defined."
- (marker-position (save-excursion (xref-location-marker
(xref-item-location item)))))))
+(require 'xref)
+;; Fix next xref function to handle when called at beginning of buffer
+(defun xref--item-at-point ()
+ (get-text-property
+ (max (point-min) (if (eolp) (1- (point)) (point)))
+ 'xref-item))
+(defun xref-definitions (identifier)
+ "Return a list of all definitions of string IDENTIFIER."
+ (let* ((elisp-flag (smart-emacs-lisp-mode-p))
+ (xref-backend (or (and elisp-flag
+ (fboundp 'ert-test-boundp)
+ (ert-test-boundp identifier)
+ (boundp 'xref-etags-mode)
+ 'etags)
+ (xref-find-backend)))
+ (xref-items (xref-backend-definitions xref-backend identifier)))
+ xref-items))
+(defun xref-definition (identifier)
+ "Return the first definition of string IDENTIFIER."
+ (car (xref-definitions identifier)))
+(defun xref-item-buffer (item)
+ "Return the buffer in which xref ITEM is defined."
+ (marker-buffer (save-excursion (xref-location-marker (xref-item-location
item)))))
+(defun xref-item-position (item)
+ "Return the buffer position where xref ITEM is defined."
+ (marker-position (save-excursion (xref-location-marker (xref-item-location
item)))))
;;; ************************************************************************
;;; Public declarations
@@ -90,12 +87,6 @@
(declare-function org-in-src-block-p "org")
(declare-function ibtype:def-symbol "hbut")
-;; Forward declare needed? Because of optional defined above? Can we
-;; skip checking if xref is available since it has been at least since
-;; 26.1 or even earlier? Then we should not need these declares.
-(declare-function xref-item-position "hmouse-tag")
-(declare-function xref-item-buffer "hmouse-tag")
-
;;; ************************************************************************
;;; Public variables
;;; ************************************************************************