[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 メーリングリストの案内