[Mew-dist 1335] thread
MATSUI N. chousan
chousan at example.com
1997年 7月 29日 (火) 09:31:14 JST
松井@東大です。mew-1.87 & im-48 を使っています。
# mew-dist のシステム変更に紛れて消え去ってしまったようなので、しつこ
# いかもしれませんが、修整して再投稿します。同内容のメールを既に受けとっ
# ていたら、すいません。
メールの一覧で thread 表示ができるようになったのは嬉しいのですが、
summary mode で thread の on/off を切り換えたいことが結構あります。
で、't' キーで切り換えを行なうパッチを適当に作成して、とりあえず使っ
てみています。すごく簡単なパッチなので添付してみます。
が、かなりダサダサで、もう少しちゃんと考えないと実用にはならない感じ
です。多数のメールがあるフォルダーで実行すると遅いのは、
.mew-cache-thread を作って cache するということも考えましたが、そも
そも thread の処理は imls でやるのが良いか、imsort --mode reference
的に処理するのが良いのか、仕様が固まらないので改良できない状態です。
というわけで、何か良いアイディアはないでしょうか。まあ、thread の
on/off を動的に切り換えたいと思う人が他にいないなら、しょうがないで
すが。
(|-|<>(_)
松井長隆@東京大学 mailto:chousan at example.com
PGP Key fingerprint = 91 5D CE 3A 5C B4 F5 2F 48 5E 20 58 59 1C F6 6D
--- mew-scan.el.orig Mon Jul 28 11:53:32 1997
+++ mew-scan.el Mon Jul 28 15:10:38 1997
@@ -104,7 +104,10 @@
(cond
((equal mode 'mew-summary-mode)
(append
- (list (concat "--src=" folder))
+ (list (concat "--src=" folder)
+ (concat "--thread="
+ (if mew-summary-buffer-disp-thread
+ "on" "off")))
mew-prog-imls-arg-list
(if (listp (car range))
(car range)
--- mew-summary.el.orig Mon Jul 28 12:21:53 1997
+++ mew-summary.el Mon Jul 28 15:10:03 1997
@@ -137,6 +137,7 @@
(define-key mew-summary-mode-map "\es" 'mew-summary-unshar)
(define-key mew-summary-mode-map "v" 'mew-summary-toggle-disp-msg)
(define-key mew-summary-mode-map "\ea" 'mew-summary-toggle-analysis)
+ (define-key mew-summary-mode-map "t" 'mew-summary-toggle-disp-thread)
(define-key mew-summary-mode-map "\C-c\C-x" 'mew-summary-x-face)
(define-key mew-summary-mode-map "\C-c\C-q" 'mew-kill-buffer)
;;
@@ -695,6 +696,26 @@
(mew-summary-display)
(mew-decode-syntax-delete) ;; xxx
(mew-window-configure (current-buffer) 'summary)))))
+
+(defun mew-summary-toggle-disp-thread (&optional arg)
+ (interactive)
+ (let ((folder (buffer-name)))
+ (mew-mark-clean-up)
+ (cond
+ ((equal arg 'on)
+ (setq mew-summary-buffer-disp-thread t))
+ ((equal arg 'off)
+ (setq mew-summary-buffer-disp-thread nil))
+ (t
+ (setq mew-summary-buffer-disp-thread
+ (not mew-summary-buffer-disp-thread))
+ (let ((buffer-read-only nil)) (erase-buffer))
+ (mew-summary-scan-body mew-prog-imls
+ 'mew-summary-mode
+ folder
+ mew-cs-scan
+ )
+ ))))
(defun mew-summary-display (&optional notforce)
(interactive)
--- mew.el.orig Mon Jul 28 12:22:45 1997
+++ mew.el Mon Jul 28 15:08:18 1997
@@ -361,6 +361,7 @@
(defvar mew-summary-buffer-folder-cache-time nil)
(defvar mew-summary-buffer-refile nil)
(defvar mew-summary-buffer-disp-msg t)
+(defvar mew-summary-buffer-disp-thread nil)
(defvar mew-summary-buffer-left-msgs "-")
(defvar mew-watch-buffer-process nil)
(defvar mew-draft-buffer-header nil)
Mew-dist メーリングリストの案内