branch: elpa/evil commit dceb73603d397f7e42a541976d8ec0711248d38c Author: Konstantin Kharlamov <hi-an...@users.noreply.github.com> Commit: GitHub <nore...@github.com>
Do not try to switch file/buffer when jumping inside same file (#1506) The vast majority of jumps will end up within the current opened file/buffer, simply because usually users do more movement inside a buffer rather than across buffers. There is even a special case when evil-jumps-cross-buffers is set to nil, which causes jumps never ever switch buffers. So, let's do a small optimization, and not try to call find-file or switch-to-buffer if we know it is unnecessary. As a side-effect, this should also help to users to stumble less upon https://github.com/emacs-evil/evil/issues/1504 bug (it has its own upstream fix, but until that landed, this small optimization is known to help as well). --- evil-jumps.el | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/evil-jumps.el b/evil-jumps.el index a448ee8..55617e0 100644 --- a/evil-jumps.el +++ b/evil-jumps.el @@ -156,9 +156,10 @@ (pos (car place)) (file-name (cadr place))) (setq evil--jumps-jumping t) - (if (string-match-p evil--jumps-buffer-targets file-name) - (switch-to-buffer file-name) - (find-file file-name)) + (unless (string= current-file-name file-name) + (if (string-match-p evil--jumps-buffer-targets file-name) + (switch-to-buffer file-name) + (find-file file-name))) (setq evil--jumps-jumping nil) (goto-char pos) (setf (evil-jumps-struct-idx (evil--jumps-get-current)) idx)