[mew-dist 22445] Mew 3.1 の virtual mode の動作
SHIGENO Kazutaka
shigeno at example.com
2002年 12月 6日 (金) 20:24:36 JST
重野です。
Mew 3.1 + emacs-20.7 の virtual mode で / を押すと、
エラーが発生するようです。
下記修正で直りましたが、これで良いですか。
--- mew-virtual.el- Mon Nov 11 18:07:47 2002
+++ mew-virtual.el Fri Dec 6 20:04:45 2002
@@ -55,7 +55,7 @@
execute 'mew-summary-virtual-with-external'. Otherwise,
'mew-summary-virtual-with-internal' is called."
(interactive "P")
- (if (not (mew-summary-or-virtual-p))
+ (if (not (mew-summary-or-thread-p))
(message "This command cannot be used in this mode")
(if ext
(if mew-summary-virtual-with-external-function
あと、virtual mode で x を押すと "Move to a physical folder first" と
言われますが、virtual mode を頻繁に使ってるとやはり不便に感じます。
thread mode での x と同様に、元のフォルダに戻って、
"Now in +inbox. Type 'x' again" などと表示出来ないでしょうか。
戻り先のフォルダ名は、例えば virtual mode 側が "*+inbox*" なら
前後の * を取ったもの、"*+mew-dist,+mew-int*" のような複数の場合は
移動しない or 最初のフォルダ(上の場合 +mew-dist)に移動する、
という動作でどうでしょう。
フォルダを移動した後、更に x (mew-summary-exec) を実行するように
設定出来ると嬉しいです。2 回 x を押さなくて済みます。
以下は、試しに書いてみた前後の * を取ったフォルダに移動する修正です。
--- mew-func.el- Mon Nov 18 19:16:50 2002
+++ mew-func.el Fri Dec 6 05:47:09 2002
@@ -507,6 +507,9 @@
(defsubst mew-folder-string (folder)
(substring folder 1))
+(defsubst mew-virtual-string (folder)
+ (substring folder 1 -1))
+
(defsubst mew-string-to-local (folder)
(concat mew-folder-local folder))
@@ -514,6 +517,9 @@
(defsubst mew-folder-to-virtual (folder)
(concat mew-folder-virtual folder mew-folder-virtual))
+
+(defsubst mew-virtual-to-folder (folder)
+ (mew-virtual-string folder))
(defsubst mew-folder-to-thread (folder)
(concat mew-folder-virtual folder))
--- mew-exec.el- Wed Dec 4 22:14:42 2002
+++ mew-exec.el Fri Dec 6 20:03:48 2002
@@ -255,10 +255,10 @@
(sit-for 0)
(mew-summary-exec-remote beg end))
((mew-virtual-p)
- (if (not (mew-thread-p))
- (message "Move to a physical folder first")
(let* ((bnm (mew-summary-folder-name 'ext))
- (fld (mew-thread-to-folder bnm))
+ (fld (if (mew-thread-p)
+ (mew-thread-to-folder bnm)
+ (mew-virtual-to-folder bnm)))
(msg (mew-summary-message-number)))
(if (not (and fld (get-buffer fld)))
(message "No physical folder")
@@ -269,7 +269,7 @@
(message "Now in %s. Type '%s' again"
fld
(substitute-command-keys
- "\\<mew-summary-mode-map>\\[mew-summary-exec]"))))))
+ "\\<mew-summary-mode-map>\\[mew-summary-exec]")))))
(t
(message "Refiling and deleting...")
(sit-for 0)
Mew-dist メーリングリストの案内