Use 'revert-function' in *xref* buffer
* lisp/progmodes/xref.el (xref--xref-buffer-mode-map): Cease binding 'g' to 'xref-revert-buffer'. (xref--xref-buffer-mode): Set 'revert-buffer-function' to... (xref--revert-buffer): ...this. New function, renamed from... (xref-revert-buffer): ...this. Make it an alias of 'revert-buffer'. * etc/NEWS: Announce it. * doc/emacs/maintaining.texi (Xref Commands): Update docs.
This commit is contained in:
parent
860840621a
commit
82125b1a66
3 changed files with 17 additions and 13 deletions
|
@ -2466,10 +2466,10 @@ the match with @var{replacement}. This command can only be used in
|
||||||
@file{*xref*} buffers that show all the matches for an identifier in
|
@file{*xref*} buffers that show all the matches for an identifier in
|
||||||
all the relevant files. @xref{Identifier Search}.
|
all the relevant files. @xref{Identifier Search}.
|
||||||
|
|
||||||
|
@cindex revert-buffer, in @file{*xref*} buffers
|
||||||
@item g
|
@item g
|
||||||
@findex xref-revert-buffer
|
Refresh the contents of the @file{*xref*} buffer (@code{revert-buffer}).
|
||||||
Refresh the contents of the @file{*xref*} buffer
|
@xref{Reverting}.
|
||||||
(@code{xref-revert-buffer}).
|
|
||||||
|
|
||||||
@item M-,
|
@item M-,
|
||||||
@findex xref-quit-and-pop-marker-stack
|
@findex xref-quit-and-pop-marker-stack
|
||||||
|
|
7
etc/NEWS
7
etc/NEWS
|
@ -1916,6 +1916,13 @@ the 'widget-inactive' face).
|
||||||
If non-nil, moving point forward or backward between widgets by typing
|
If non-nil, moving point forward or backward between widgets by typing
|
||||||
'TAB' or 'S-TAB' skips over inactive widgets. The default value is nil.
|
'TAB' or 'S-TAB' skips over inactive widgets. The default value is nil.
|
||||||
|
|
||||||
|
** Xref
|
||||||
|
|
||||||
|
*** 'xref-revert-buffer' is now an alias of 'revert-buffer'.
|
||||||
|
The Xref buffer now sets up 'revert-buffer-function' such that
|
||||||
|
'revert-buffer' behaves like 'xref-revert-buffer' did in previous Emacs
|
||||||
|
versions, and the latter is now an alias of the former.
|
||||||
|
|
||||||
** Ruby mode
|
** Ruby mode
|
||||||
|
|
||||||
*** New user option 'ruby-rubocop-use-bundler'.
|
*** New user option 'ruby-rubocop-use-bundler'.
|
||||||
|
|
|
@ -993,7 +993,6 @@ point."
|
||||||
;; suggested by Johan Claesson "to further reduce finger movement":
|
;; suggested by Johan Claesson "to further reduce finger movement":
|
||||||
(define-key map (kbd ".") #'xref-next-line)
|
(define-key map (kbd ".") #'xref-next-line)
|
||||||
(define-key map (kbd ",") #'xref-prev-line)
|
(define-key map (kbd ",") #'xref-prev-line)
|
||||||
(define-key map (kbd "g") #'xref-revert-buffer)
|
|
||||||
(define-key map (kbd "M-,") #'xref-quit-and-pop-marker-stack)
|
(define-key map (kbd "M-,") #'xref-quit-and-pop-marker-stack)
|
||||||
map))
|
map))
|
||||||
|
|
||||||
|
@ -1011,6 +1010,7 @@ point."
|
||||||
#'xref--imenu-extract-index-name)
|
#'xref--imenu-extract-index-name)
|
||||||
(setq-local add-log-current-defun-function
|
(setq-local add-log-current-defun-function
|
||||||
#'xref--add-log-current-defun)
|
#'xref--add-log-current-defun)
|
||||||
|
(setq-local revert-buffer-function #'xref--revert-buffer)
|
||||||
(setq-local outline-minor-mode-cycle t)
|
(setq-local outline-minor-mode-cycle t)
|
||||||
(setq-local outline-minor-mode-use-buttons 'insert)
|
(setq-local outline-minor-mode-use-buttons 'insert)
|
||||||
(setq-local outline-search-function
|
(setq-local outline-search-function
|
||||||
|
@ -1273,22 +1273,16 @@ Return an alist of the form ((GROUP . (XREF ...)) ...)."
|
||||||
xref--original-window-intent (assoc-default 'display-action alist))
|
xref--original-window-intent (assoc-default 'display-action alist))
|
||||||
(setq xref--fetcher fetcher)))
|
(setq xref--fetcher fetcher)))
|
||||||
|
|
||||||
(defun xref-revert-buffer ()
|
(defun xref--revert-buffer (&rest _) ; Ignore `revert-buffer' args.
|
||||||
"Refresh the search results in the current buffer."
|
"Refresh the search results in the current buffer."
|
||||||
(interactive)
|
|
||||||
(let ((inhibit-read-only t)
|
(let ((inhibit-read-only t)
|
||||||
(buffer-undo-list t)
|
(buffer-undo-list t))
|
||||||
restore-functions)
|
|
||||||
(when (boundp 'revert-buffer-restore-functions)
|
|
||||||
(run-hook-wrapped 'revert-buffer-restore-functions
|
|
||||||
(lambda (f) (push (funcall f) restore-functions) nil)))
|
|
||||||
(save-excursion
|
(save-excursion
|
||||||
(condition-case err
|
(condition-case err
|
||||||
(let ((alist (xref--analyze (funcall xref--fetcher)))
|
(let ((alist (xref--analyze (funcall xref--fetcher)))
|
||||||
(inhibit-modification-hooks t))
|
(inhibit-modification-hooks t))
|
||||||
(erase-buffer)
|
(erase-buffer)
|
||||||
(prog1 (xref--insert-xrefs alist)
|
(xref--insert-xrefs alist))
|
||||||
(mapc #'funcall (delq nil restore-functions))))
|
|
||||||
(user-error
|
(user-error
|
||||||
(erase-buffer)
|
(erase-buffer)
|
||||||
(insert
|
(insert
|
||||||
|
@ -1296,6 +1290,9 @@ Return an alist of the form ((GROUP . (XREF ...)) ...)."
|
||||||
(error-message-string err)
|
(error-message-string err)
|
||||||
'face 'error)))))))
|
'face 'error)))))))
|
||||||
|
|
||||||
|
;;; FIXME: Make this alias obsolete in future release.
|
||||||
|
(defalias 'xref-revert-buffer #'revert-buffer)
|
||||||
|
|
||||||
(defun xref--auto-jump-first (buf value)
|
(defun xref--auto-jump-first (buf value)
|
||||||
(when value
|
(when value
|
||||||
(select-window (get-buffer-window buf))
|
(select-window (get-buffer-window buf))
|
||||||
|
|
Loading…
Add table
Reference in a new issue