emacs-elpa-diffs
[Top][All Lists]
Advanced

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

[nongnu] elpa/better-jumper 7ae4011103 31/48: Don't add redundant evil j


From: ELPA Syncer
Subject: [nongnu] elpa/better-jumper 7ae4011103 31/48: Don't add redundant evil jumps. Fixes #5
Date: Sun, 9 Jan 2022 22:58:10 -0500 (EST)

branch: elpa/better-jumper
commit 7ae401110346e1d744c298058f09ab362d4b2b9e
Author: Bryan Gilbert <gilbertw1@gmail.com>
Commit: Bryan Gilbert <gilbertw1@gmail.com>

    Don't add redundant evil jumps. Fixes #5
---
 better-jumper.el | 18 ++++++++++++++++--
 1 file changed, 16 insertions(+), 2 deletions(-)

diff --git a/better-jumper.el b/better-jumper.el
index 3aa7f7401c..a752b1c899 100644
--- a/better-jumper.el
+++ b/better-jumper.el
@@ -126,6 +126,9 @@
 (defvar better-jumper-savehist nil
   "History of `better-jumper' jumps that are persisted with `savehist'.")
 
+(defvar better-jump--last-jump-pos nil
+  "Keep track of the end location of the last jump.")
+
 (defvar-local better-jumper--jump-struct nil
   "Jump struct for current buffer.")
 
@@ -290,12 +293,13 @@ Uses current context if CONTEXT is nil."
           (if (string-match-p better-jumper--buffer-targets file-name)
               (switch-to-buffer file-name)
             (find-file file-name))
-          (setq better-jumper--jumping nil)
           (if (and marker (marker-position marker))
               (goto-char marker)
             (goto-char pos)
             (puthash marker-key (point-marker) marker-table))
           (setf (better-jumper-jump-list-struct-idx (better-jumper--get-struct 
context)) idx)
+          (setq better-jump--last-jump-pos (point))
+          (setq better-jumper--jumping nil)
           (run-hooks 'better-jumper-post-jump-hook))))))
 
 (defun better-jumper--push (&optional context)
@@ -382,6 +386,14 @@ If COUNT is nil then defaults to 1."
           (better-jumper--push))
         (better-jumper--jump idx (- 0 count))))
 
+;;;###autoload
+(defun better-jumper-jump-newest ()
+  "Jump forward to newest entry in jump list."
+  (interactive)
+  (let (struct (better-jumper--get-struct))
+    (setf (better-jumper-jump-list-struct-idx struct) 0)
+    (better-jumper--jump 0 0)))
+
 ;;;###autoload
 (defun better-jumper-get-jumps (window-or-buffer)
   "Get jumps for WINDOW-OR-BUFFER.
@@ -493,7 +505,9 @@ Cleans up deleted windows and copies history to newly 
created windows."
 
 (with-eval-after-load 'evil
   (defadvice evil-set-jump (before better-jumper activate)
-    (when (and better-jumper-local-mode better-jumper-use-evil-jump-advice)
+    (when (and better-jumper-local-mode
+               better-jumper-use-evil-jump-advice
+               (not (equal better-jump--last-jump-pos (point))))
       (better-jumper-set-jump))))
 
 (push '(better-jumper-struct . writable) window-persistent-parameters)



reply via email to

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