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

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

[elpa] externals/undo-tree 30dc485 013/195: Clear visualizer data when q


From: Stefan Monnier
Subject: [elpa] externals/undo-tree 30dc485 013/195: Clear visualizer data when quitting visualizer.
Date: Sat, 28 Nov 2020 13:41:11 -0500 (EST)

branch: externals/undo-tree
commit 30dc4853cacc148955f5e50aaef6b3996168eaf9
Author: tsc25 <tsc25@cantab.net>
Commit: tsc25 <tsc25@cantab.net>

    Clear visualizer data when quitting visualizer.
---
 undo-tree.el | 30 +++++++++++++++++++++++-------
 1 file changed, 23 insertions(+), 7 deletions(-)

diff --git a/undo-tree.el b/undo-tree.el
index 39e314b..9feace5 100644
--- a/undo-tree.el
+++ b/undo-tree.el
@@ -101,9 +101,9 @@ in visualizer.")
     'undo-tree-visualize-switch-previous-branch)
   ;; quit visualizer
   (define-key undo-tree-visualizer-map "q"
-    'kill-buffer-and-window)
+    'undo-tree-visualizer-quit)
   (define-key undo-tree-visualizer-map "\C-q"
-    'kill-buffer-and-window))
+    'undo-tree-visualizer-quit))
 
 
 
@@ -292,16 +292,16 @@ part of `buffer-undo-tree'."
 
 
 
-(defun undo-tree-clear-visualizer (undo-tree)
+(defun undo-tree-clear-visualizer-data (undo-tree)
   ;; Clear visualizer data from UNDO-TREE.
-  (undo-tree-node-clear-visualizer (undo-tree-root undo-tree)))
+  (undo-tree-node-clear-visualizer-data (undo-tree-root undo-tree)))
 
 
-(defun undo-tree-node-clear-visualizer (node)
+(defun undo-tree-node-clear-visualizer-data (node)
   ;; Recursively clear visualizer data from NODE and descendents.
   (setf (undo-tree-node-visualizer node) nil)
   (dolist (n (undo-tree-node-next node))
-    (undo-tree-node-clear-visualizer n)))
+    (undo-tree-node-clear-visualizer-data n)))
 
 
 
@@ -357,10 +357,19 @@ Undo-tree-mode replaces Emacs' standard undo feature with 
a more
 powerful yet easier to use version, that treats the undo history
 as what it is: a tree."
   nil             ; init value
-  " undo-tree"    ; lighter
+  ""              ; lighter
   undo-tree-map)  ; keymap
 
 
+(defun turn-on-undo-tree-mode ()
+  "Enable undo-tree-mode."
+  (undo-tree-mode 1))
+
+
+(define-globalized-minor-mode global-undo-tree-mode
+  undo-tree-mode turn-on-undo-tree-mode)
+
+
 
 (defun undo-tree-undo (&optional arg)
   "Undo changes. A numeric ARG serves as a repeat count."
@@ -714,3 +723,10 @@ This will affect which branch to descend when *redoing* 
changes
 using `undo-tree-redo' or `undo-tree-visualizer-redo'."
   (interactive "p")
   (undo-tree-visualize-switch-next-branch (- arg)))
+
+
+(defun undo-tree-visualizer-quit ()
+  "Quit the undo-tree visualizer."
+  (interactive)
+  (undo-tree-clear-visualizer-data buffer-undo-tree)
+  (kill-buffer-and-window))



reply via email to

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