When invoked with a prefix argument, 'package-install-selected-packages'
will not prompt the user for confirmation before installing packages.
+** Xref
+
+The commands that jump to some location use 'display-buffer' and specify
+the category 'xref-jump'. As a result you can customize how the
+destination window is chosen using 'display-buffer-alist'. Example:
+
+ (setq display-buffer-alist '(((category . xref)
+ (display-buffer-reuse-window
+ display-buffer-use-some-window)
+ (some-window . mru))))
+
\f
* New Modes and Packages in Emacs 31.1
;;;###autoload
(define-obsolete-function-alias 'xref-pop-marker-stack #'xref-go-back "29.1")
+(defun xref--switch-to-buffer (buf)
+ (pop-to-buffer buf '((display-buffer-same-window) (category . xref-jump))))
+
;;;###autoload
(defun xref-go-back ()
"Go back to the previous position in xref history.
(user-error "At start of xref history")
(let ((marker (pop (car history))))
(xref--push-forward (point-marker))
- (switch-to-buffer (or (marker-buffer marker)
- (user-error "The marked buffer has been deleted")))
+ (xref--switch-to-buffer (or (marker-buffer marker)
+ (user-error "The marked buffer has been deleted")))
(goto-char (marker-position marker))
(set-marker marker nil nil)
(run-hooks 'xref-after-return-hook)))))
(user-error "At end of xref history")
(let ((marker (pop (cdr history))))
(xref--push-backward (point-marker))
- (switch-to-buffer (or (marker-buffer marker)
- (user-error "The marked buffer has been deleted")))
+ (xref--switch-to-buffer (or (marker-buffer marker)
+ (user-error "The marked buffer has been deleted")))
(goto-char (marker-position marker))
(set-marker marker nil nil)
(run-hooks 'xref-after-return-hook)))))
(xref-location-marker (xref-item-location item))))
(buf (marker-buffer marker)))
(cl-ecase action
- ((nil) (switch-to-buffer buf))
+ ((nil) (xref--switch-to-buffer buf))
(window (pop-to-buffer buf t))
(frame (let ((pop-up-frames t)) (pop-to-buffer buf t))))
(xref--goto-char marker))
(or (not (window-dedicated-p xref--original-window))
(eq (window-buffer xref--original-window) buf)))
`((xref--display-buffer-in-window)
- (window . ,xref--original-window))))))
+ (category . xref-jump)
+ (window . ,xref--original-window)))
+ (t
+ '(nil (category . xref-jump))))))
(with-selected-window (display-buffer buf action)
(xref--goto-char pos)
(run-hooks 'xref-after-jump-hook)