summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEli Zaretskii <eliz@gnu.org>2016-03-27 18:15:06 +0300
committerEli Zaretskii <eliz@gnu.org>2016-03-27 18:15:06 +0300
commitc8b868b1e2532aa07dbf4959798dbdc52ea9b5d5 (patch)
treefb9dadd72327a6b36c02faacc2da72e8f6088f44
parent278c8a7ef7baec2ffbfba211366ff3586a05f1e6 (diff)
Don't start the 'midnight' timer twice
* lisp/midnight.el (midnight-mode): Avoid starting the midnight timer twice when activating the mode the first time. (Bug#23123)
-rw-r--r--lisp/midnight.el8
1 files changed, 6 insertions, 2 deletions
diff --git a/lisp/midnight.el b/lisp/midnight.el
index 0e68eb923c..878c5a7f71 100644
--- a/lisp/midnight.el
+++ b/lisp/midnight.el
@@ -53,8 +53,12 @@ the time when it is run.")
"Non-nil means run `midnight-hook' at midnight."
:global t
:initialize #'custom-initialize-default
- (if midnight-mode (timer-activate midnight-timer)
- (cancel-timer midnight-timer)))
+ ;; Disable first, since the ':initialize' function above already
+ ;; starts the timer when the mode is turned on for the first time,
+ ;; via setting 'midnight-delay', which calls 'midnight-delay-set',
+ ;; which starts the timer.
+ (when (timerp midnight-timer) (cancel-timer midnight-timer))
+ (if midnight-mode (timer-activate midnight-timer)))
;;; time conversion