Как заставить Emacs Gnus автоматически получать новые письма?

Я пытаюсь получить новые письма с помощью Gnus, но это не работает. Я попробовал следующие варианты в моем .emacs файл:

;(setq gnus-demon-timestep 10)
(gnus-demon-add-handler 'gnus-group-get-new-news 1 nil)
;(gnus-demon-add-handler 'gnus-demon-scan-mail 1 nil)
;(gnus-demon-add-handler 'gnus-demon-scan-news 1 nil)
(gnus-demon-init)

Я попытался добавить каждый из 3 обработчиков, и положить t вместо nil, но это не сработало. Если я нажму g или беги M-x gnus-group-get-new-news вручную Gnus получает новые письма. Я проверил gnus-demon-handlers и это действительно говорит: gnus-demon-handlers's value is ((gnus-group-get-new-news 1 nil)) но он не получает письма автоматически.

1 ответ

Решение

Попробуйте переместиться (gnus-demon-init) над остальными. Функции не существуют до тех пор, пока демон не будет инициализирован.

например

(add-hook 'gnus-startup-hook
  '(lambda ()
     (gnus-demon-init)
     (setq gnus-demon-timestep 60)  ;; each timestep is 60 seconds
     ;; Check for new mail every 1 timestep (1 minute)
     (gnus-demon-add-handler 'gnus-demon-scan-news 1 t)

     ;; Don't crash gnus if disconnected
     (defadvice gnus-demon-scan-news (around gnus-demon-timeout activate)
       "Timeout for Gnus."
       (with-timeout
       (120 (message "Gnus timed out."))
     ad-do-it))))
Другие вопросы по тегам