Gnus: избавиться от папок ~ / Mail и ~ / News

1064
Mirzhan Irkegulov

Gnus (почтовый клиент Emacs) создает каталоги ~/Mail/и ~/News. Я не хочу загромождать свою домашнюю папку, как я могу изменить эти каталоги, скажем, ~/.emacs.d/mail/и ~/.emacs.d/news/?

5

3 ответа на вопрос

7
Mirzhan Irkegulov

Сначала я казнил apropos-value ~/Mail/. Это бросило мне много переменных, которые содержат эту строку в своих значениях. На моем Debian я установил пакет, emacs24-elчтобы отслеживать эти переменные в коде. Я побежал describe-variableпо переменной nnfolder-directory, значение которой было ~/Mail/. В пошел к коду и обнаружил, что он инициализируется так:

(defvoo nnfolder-directory (expand-file-name message-directory)) 

То же самое было с переменной nndraft-directory, содержащей значение ~/News/, которое на самом деле пришло из переменной gnus-directory. По какой-то причине каталог ~/Mail/archive/все еще создается, я думаю, что nnfolder-directoryон инициализируется, прежде чем я установил message-directoryв файле инициализации.

Резюме: чтобы изменить каталоги почты и новостей, поместите это в файл инициализации :

(setq message-directory "~/.emacs.d/mail/") (setq gnus-directory "~/.emacs.d/news/") (setq nnfolder-directory "~/.emacs.d/mail/archive") 
А как насчет каталога черновиков и отправленного каталога? incandescentman 8 лет назад 0
Спасибо за подсказку об `apropos-value` - я понятия не имел, что это можно сделать! unhammer 7 лет назад 0
2
memeplex

Я проследил проблему, наблюдаемую синдикатом (что по какой-то причине каталог ~/Mail/archive/все еще создается). Сначала я подумал, что в коде инициализации gnus действительно есть ошибка, о которой я сообщил здесь:

http://debbugs.gnu.org/cgi/bugreport.cgi?bug=18284

Но затем я понял, что message-directoryнастройка переопределяется предыдущим определением в моем файле newsrc. Таким образом, вам придется отредактировать ваш newsrc и удалить ошибочное определение, чтобы удалить все следы настроек по умолчанию.

0
notetienne

Хотя решение работает для большинства из этих переменных, я не смог установить черновой каталог, nndraft-directoryпоскольку он перезаписывается при вызове gnus(это единственное исключение). Это в основном потому, что nndraftсчитается бэкэндом и поэтому настраивается из nnoo-state-alistсписка. К сожалению, nnoo-state-alistнастраивается при загрузке и принимает начальное nndraft-directoryзначение.

Быстрое и грязное исправление - изменить значение списка:

(setq nndraft-directory "~/.emacs.d/mail/drafts/") (setcdr (assoc 'nndraft-directory (nnoo-variables 'nndraft)) nndraft-directory) 

Похожие вопросы