[Mew-dist 427] [Summary] Re: switch From: from To:
Y.Yoshinaga
yoshi at example.com
1997年 1月 16日 (木) 15:43:27 JST
吉永@日立ソフトです。
Mew 1.06 でTo:によるFrom:の選択ができるようになりました。(^^)
》From: "樋口 雅文[Masafumi Higuchi]" <higuchi at example.com>
》Subject: Re: [Mew-dist 426] Re: switch From: from To:
> 今調べてみると、mew-header-get-value (in 1.54) でも同じことができそう
> です。1.06だとmew-field-get-valueという名前になるのかな?
わざわざありがとうございます。_o_
おかげで Mew 1.06 でも使えるようになりました。
メールのやりとりで情報が散らばってしまったので
mew-select-from を使うための情報を簡単にまとめておきます。
(mew-select-fromを作ってくださった樋口さんに改めて感謝します)
● ~/.emacs に以下の記述を加える。
;; C-cC-m時にヘッダの値によって選択したFrom:を挿入する。
;; 既にFrom:がある場合は挿入されない。
;; by M. Higuchi
(defun mew-select-from ()
(catch 'tag
(let ((r mew-from-variation-alist) cell b f)
(while r
(setq cell (car r))
(setq b (car cell))
(if (setq f (mew-header-get-value (car b)))
;Mew 1.06では mew-header-get-value を mew-field-get-value に書き換える
; (if (setq f (mew-field-get-value (car b)))
(cond ((listp (cdr b))
(let ((r (cdr b)))
(while r
(if (string-match (car r) f)
(throw 'tag (cdr cell))
)
(setq r (cdr r))
))
)
((stringp (cdr b))
(if (string-match (cdr b) f)
(throw 'tag (cdr cell))
))
))
(setq r (cdr r))
))
mew-from))
;; From:を決定するルールを書く。
;; specificなものを先に書くこと。
(setq mew-from-variation-alist
'(
(("To" . ("\\.com" "\\.net")) . "Masafumi Higuchi <higuchi>")
(("To" . ("\\.jp")) . "樋口 雅文[Masafumi Higuchi] <higuchi at example.com>")
(("To" . (".")) . "Masafumi Higuchi <higuchi at example.com>")
))
● mew-draft-make-mime を次のように書き換える。
・Mew 1.5x の場合 (mew-encode.el)
(defun mew-draft-make-mime ()
(interactive)
(if (mew-header-get-value mew-ct:)
(progn
(ding)
(message "%s already exists!" mew-ct:)
)
(if (mew-attach-p)
(mew-draft-make-multi)
(mew-draft-make-single))
(goto-char (point-min))
(sit-for 0)
(re-search-forward "^-*$")
(beginning-of-line)
(setq mew-draft-buffer-header (point-marker)) ;; just in case
;; by M. Higuchi
(if (null (mew-header-get-value "From:"))
(and mew-from-variation-alist (mew-header-insert-here "From:" (mew-select-from)))
(ding)
(message "From: already exists!")
)
))
・Mew 1.06 の場合 (mew.el)
(defun mew-draft-make-mime ()
(interactive)
(if (mew-field-get-value "Content-Type:")
(progn
(ding)
(message "Content-Type: already exists!")
)
(if (mew-multi-p)
(mew-draft-make-multi)
(mew-draft-make-single))
;; by M. Higuchi
(if (null (mew-field-get-value "From:"))
(and mew-from-variation-alist
(mew-field-insert-here "From:" (mew-select-from)))
(ding)
(message "From: already exists!")
)
))
● ~/.emacs などで mew-from を次のように設定すると便利
(setq mew-from nil) ; for mew-select-from
--
吉永 孝明 (Y.Yoshinaga) <e-mail: yoshi at example.com>
Mew-dist メーリングリストの案内