[Mew-dist 07882] Change From: according to Config
Shun-ichi TAHARA ( 田原 俊一 )
jado at example.com
1999年 3月 4日 (木) 14:39:37 JST
ども。
ひとつ提案があります。
Mewでは、mew-draft-make-messageか、mew-draft-header(Draft作成時)で、
From:などの値からConfig:を推測する機能がありますよね。
また、最近、inc時にConfigに応じてinbox folderを変更してくれる機能がつい
たようです(自分ではまだ試していませんが)。
同様に、Draftを作成する際に挿入するFrom:の初期値を、Configに応じて変更す
る機能があったら便利だなと思うわけです。
今のところ、mew-summary-config-imgetを次パートに添付したコードで置き換え
ています。
動作内容は、
mew-config-guess-alistからFrom:のルールを取り出して、mew-from-listの各要
素からマッチするものを探し、Configが一致していたらmew-fromに設定する。
適当なfromが見つからなかったら、(mew-from-listがnon-nilの時のみ)
(car mew-from-list)をmew-fromに設定する。
といったものです。
# 1時間で作ったものなので、まだまだ改善の余地はありまくりですが :-)
いかがなものでしょう。
場合によっては、To:によってもFrom:を変えたいという需要もあるかもしれない
ですが、今の方法ではちょっと無理ですね。
なので、mew-config-guess-alistを使う方法は、デザイン上美しくないかもしれ
ないので、Mew本体にマージするにはもうちょっと練り込まないといけないだろ
うとは思いますが、contribに突っ込むくらいでしたらバチは当たらないと思っ
ています。
_____________________________
田原 俊一 jado at example.com, shunichi_tahara at example.com
株式会社ゼンリン マルチメディアシステム部 イントラネット課
http://www.csce.kyushu-u.ac.jp/~jado/
PGP FP: 16 9E 70 3B 05 86 5D 08 B8 4C 47 3A E7 E9 8E D9
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
-------------- next part --------------
;;; mew-config-from.el -*-Emacs-Lisp-*-
;;;
;;; Commentary:
;;; Change mew-from by mew-summary-config-imget,
;;; according to mew-config-guess-alist.
;;;
;;; Time-stamp: <99/03/04 09:50:04 jado at example.com>
;;; How to use:
;;; Only require it :-). For example:
;;; (add-hook 'mew-init-hook '(lambda () (require 'mew-config-from)))
;;; Code:
(provide 'mew-config-from)
(require 'mew)
(defun mew-summary-config-imget ()
(interactive)
(setq mew-config-imget (mew-input-config mew-config-imget))
(let ((from
(catch 'from
(let ((alist (cdr (assoc mew-from: mew-config-guess-alist))))
(mapcar
(lambda (from)
(if (equal
mew-config-imget
(catch 'config
(mapcar
(lambda (guess)
(if (string-match (car guess) from)
(throw 'config (cdr guess)))
)
alist)
(throw 'config nil)
))
(throw 'from from))
)
mew-from-list)
(throw 'from nil)
)))
)
(cond
(from
(setq mew-from from))
(mew-from-list
(setq mew-from (car mew-from-list)))
)
)
)
Mew-dist メーリングリストの案内