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

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

[elpa] externals/undo-tree 723eeeb 040/195: Improved undo-tree-visualize


From: Stefan Monnier
Subject: [elpa] externals/undo-tree 723eeeb 040/195: Improved undo-tree-visualizer-quit behaviour
Date: Sat, 28 Nov 2020 13:41:17 -0500 (EST)

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

    Improved undo-tree-visualizer-quit behaviour
    by making visualizer window soft-dedicated, and just using kill-buffer to
    remove it. That way the window is deleted along with the buffer if the
    visualizer buffer was displayed in a new window, but not if it was displayed
    in an existing window. (This is akin to the mechanism used for the
    *Completions* buffer).
---
 undo-tree.el | 16 ++++++++++++----
 1 file changed, 12 insertions(+), 4 deletions(-)

diff --git a/undo-tree.el b/undo-tree.el
index d5bc7c2..b8d3a94 100644
--- a/undo-tree.el
+++ b/undo-tree.el
@@ -2,10 +2,10 @@
 ;;; undo-tree.el --- Treat undo history as a tree
 
 
-;; Copyright (C) 2009 Toby Cubitt
+;; Copyright (C) 2009-2010 Toby Cubitt
 
 ;; Author: Toby Cubitt <toby-undo-tree@dr-qubit.org>
-;; Version: 0.1.4
+;; Version: 0.1.5
 ;; Keywords: undo, redo, history, tree
 ;; URL: http://www.dr-qubit.org/emacs.php
 
@@ -462,6 +462,13 @@
 
 ;;; Change Log:
 ;;
+;; Version 0.1.5
+;; * modified `undo-tree-visualize' to mark the visualizer window as
+;;   soft-dedicated and changed `undo-tree-visualizer-quit' to use
+;;   `kill-buffer', so that visualizer window is deleted along with buffer if
+;;   visualizer buffer was displayed in a new window, but not if it was
+;;   displayed in an existing window.
+;;
 ;; Version 0.1.4
 ;; * modified `undo-tree-undo' and `undo-tree-redo' to always replace
 ;;   redo/undo entries with new ones generated by `primitive-undo', as the new
@@ -1299,7 +1306,8 @@ using `undo-tree-redo'."
   (add-hook 'before-change-functions 'undo-tree-kill-visualizer nil t)
   ;; prepare *undo-tree* buffer, then draw tree in it
   (let ((undo-tree buffer-undo-tree)
-        (buff (current-buffer)))
+        (buff (current-buffer))
+       (display-buffer-mark-dedicated 'soft))
     (switch-to-buffer-other-window " *undo-tree*")
     (undo-tree-visualizer-mode)
     (setq undo-tree-visualizer-buffer buff)
@@ -1683,7 +1691,7 @@ using `undo-tree-redo' or `undo-tree-visualizer-redo'."
   ;; remove kill visualizer hook from parent buffer
   (with-current-buffer undo-tree-visualizer-buffer
     (remove-hook 'before-change-functions 'undo-tree-kill-visualizer t))
-  (kill-buffer-and-window))
+  (kill-buffer))
 
 
 (defun undo-tree-visualizer-set (pos)



reply via email to

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