[mew-dist 28853] Re: mew-config-alist による refile-guess-alist の切り替え
Hideyuki SHIRAI
shirai at example.com
2009年 1月 22日 (木) 14:44:17 JST
From: KOIE Hidetaka (鯉江英隆) <hide at example.com> さん曰く
Subject: [mew-dist 28841] Re: mew-config-alist による refile-guess-alist の切り替え
Message-ID: <20090121.101842.1084275951035934745.hide at example.com>
Date: Wed, 21 Jan 2009 10:18:42 +0900 (JST)
> | これで "a-mail" に設定した refile-guess-alist は利用できましたが、case
> | を "b-mail" に切り替えても、"b-mail" に設定した refile-guess-alist を
> | 利用できません("a-mail" の refile-guess-alist を使っている)。
鈴木さんはローカルフォルダのメッセージをリフィールしようとしてい
るのですよね?
鯉江さんの
> どうもmew-refile-guess-alist()が呼ばれるときに
> 引数のcaseがnilになっているのが問題のようなのですが、
> 直し方はわかりません。
の部分を見てみたのですが、
(defun mew-summary-refile-body (&optional exp-flds auto no-msg no-mark exfld)
(let ((pos (point))
fld msg folders cur-folders mark
buf learn-info tmp delbuf invalidp folders-str
mew-inherit-refile-proto mew-inherit-refile-case)
(mew-summary-goto-message)
(when (mew-sumsyn-match mew-regex-sumsyn-short)
(setq fld (mew-sumsyn-folder-name))
(setq msg (mew-sumsyn-message-number)) ;; msg is never nil
(setq invalidp (not (mew-msg-validp msg))))
(setq mew-inherit-refile-case (mew-case:folder-case fld))
(setq mew-inherit-refile-proto (substring (mew-case:folder-folder fld) 0 1))
となっていて、ここで、正しい(?) case を求められるのは、ローカル
フォルダ以外 かつ リモートフォルダで mew-case-default 以外の
case のもの、だと思います。
以下のパッチで OK かな?
--
白井秀行 (mailto:shirai at example.com)
--- mew-refile.el 21 Jan 2009 17:06:53 +0900 1.128
+++ mew-refile.el 22 Jan 2009 14:33:19 +0900
@@ -678,7 +678,8 @@
(setq fld (mew-sumsyn-folder-name))
(setq msg (mew-sumsyn-message-number)) ;; msg is never nil
(setq invalidp (not (mew-msg-validp msg))))
- (setq mew-inherit-refile-case (mew-case:folder-case fld))
+ (setq mew-inherit-refile-case (or (mew-case:folder-case fld)
+ mew-case))
(setq mew-inherit-refile-proto (substring (mew-case:folder-folder fld) 0 1))
(setq mark (mew-summary-get-mark)) ;; any mark
(cond
@@ -768,7 +769,8 @@
(when (mew-sumsyn-match mew-regex-sumsyn-short)
(setq fld (mew-sumsyn-folder-name))
(setq msg (mew-sumsyn-message-number))))
- (setq mew-inherit-refile-case (mew-case:folder-case fld))
+ (setq mew-inherit-refile-case (or (mew-case:folder-case fld)
+ mew-case))
(setq mew-inherit-refile-proto (substring (mew-case:folder-folder fld) 0 1))
(with-temp-buffer
(mew-insert-message
Mew-dist メーリングリストの案内