;;; ;;; vm-sumform.el: VM でフォルダ毎のサマリーフォーマットを実現する ;;; ;;; [1996/01/23] OSHIRO Naoki. ;;; ;;; $Log:$ ;;; ;;; 何ができるのか? ;;; ;;; vm で,サマリーで通常 from を表示するようにしていると, ;;; SMAIL を開いた場合にはすべてその発信人であるユーザ自身 ;;; ということになりサマリーの意味がない.そこで,フォルダ ;;; 毎に異なったサマリーフォーマットを指定できるようにした. ;;; ;;; ※もしかしたら既存の機能が存在するのかもしれないが,作 ;;; 者が探したかぎりでは見つけることができなかった... ;;; コメント・助言歓迎致します. ;;; 使い方 ;;; ;;; 1. ~/.vm に ;;; (autoload 'vm-summary-format-selector "vm-sumform.el" "VM summary format selector" t) ;;; と入れる ;;; 2. hook を設定する ;;; (add-hook 'vm-summary-mode-hook 'vm-summary-format-selector) ;;; (add-hook 'vm-summary-redo-hook 'vm-summary-format-selector) ;;; (add-hook 'vm-retrieved-spooled-mail-hook ;;; 'vm-summary-format-selector) ;;; 3. もし必要ならば,vm-summary-format-selection-alist のリストを ;;; 好きなように設定する. ;;; 形式: (フォルダ正規文字列 . 対応サマリーフォーマット) ;;; ;;; 例:作者はメール形式のメモ閲覧用の設定を行なっている. ;;; ("^\\(_[a-z]+_.\\)?\\(memo\\|[mb]-\\)" . "%a%2M/%2d %s\n") ;;; 4. SMAIL フォルダを開いてサマリーフォーマットが変わるの ;;; を見て喜ぶ (^^). ;;; ;;; [1996/01/23] ;;; SMAIL フォルダだけサマリーの表示を To: に変更 ;;; しようとしたが,うまくいかなかった. ;;; [1997/03/01] ;;; ↑は,関数を組もうとしていたのだが,hook があることが ;;; わかりそれに鞍替えした. ;;; [1997/12/09] ;;; ↑さらに,hook の設定が summary-mode-hook と summary-redo-hook ;;; の2種類あり,どちらでも同様の設定を行なっていたので,共通部分 ;;; を関数にし,これを hook に組み込むようにした. ;;; [1999/01/05] ;;; ・.vm での読み込み設定を load から autoload へ変更. (defvar vm-summary-format-selection-alist '(("^SMAIL" . "%a%-3.3m %2d %I(%3l: %-15.15t) %s\n") (".+" . "%a%-3.3m %2d %I[%3l: %-15.15f] %s\n"))) (defun vm-summary-format-selector (&optional buf-name) (if (not buf-name) (setq buf-name (buffer-name))) (let ((alist vm-summary-format-selection-alist) tmp) (while alist (setq tmp (car alist)) (if (not (string-match (car tmp) buf-name)) () (setq vm-summary-format (cdr tmp)) (setq alist nil)) (setq alist (cdr alist))))) ; ↓while を mapcar へ書き換え中.まだ正しく動作せず. ;(defun vm-summary-format-selector (&optional buf-name) ; (if (not buf-name) (setq buf-name (buffer-name))) ; (mapcar (lambda (tmp) ; (if (not (string-match (car tmp) buf-name)) () ; (setq vm-summary-format (cdr tmp)))) ; vm-summary-format-selection-alist))