[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] externals/undo-tree 7fb46cb 183/195: Fix copy-undo-tree by forcin
From: |
Stefan Monnier |
Subject: |
[elpa] externals/undo-tree 7fb46cb 183/195: Fix copy-undo-tree by forcing vector rather than native defstruct. |
Date: |
Sat, 28 Nov 2020 13:41:49 -0500 (EST) |
branch: externals/undo-tree
commit 7fb46cb8e4804e4a4d1b540251d0e060fca1d759
Author: Toby S. Cubitt <toby-undo-tree@dr-qubit.org>
Commit: Toby S. Cubitt <toby-undo-tree@dr-qubit.org>
Fix copy-undo-tree by forcing vector rather than native defstruct.
Fixes broken undo-tree history saving in recent Emacsen that implement
native
defstruct types.
(Better solution would be to implement bespoke undo-tree copier, rather than
relying on copy-tree.)
---
undo-tree.el | 8 +++++++-
1 file changed, 7 insertions(+), 1 deletion(-)
diff --git a/undo-tree.el b/undo-tree.el
index defe1d2..bf5b5c1 100644
--- a/undo-tree.el
+++ b/undo-tree.el
@@ -1332,6 +1332,7 @@ in visualizer."
(defstruct
(undo-tree
:named
+ (:type vector) ; needed for `copy-undo-tree' implementation
(:constructor nil)
(:constructor make-undo-tree
(&aux
@@ -1344,7 +1345,12 @@ in visualizer."
root current size count object-pool)
(defun copy-undo-tree (tree)
- (copy-tree tree 'copy-vectors))
+ (unwind-protect
+ (progn
+ (undo-tree-decircle tree)
+ (copy-tree tree 'copy-vectors))
+ (undo-tree-recircle tree)))
+
(defstruct
- [elpa] externals/undo-tree 4cba00b 163/195: Fix one of the diagrams in the Commentary., (continued)
- [elpa] externals/undo-tree 4cba00b 163/195: Fix one of the diagrams in the Commentary., Stefan Monnier, 2020/11/28
- [elpa] externals/undo-tree 3a772b7 170/195: Bump copyright year and version number., Stefan Monnier, 2020/11/28
- [elpa] externals/undo-tree bf3a146 167/195: Disable undo-in-region by default., Stefan Monnier, 2020/11/28
- [elpa] externals/undo-tree eec9edd 168/195: Silence some unused variable compiler warnings., Stefan Monnier, 2020/11/28
- [elpa] externals/undo-tree 77c29a6 171/195: Factor out canary checking into undo-list-found-canary-p., Stefan Monnier, 2020/11/28
- [elpa] externals/undo-tree 4a72a1e 172/195: Change undo-list-pop-changeset to macro taking buffer-undo-list argument., Stefan Monnier, 2020/11/28
- [elpa] externals/undo-tree c39882f 177/195: Prevent misleading message about discarded undo history on first undo., Stefan Monnier, 2020/11/28
- [elpa] externals/undo-tree e6f31a0 179/195: Use custom undo-[strong-|outer]-limit values in undo-tree-mode., Stefan Monnier, 2020/11/28
- [elpa] externals/undo-tree 2ac4eac 181/195: Improve messages displayed to user when undo history is discarded., Stefan Monnier, 2020/11/28
- [elpa] externals/undo-tree 6a428ce 182/195: Bump copyright year in readiness for new release., Stefan Monnier, 2020/11/28
- [elpa] externals/undo-tree 7fb46cb 183/195: Fix copy-undo-tree by forcing vector rather than native defstruct.,
Stefan Monnier <=
- [elpa] externals/undo-tree 5011f91 186/195: Implement non-recursive undo-tree copier, to avoid hitting Elisp and c stack space limits., Stefan Monnier, 2020/11/28
- [elpa] externals/undo-tree 0161041 194/195: Fix argument order in gv setter definitions., Stefan Monnier, 2020/11/28
- [elpa] externals/undo-tree bf2e9ba 195/195: Print complete objects when saving undo-tree history, Stefan Monnier, 2020/11/28
- [elpa] externals/undo-tree 75b17c3 189/195: undo-outer-limit can also be null (no limit) in recent Emacsen., Stefan Monnier, 2020/11/28
- [elpa] externals/undo-tree 09641b2 188/195: Bump version number., Stefan Monnier, 2020/11/28
- [elpa] externals/undo-tree 1cc3a18 052/195: Minor documentation fix., Stefan Monnier, 2020/11/28
- [elpa] externals/undo-tree fbcb046 085/195: Implemented persistent storage of undo history., Stefan Monnier, 2020/11/28
- [elpa] externals/undo-tree 6824805 064/195: Merge branch 'undo-in-region', Stefan Monnier, 2020/11/28