[Mew-dist 17746] Re: replyで宛先に名前を残す方法
Shun-ichi GOTO
gotoh at example.com
2001年 6月 12日 (火) 00:46:26 JST
>>>>> at Mon, 11 Jun 2001 23:57:04 +0900
>>>>> 川地 == Hiromichi Kawachi <hirom at example.com> said,
川地> 私にとっては,非常にありがたい機能で,特に職場で結構多めに Cc: 配
川地> 布されているメールですと,Cc: の宛先の人の間で,自分以外の誰に同じ
川地> メールが届いているかを知るのに,このアドレスの expand を一気に出来
川地> る機能は助かります.
1つだけexpandする機能があるのだったら、一気に行う機能もあってもいいとは
思うので、ご検討ください。>かずさん
## 返信元メールのphraseのexpandを行う1.94 用のcodeは2名の方が興味を示さ
## れていました。こちらも意外と潜在需要があるのかしら。
川地> ところで,一度 mew-expand-draft-all してしまうと,後からさらにアド
川地> レスを追加しようとか,別の field を追加 (例えば,Bcc: のない状態で
川地> expand して,思い直して Bcc: を追加) などの field 書き換えがいっさ
川地> い出来なくなってしまう - Tab で補完しようとしても,本当に
川地> Tab Space が入力されてします - のは仕様でしょうか,私の勘違いでしょ
川地> うか? (XEmacs でしか試してませんが.)
勘違いではございません。
最後に(mew-draft-header-keymap)する必要がありました。
これを気に単独のfileとしておきましたので、改めて添付します。
## 内容的には上記修正以外は変化しておりませんです。
--- Regards,
Shun-ichi Goto <gotoh at example.com>
R&D Group, TAIYO Corp., Tokyo, JAPAN
-------------- next part --------------
;; mew-draft-expand-all.el -- Expand all addresses in To: and Cc:
;; Copyright (c) 2001 Shun-ichi Goto.
;; Author: Shun-ichi GOTO <gotoh at example.com>
;; Created: Tue Jun 12 00:09:45 2001
;; Version: $Revision: 1.2 $
;; Keywords:
;;; Commentary:
;; The function `mew-draft-expand-all' expands all addresses in To:
;; and Cc: field with names defined in your address book. This
;; expansion is same to `mew-draft-expand' except all addresses are
;; expanded at once.
;;
;;; Instalation:
;; Place this file in directory of load-path, put next line in ~/.mew
;;
;; (require 'mew-draft-expand-all)
;;
;; If you use this function oftenly, you may bind it to keymap like:
;;
;; (define-key mew-draft-mode-map "\C-ca" 'mew-draft-expand-all)
;; (define-key mew-draft-header-map "\C-ca" 'mew-draft-expand-all)
;; (define-key mew-draft-attach-map "\C-ca" 'mew-draft-expand-all)
;;
;;; Usage:
;; For manual use, in draft buffer, M-x mew-draft-expand-all or
;; your bounded key stroke (ex. C-c a) to expand.
;;
;; If you wanna do it automatically on your replying, put next line in
;; your ~/.mew file.
;;
;;(add-hook 'mew-draft-mode-newdraft-hook 'mew-draft-expand-all)
;;
;; Note: This function **DOESN'T** work with mew-1.94.
;;; Code:
(defun mew-addrstr-expand (addr &optional func)
(let (name)
(setq func (or func
(mew-addrbook-func mew-addrbook-for-address-expansion)))
(if (and func (setq name (funcall func addr)))
(format "%s <%s>" name addr)
addr)))
(defun mew-draft-expand-all ()
"Expand addresses in To: and Cc:.
Address is expanded with method given by
`mew-addrbook-for-address-expansion'. See also `mew-draft-expand'."
(interactive)
;; We assume, in draft buffer
(save-excursion
(let ((fields (list mew-to: mew-cc:)) ; expand To: and Cc:
(func (mew-addrbook-func mew-addrbook-for-address-expansion))
value mailbox addrl wid)
(when func
(while fields
(setq addrl (mew-header-parse-address-list2 (list (car fields))))
(when addrl
;; At first, make one address
(setq value (mew-addrstr-expand (car addrl) ) ;func)
addrl (cdr addrl)
wid (+ (string-width (car fields))
1
(string-width value)))
(while addrl
(setq mailbox (mew-addrstr-expand (car addrl) func))
(if (< (+ wid (string-width mailbox) 1)
mew-field-max-length)
;; without folding
(setq value (concat value ", " mailbox)
wid (string-width value))
;; with foldign
(setq value (concat value ",\n\t" mailbox)
wid (+ tab-width (string-width mailbox))))
(setq addrl (cdr addrl)))
(mew-header-replace-value (car fields) value))
(setq fields (cdr fields))))
(mew-highlight-header)
(mew-draft-header-keymap))))
;;;
(provide 'mew-draft-expand-all)
;;; mew-draft-expand-all.el ends here
Mew-dist メーリングリストの案内