- (defun wl-set-save-drafts ()
- (if (numberp wl-auto-save-drafts-interval)
- (progn
- (require 'timer)
- (if (get 'wl-save-drafts 'timer)
- (progn (timer-set-idle-time (get 'wl-save-drafts 'timer)
- wl-auto-save-drafts-interval t)
- (timer-activate-when-idle (get 'wl-save-drafts 'timer)))
- (put 'wl-save-drafts 'timer
- (run-with-idle-timer
- wl-auto-save-drafts-interval t 'wl-save-drafts))))
- (when (get 'wl-save-drafts 'timer)
- (cancel-timer (get 'wl-save-drafts 'timer)))))))
+ (defun wl-start-save-drafts ()
+ (when (numberp wl-auto-save-drafts-interval)
+ (require 'timer)
+ (if (get 'wl-save-drafts 'timer)
+ (progn
+ (timer-set-idle-time (get 'wl-save-drafts 'timer)
+ wl-auto-save-drafts-interval t)
+ (timer-activate-when-idle (get 'wl-save-drafts 'timer)))
+ (put 'wl-save-drafts 'timer
+ (run-with-idle-timer
+ wl-auto-save-drafts-interval t 'wl-auto-save-drafts)))))
+
+ (defun wl-stop-save-drafts ()
+ (when (get 'wl-save-drafts 'timer)
+ (cancel-timer (get 'wl-save-drafts 'timer))))))
+
+(defun wl-set-auto-save-draft (&optional arg)
+ (interactive "P")
+ (unless (setq wl-disable-auto-save
+ (cond
+ ((null arg) (not wl-disable-auto-save))
+ ((< (prefix-numeric-value arg) 0) t)
+ (t nil)))
+ (wl-start-save-drafts))
+ (when (interactive-p)
+ (message "Auto save is %s (in this buffer)"
+ (if wl-disable-auto-save "disabled" "enabled"))))