Gnus(Emacs的邮件客户端)创建目录~/Mail/
和~/News
。我不想弄乱我的主文件夹,我怎么能改变这个目录,比方说,~/.emacs.d/mail/
和~/.emacs.d/news/
?
Gnus(Emacs的邮件客户端)创建目录~/Mail/
和~/News
。我不想弄乱我的主文件夹,我怎么能改变这个目录,比方说,~/.emacs.d/mail/
和~/.emacs.d/news/
?
Answers:
首先我执行apropos-value ~/Mail/
。它向我扔了许多变量,它们的值包含这个字符串。在我的Debian i安装包上,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
在init文件中设置之前已经初始化了。
简历:要更改您的邮件和新闻目录,请将其放入init文件中:
(setq message-directory "~/.emacs.d/mail/")
(setq gnus-directory "~/.emacs.d/news/")
(setq nnfolder-directory "~/.emacs.d/mail/archive")
apropos-value
- 我不知道有人能做到这一点!
我已经跟踪了sindikat观察到的问题(由于某种原因,目录~/Mail/archive/
仍然被创建)。起初我以为gnus初始化代码中确实存在一个错误,我在这里报告过:
http://debbugs.gnu.org/cgi/bugreport.cgi?bug=18284
但后来我意识到message-directory
设置被我的newsrc文件中的先前定义覆盖了。因此,您必须编辑newsrc并删除有问题的定义,以便删除默认设置的每个跟踪。
虽然该解决方案适用于大多数变量,但我无法设置草稿目录,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)