From 6888df47c64524c71dadf59693f9438227ec035e Mon Sep 17 00:00:00 2001 From: Jim Myhrberg Date: Sat, 1 Feb 2020 19:41:38 +0000 Subject: [PATCH] fix(editor): Improve reliability of undo history The undo history feature of undo-tree has been very unreliable lately, to the point it fails to load undo history for nearly every file. It seems the undohist package is a lot more reliable. --- core/siren-core-modules.el | 1 + modules/editor/siren-undo-tree.el | 9 ++++----- modules/editor/siren-undohist.el | 19 +++++++++++++++++++ 3 files changed, 24 insertions(+), 5 deletions(-) create mode 100644 modules/editor/siren-undohist.el diff --git a/core/siren-core-modules.el b/core/siren-core-modules.el index 668a4a7..99bb6b6 100644 --- a/core/siren-core-modules.el +++ b/core/siren-core-modules.el @@ -32,6 +32,7 @@ (require 'siren-rainbow) (require 'siren-smex) (require 'siren-undo-tree) +(require 'siren-undohist) ;; Help (require 'siren-helpful) diff --git a/modules/editor/siren-undo-tree.el b/modules/editor/siren-undo-tree.el index 174341d..279dd87 100644 --- a/modules/editor/siren-undo-tree.el +++ b/modules/editor/siren-undo-tree.el @@ -7,7 +7,9 @@ ;;; Code: (use-package undo-tree - :demand + :hook + (after-init . global-undo-tree-mode) + :bind ("C-x u" . undo-tree-visualize) ("M--" . undo-tree-undo) @@ -22,10 +24,7 @@ ;; autosave the undo-tree history (undo-tree-history-directory-alist `((".*" . ,(expand-file-name "undo-tree-history" siren-cache-dir)))) - (undo-tree-auto-save-history t) - - :config - (global-undo-tree-mode)) + (undo-tree-auto-save-history nil)) (provide 'siren-undo-tree) ;;; siren-undo-tree.el ends here diff --git a/modules/editor/siren-undohist.el b/modules/editor/siren-undohist.el new file mode 100644 index 0000000..35d185c --- /dev/null +++ b/modules/editor/siren-undohist.el @@ -0,0 +1,19 @@ +;;; siren-undohist.el --- jimeh's Emacs Siren: undohist configuration. + +;;; Commentary: + +;; Basic configuration for undohist. + +;;; Code: + +(use-package undohist + :demand + :custom + (undohist-directory (expand-file-name "undohist" siren-cache-dir)) + (undohist-ignored-files '("COMMIT_EDITMSG")) + + :config + (undohist-initialize)) + +(provide 'siren-undohist) +;;; siren-undohist.el ends here