Как заставить 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))))