2009年1月22日

[mew-dist 28853] Re:mew-config-alist による refile-guess-alist の切り替え

From: KOIE Hidetaka (鯉江英隆) <hide@xxxxx> さん曰く
Subject: [mew-dist 28841] Re: mew-config-alist による refile-guess-alist の切り替え
Message-ID: <20090121.101842.1084275951035934745.hide@xxxxx>
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@xxxxx)

--- 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


投稿者 xml-rpc : 2009年1月22日 14:44
役に立ちました?:
過去のフィードバック 平均:(0) 総合:(0) 投票回数:(0)
本記事へのTrackback: http://hoop.euqset.org/blog/mt-tb2006.cgi/81377
トラックバック
コメント
コメントする




画像の中に見える文字を入力してください。