Gnus (Emacsのメールクライアント)はディレクトリ~/Mail/
と~/News
を作成します。ホームフォルダを乱雑にしたくないのですが、このディレクトリを~/.emacs.d/mail/
や~/.emacs.d/news/
に変更するにはどうすればよいですか?
最初に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/
がまだ作成されているので、initファイルにnnfolder-directory
を設定する前にmessage-directory
が初期化されていると思います。
Resume:メールとニュースのディレクトリを変更するには、これを init file :に入れます。
(setq message-directory "~/.emacs.d/mail/")
(setq gnus-directory "~/.emacs.d/news/")
(setq nnfolder-directory "~/.emacs.d/mail/archive")
私は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)