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

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

[elpa] externals/undo-tree 95599db 100/195: Fixed bug in visualizer sele


From: Stefan Monnier
Subject: [elpa] externals/undo-tree 95599db 100/195: Fixed bug in visualizer selection mode when timestamps are displayed.
Date: Sat, 28 Nov 2020 13:41:30 -0500 (EST)

branch: externals/undo-tree
commit 95599db50b19d3e083972e881765f98ef61f4027
Author: Toby S. Cubitt <toby-undo-tree@dr-qubit.org>
Commit: Toby S. Cubitt <toby-undo-tree@dr-qubit.org>

    Fixed bug in visualizer selection mode when timestamps are displayed.
---
 undo-tree.el | 23 +++++++++++++++--------
 1 file changed, 15 insertions(+), 8 deletions(-)

diff --git a/undo-tree.el b/undo-tree.el
index ad2a1a6..04ea10c 100644
--- a/undo-tree.el
+++ b/undo-tree.el
@@ -637,6 +637,9 @@
 ;;   `undo-tree-undo-1' and `undo-tree-redo-1' functions, which now take an
 ;;   additional optional argument to preserve timestamps
 ;; * preserve timestamps when generating diff for visualizer diff view
+;; * fixed bug in `undo-tree-visualizer-select-left' and
+;;   `undo-tree-visualizer-select-right' when using selection mode whilst
+;;   timestamps are displayed
 ;;
 ;; Version 0.4
 ;; * implemented persistent history storage: `undo-tree-save-history' and
@@ -3557,16 +3560,18 @@ at mouse event POS."
   (interactive "p")
   (let ((pos (point))
        (end (line-end-position))
+       (current (get-text-property (point) 'undo-tree-node))
        node)
     (catch 'end
       (dotimes (i arg)
-       (while (not node)
+       (while (or (null node) (eq node current))
          (forward-char)
          (setq node (get-text-property (point) 'undo-tree-node))
          (when (= (point) end) (throw 'end t)))))
-    (goto-char (if node (undo-tree-node-marker node) pos))
-    (when (and undo-tree-visualizer-diff node)
-      (undo-tree-visualizer-update-diff node))))
+    (unless (eq node current)
+      (goto-char (if node (undo-tree-node-marker node) pos))
+      (when (and undo-tree-visualizer-diff node)
+       (undo-tree-visualizer-update-diff node)))))
 
 
 (defun undo-tree-visualizer-select-left (&optional arg)
@@ -3574,16 +3579,18 @@ at mouse event POS."
   (interactive "p")
   (let ((pos (point))
        (beg (line-beginning-position))
+       (current (get-text-property (point) 'undo-tree-node))
        node)
     (catch 'beg
       (dotimes (i arg)
-       (while (not node)
+       (while (or (null node) (eq node current))
          (backward-char)
          (setq node (get-text-property (point) 'undo-tree-node))
          (when (= (point) beg) (throw 'beg t)))))
-    (goto-char (if node (undo-tree-node-marker node) pos))
-    (when (and undo-tree-visualizer-diff node)
-      (undo-tree-visualizer-update-diff node))))
+    (unless (eq node current)
+      (goto-char (if node (undo-tree-node-marker node) pos))
+      (when (and undo-tree-visualizer-diff node)
+       (undo-tree-visualizer-update-diff node)))))
 
 
 



reply via email to

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