[Mew-dist 05049] Re: mew-1.93b39
OKUNISHI Fujikazu
fuji0924 at example.com
1998年 6月 11日 (木) 23:10:06 JST
;; XEmacs/mule, Emacs20.2 にかまけてて、他に何も手をつけられてません(^_^;
>>> [Mew-dist : No.05044] にて
> (3) 仮想フォルダの移動パッチを b39 用に作成してもらますか? > 奥西さん
では、単に作り直しただけですが、Prom-Mew を使わない素の Mew では所望の
動作をしてくれています(まだオリジナルの変更内容を確認できてません)。
問題があるようでしたらご指摘ください。
改竄内容:
1. 補完対象となるように mew-folder-alist に追加する
2. 作法通り C-c C-q で抜けた時には mew-folder-alist から削除する
3. うっかり C-x k で抜けた時には残ってしまうので、goto-folder する時に
バッファが存在しなければ mew-folder-alist から消す
ですが、++foo を仮想フォルダに予約する、という約束が前提となりますので、
info に「`$MAIL/+foo' なディレクトリは掘らないでね」と書いておくべきか
もしれません(`=-%' もそうですが)。
なので、以前のパッチにはコメントつきで埋め込んでいた mew-folder-to-dir()
へのパッチは、抜いておきます。refile で指定しないでください。
-------------- next part --------------
--- mew-func.el.orig Tue Jun 9 07:56:14 1998
+++ mew-func.el Thu Jun 11 21:59:08 1998
@@ -261,6 +261,10 @@
(string-match "^%" folder)
)
+(defun mew-folder-virtualp (folder)
+ (string-match "^+\\+" folder) ;; or "^\\+\\+"
+ )
+
(defun mew-folder-to-dir (folder)
(if (string-match "^[+=]" folder)
(substring folder 1 nil)
--- mew-summary.el.orig Thu Jun 11 03:06:26 1998
+++ mew-summary.el Thu Jun 11 22:27:00 1998
@@ -522,6 +522,14 @@
(cond
((mew-folder-newsp folder)
(mew-summary-goto-folder-subr folder arg))
+ ((mew-folder-virtualp folder)
+ (if (get-buffer folder)
+ (progn
+ (mew-summary-goto-folder-subr folder arg)
+ (mew-virtual-mode))
+ (message "No such virtual folder: %s" folder)
+ (setq mew-folder-alist
+ (delq (assoc folder mew-folder-alist) mew-folder-alist))))
((mew-folder-imapp folder)
(if (or (file-directory-p dir)
(and (y-or-n-p
--- mew-virtual.el.orig Tue Jun 9 08:33:54 1998
+++ mew-virtual.el Thu Jun 11 22:28:56 1998
@@ -183,6 +183,8 @@
(mew-virtual-highlight-setup)
(mew-highlight-cursor-line)
(run-hooks 'mew-virtual-mode-hook)
+ (if (not (mew-assoc-case-equal folder mew-folder-alist 0))
+ (setq mew-folder-alist (cons (list folder nil) mew-folder-alist)))
)
(defun mew-virtual-folder-message ()
--- mew.el.orig Thu Jun 11 03:06:28 1998
+++ mew.el Thu Jun 11 22:31:56 1998
@@ -554,10 +554,12 @@
(defun mew-kill-buffer (&optional buf)
"Erase the current mode(buffer)."
(interactive)
- (if buf
- (if (get-buffer buf) (kill-buffer buf))
- (kill-buffer (current-buffer)))
- )
+ (let* ((buf (if buf buf (current-buffer)))
+ (bname (buffer-name buf)))
+ (if (eq major-mode 'mew-virtual-mode)
+ (setq mew-folder-alist
+ (delq (assoc bname mew-folder-alist) mew-folder-alist)))
+ (if (get-buffer buf) (kill-buffer buf))))
(defun mew-summary-quit ()
"Quit Mew. All buffers of Mew are erased."
-------------- next part --------------
;; Prom-Mew な場合は困るので、そっちも改竄してしまいました(^_^;
;; ベースは 1.92.10 です。
-------------- next part --------------
--- prom-mew.el.orig Thu Jun 4 19:20:58 1998
+++ prom-mew.el Thu Jun 11 22:42:08 1998
@@ -894,6 +894,14 @@
(setq dir (mew-expand-folder folder))
(cond ((mew-folder-newsp folder)
(prom-summary-goto-folder-subr folder range arg))
+ ((mew-folder-virtualp folder)
+ (if (get-buffer folder)
+ (progn
+ (mew-summary-goto-folder-subr folder arg)
+ (mew-virtual-mode))
+ (message "No such virtual folder: %s" folder)
+ (setq mew-folder-alist
+ (delq (assoc folder mew-folder-alist) mew-folder-alist))))
((mew-folder-imapp folder)
(if (or (file-directory-p dir)
(and (y-or-n-p
-------------- next part --------------
--ふ@人種3(謎)
Mew-dist メーリングリストの案内