[mew-dist 24769] Re: mew 10 周年飲み会ログ
Shigeru Yasuda
yasuda at example.com
2004年 3月 24日 (水) 14:33:01 JST
In article <20040324.001722.70227507.momo at example.com>,
Yasunari Momoi <momo at example.com> wrote:
>> remote machineのMH folderが見たい
>> ange-ftpとかtrampとか使って...
ange-ftp や tramp じゃなくて UW-imap を使った方法ですが、欲しい人が
いそうなので、公開しておきます。
UW-imap では、"#mh/*" 配下に MH folder が見えるようになっていますが、
普通に LIST "" * すると、各ファイルを一つの folder とみなしてしまい、
まともにアクセスできません。そこで、3 Z で IMAP の LIST コマンドを
実行する際に、reference に任意の文字列を指定できるようにしてみました。
1: MH folder があるマシンで UW-imap を動かす。
2: この mail の最後につけた patch をあてる。
3: .mew 等で (setq mew-imap-list-reference "#mh/") とするか、
mew-config-alist の MH folder があるマシンにアクセスするための
case に ("imap-list-reference" . "#mh/") を追加する。
4: 3 Z
とすれば、/var/mail/$USER が %inbox に、MH folder が %#mh/ 配下に見え
るようになります。
普通の IMAP サーバにアクセスする場合は ("imap-list-reference" . nil)
としてください。
# 本当は NAMESPACE を使って "#mh/" が存在するかどうかをチェックすべき
# なのでしょうが、自分で使う分には不要なのでやってません。
Fcc でバックアップを MH folder に残せるし、個人的には全く問題なく
使えてます。
Index: mew-config.el
===================================================================
RCS file: /cvsmew/mew/mew-config.el,v
retrieving revision 1.71
diff -u -r1.71 mew-config.el
--- mew-config.el 22 Mar 2004 08:55:00 -0000 1.71
+++ mew-config.el 24 Mar 2004 05:18:35 -0000
@@ -345,6 +345,9 @@
(defun mew-imap-spam-word (&optional case)
(mew-cfent-value case "imap-spam-word" mew-imap-spam-word))
+(defun mew-imap-list-reference (&optional case)
+ (mew-cfent-value case "imap-list-reference" mew-imap-list-reference))
+
;;
(defun mew-proto (&optional case)
Index: mew-imap.el
===================================================================
RCS file: /cvsmew/mew/mew-imap.el,v
retrieving revision 1.213
diff -u -r1.213 mew-imap.el
--- mew-imap.el 11 Mar 2004 03:24:04 -0000 1.213
+++ mew-imap.el 24 Mar 2004 05:18:44 -0000
@@ -689,7 +689,11 @@
nil
(mew-imap-secure-p pnm))
(mew-imap-message pnm "Collecting mailbox list...")
- (mew-imap-process-send-string pro pnm "LIST \"\" *"))
+ (mew-imap-process-send-string pro pnm
+ (concat "LIST \""
+ (mew-imap-list-reference
+ (mew-imap-get-case pnm))
+ "\" *")))
(defun mew-imap-command-post-list (pro pnm)
(let* ((case (mew-imap-get-case pnm))
Index: mew-vars.el
===================================================================
RCS file: /cvsmew/mew/mew-vars.el,v
retrieving revision 1.227
diff -u -r1.227 mew-vars.el
--- mew-vars.el 9 Mar 2004 03:58:12 -0000 1.227
+++ mew-vars.el 24 Mar 2004 05:18:53 -0000
@@ -204,6 +204,11 @@
:group 'mew-imap
:type 'string)
+(defcustom mew-imap-list-reference nil
+ "*Reference passed to IMAP LIST command."
+ :group 'mew-imap
+ :type 'string)
+
;; must be here
(defvar mew-basic-folders
`(,mew-inbox-folder ,mew-draft-folder ,mew-queue-folder ,mew-postq-folder))
--
やすだ
Mew-dist メーリングリストの案内