-(defcustom midnight-mode nil
- "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
- :initialize 'custom-initialize-default
- :set (lambda (symb val)
- (set symb val) (require 'midnight)
- (if val (timer-activate midnight-timer)
- (cancel-timer midnight-timer))))
+;;;###autoload
+(define-minor-mode midnight-mode
+ "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)))