1
0
Fork 0

Check that timer is not already running

persist-state--enable is called every time the minor mode is enabled,
without checking for the timer's existence. This causes multiple
timers to be created, so multiple save actions.
This commit is contained in:
Bram Schoenmakers 2023-05-17 16:27:49 +02:00
parent 070dac4240
commit f8b42418db

View file

@ -109,10 +109,12 @@ is added as-is, otherwise it's wrapped in a lambda performing an
(interactive)
(persist-state--enable-packages)
(setq persist-state--save-state-timer
(persist-state--regularly-run-on-idle persist-state-save-interval
persist-state-wait-idle
#'persist-state--save-state)))
;; only start the timer once
(when (null (timerp persist-state--save-state-timer))
(setq persist-state--save-state-timer
(persist-state--regularly-run-on-idle persist-state-save-interval
persist-state-wait-idle
#'persist-state--save-state))))
(defun persist-state--disable ()
"Stop saving the Emacs state."