]> git.eshelyaron.com Git - emacs.git/commitdiff
(midnight-mode): New variable.
authorRichard M. Stallman <rms@gnu.org>
Mon, 15 Jun 1998 22:11:48 +0000 (22:11 +0000)
committerRichard M. Stallman <rms@gnu.org>
Mon, 15 Jun 1998 22:11:48 +0000 (22:11 +0000)
(midnight-timer-function): New function.
(midnight-delay-set): Make the timer run midnight-timer-function.

lisp/midnight.el

index 6f85ca3f180803336cf7344088d76e6bc9e74f77..ec5db1fd0d9507dbe1dd7d109cc52e5887a0eb18 100644 (file)
   "Run something every day at midnight."
   :group 'calendar)
 
+(defcustom midnight-mode t
+  "*Non-nil means run `midnight-hook' at midnight.
+Setting this variable outside customize has no effect;
+call `cancel-timer' or `timer-activate' on `midnight-timer' instead."
+  :type 'boolean
+  :group 'midnight
+  :require 'midnight
+  :version "20.3"
+  :set (lambda (symb val)
+         (set symb val) (require 'midnight)
+         (if val (timer-activate midnight-timer)
+             (cancel-timer midnight-timer))))
+
 ;;; time conversion
 
 (defun float-time (&optional tm)
@@ -209,7 +222,12 @@ to its second argument."
   (when (timerp midnight-timer) (cancel-timer midnight-timer))
   (setq midnight-timer
         (run-at-time (if (numberp tm) (+ (midnight-next) tm) tm)
-                     midnight-period 'run-hooks 'midnight-hook)))
+                     midnight-period 'midnight-timer-function)))
+
+(defun midnight-timer-function ()
+  "This is the function run by the `midnight-mode' timer once each day."
+  (when midnight-mode
+    (run-hooks 'midnight-hook)))
 
 (defcustom midnight-delay 3600
   "*The number of seconds after the midnight when the `midnight-timer' is run.