[mew-dist 24628] Re: メール送信時のTo:やCc:の展開方法を制御するにはどうすればいい でしょうか?

SHIGENO Kazutaka shigeno at example.com
2004年 2月 21日 (土) 23:40:07 JST


From: SHIGENO Kazutaka <shigeno at example.com>
Date: Sat, 21 Feb 2004 22:36:08 +0900 (JST)

> > > Mew-1.xの時代はC-c C-mで確認してから送るようにしていました.
> > > しかし,C-c C-mが即queue入りになるようになってしまってからは,確認の
> > > プロセスが疎かになるようになりました.(逐一queueを見るのは面倒なので;-)
> 
> せめて Mew-1.x 時代の C-c C-w による送信アドレス確認が復活してくれればと
> 思って、[mew-dist 24612] のパッチを出したのですが、どうでしょう?
> 
> > > 現在の些細な悩みはCaseを切り替え忘れることです.
> > > 宛先に間違いはなくともFrom:がまずいとか...
> > 
> > これ、私もあります。
> 
> C-c C-w で送信 Case か From: のアドレスを表示してはどうでしょうか。
> 
> と思って、まず変数 mew-case-output を表示させようと試みましたが、
> draft mode 内で C-c C-o による Case 変更を行っても、
> この変数の中身は変更されないので、現在の送信 Case が何なのか
> 特定できず困りました。なんとかなりませんかね。

他のコードをつらつらと見てたら (mew-tinfo-get-case) で Case の状態が
分かるようだったので、Case と From を表示するようにしてみました。
表示内容がちょっと煩すぎるかもしれませんが。

Index: mew-const.el
===================================================================
RCS file: /cvsmew/mew/mew-const.el,v
retrieving revision 1.63
diff -u -r1.63 mew-const.el
--- mew-const.el	16 Feb 2004 09:29:13 -0000	1.63
+++ mew-const.el	21 Feb 2004 14:32:37 -0000
@@ -171,6 +171,7 @@
 
 (defconst mew-buffer-message     "*Mew message*")
 (defconst mew-buffer-completions "*Mew completions*")
+(defconst mew-buffer-whom        "*Mew whom*")
 (defconst mew-buffer-addrbook    "*Mew Addrbook*")
 (defconst mew-buffer-debug       "*Mew debug*")
 
Index: mew-draft.el
===================================================================
RCS file: /cvsmew/mew/mew-draft.el,v
retrieving revision 1.112
diff -u -r1.112 mew-draft.el
--- mew-draft.el	28 Jan 2004 05:46:24 -0000	1.112
+++ mew-draft.el	21 Feb 2004 14:32:37 -0000
@@ -739,6 +739,37 @@
 	  (unless (bolp) (insert "\n")))
 	(mew-insert-file-contents sigfile)))))
 
+(defun mew-draft-check-whom ()
+  "Verify recipients of the draft."
+  (interactive)
+  (let* ((case (or (mew-tinfo-get-case) mew-case-default))
+	 (from (mew-header-get-value mew-from:))
+	 (to-cc (mew-header-parse-address-list2
+;;		 mew-destination:-list)))
+                '("To:" "Cc:" "Bcc:" "Apparently-To:")))
+         (buf (current-buffer))
+	 exp-to-cc)
+    (while to-cc
+      (setq exp-to-cc
+	    (append exp-to-cc
+		    (list
+		     (mew-addrbook-alias-get (car to-cc) mew-addrbook-alist))))
+      (setq to-cc (cdr to-cc)))
+    (message "Checking recipients ... ")
+    (get-buffer-create mew-buffer-whom)
+    (switch-to-buffer-other-window mew-buffer-whom)
+    (erase-buffer)
+    (insert (format ":Case: %s\n" case))
+    (insert (format ":From: %s\n" from))
+    (insert (format ":Whom:\n"))
+    (mapcar
+     (function (lambda (x) (insert (format "%s\n" x))))
+     exp-to-cc
+     )
+    (pop-to-buffer buf)
+    (message "Checking recipients ... done")
+    ))
+
 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
 ;;;
 ;;; Re-highlight
Index: mew-key.el
===================================================================
RCS file: /cvsmew/mew/mew-key.el,v
retrieving revision 1.69
diff -u -r1.69 mew-key.el
--- mew-key.el	17 Feb 2004 04:43:52 -0000	1.69
+++ mew-key.el	21 Feb 2004 14:32:37 -0000
@@ -297,6 +297,7 @@
   (define-key (symbol-value symmap) "\C-c\C-o" 'mew-draft-set-case)
   (define-key (symbol-value symmap) "\C-c\C-a" 'mew-draft-prepare-attachments)
   (define-key (symbol-value symmap) "\C-c\C-l" 'mew-draft-rehighlight)
+  (define-key (symbol-value symmap) "\C-c\C-w" 'mew-draft-check-whom)
   (define-key (symbol-value symmap) "\C-c\C-q" 'mew-draft-kill)
   (define-key (symbol-value symmap) "\C-c\C-s" 'mew-pgp-sign-message)
   (define-key (symbol-value symmap) "\C-c\C-e" 'mew-pgp-encrypt-message)

-- shigeno



Mew-dist メーリングリストの案内