branch: externals/vertico
commit 15fe9b2556d06f6ff7d5d98a520cbbdb36bdf411
Author: Daniel Mendler <[email protected]>
Commit: Daniel Mendler <[email protected]>
Automatically save vertico-repeat-history
---
CHANGELOG.org | 3 +++
extensions/vertico-repeat.el | 7 +++++--
2 files changed, 8 insertions(+), 2 deletions(-)
diff --git a/CHANGELOG.org b/CHANGELOG.org
index c0e06d9240..6d2f0a40f7 100644
--- a/CHANGELOG.org
+++ b/CHANGELOG.org
@@ -9,6 +9,9 @@
- =vertico-sort-history-duplicate= and =vertico-sort-history-decay=: New
customization options to adjust the rank of duplicate history elements, such
that they appear earlier in the completion list.
+- =vertico-repeat=: Ensure that the =vertico-repeat-history= is saved if
+ =savehist-mode= is enabled. Automatically add =vertico-repeat-history= to
+ =savehist-minibuffer-history-variables=.
* Version 2.0 (2025-03-11)
diff --git a/extensions/vertico-repeat.el b/extensions/vertico-repeat.el
index 308ed3c734..6dc44bf5b9 100644
--- a/extensions/vertico-repeat.el
+++ b/extensions/vertico-repeat.el
@@ -35,8 +35,7 @@
;;
;; It is necessary to register a minibuffer setup hook, which saves
;; the Vertico state for repetition. In order to save the history
-;; across Emacs sessions, enable `savehist-mode' and add
-;; `vertico-repeat-history' to `savehist-additional-variables'.
+;; across Emacs sessions, enable `savehist-mode'.
;;
;; (keymap-global-set "M-R" #'vertico-repeat)
;; (keymap-set vertico-map "M-P" #'vertico-repeat-previous)
@@ -110,6 +109,10 @@
(transform vertico-repeat-transformers))
(while (and transform (setq session (funcall (pop transform) session))))
(when session
+ (unless (or (not (bound-and-true-p savehist-mode))
+ (memq 'vertico-repeat-history (bound-and-true-p
savehist-ignored-variables)))
+ (defvar savehist-minibuffer-history-variables)
+ (add-to-list 'savehist-minibuffer-history-variables
'vertico-repeat-history))
(add-to-history 'vertico-repeat-history session))))
(defun vertico-repeat--restore (session)