[Mew-dist 03857] Re: Mew 1.93b6: mew-config breaks out mew-config-list setting ?

SAKAI Kiyotaka ksakai at example.com
1998年 2月 20日 (金) 12:02:03 JST


ところで、今の config って使いにくくないでしょうか?

以下のパッチのようにしてはどうかと思うのですが、どうでしょうか?

・C-cC-m で config を入力する (mew-ask-config を設定している) ときに、
  いちいち "Do you want to use Config:?" と聞かれるのは欝陶しい。
  Config が上書きされるときだけ本当に上書きするかどうか聞いてくれば充
  分だと思う。
・その場合、mew-ask-config という変数名は変なので、
  mew-config-insert-when-make-message という変数名に変更した。
・mew-config-auto-insert を t にした場合、mew-input-config で config 
  が聞かれないのは意図した動作には思えない。
・mew-draft-insert-config をキーにバインドした。
  interactive に実行したときは、常に Config ヘッダの挿入を行うようにし
  た。
・mew-config-guess-by-alist はもはや mew-encode.el に置いておく理由は
  ないので、関数名を変更して mew-draft.el に移動した。
・mew-input-config で、default が "default" のときに、単に RETURN を押
  しても "defualt" が入力されないバグの修正。

# 僕は、昔の「送信前にアドレスから guess する」という仕様が満たされれ
# ば充分なのですが。
-- 
酒井 清隆 (E-mail: ksakai at example.com)


Index: mew-draft.el
===================================================================
RCS file: /home/cvsroot/mew-1.93b16/mew-draft.el,v
retrieving revision 1.1.1.1
diff -u -r1.1.1.1 mew-draft.el
--- mew-draft.el	1998/02/20 00:14:33	1.1.1.1
+++ mew-draft.el	1998/02/20 02:41:57
@@ -153,6 +153,7 @@
   (define-key mew-draft-mode-map "\C-c\C-l" 'mew-fib-flush-input)
   (define-key mew-draft-mode-map "\C-c\C-f" 'mew-fib-fill-default)
   (define-key mew-draft-mode-map "\C-c\C-k" 'mew-fib-delete-frame)
+  (define-key mew-draft-mode-map "\C-c\C-o" 'mew-draft-insert-config)
   (define-key mew-draft-mode-map "\C-x\C-s" 'mew-save-buffer)
   (if mew-temacs-p
       (easy-menu-define
@@ -807,12 +808,11 @@
     ))
 
 (defun mew-draft-make-message ()
+  "Make MIME and insert config before sending message."
   (interactive)
   (save-excursion
-    (if mew-ask-config
-	(if (y-or-n-p "Do you want to use Config:?")
-	    (mew-draft-insert-config)
-	  (mew-header-delete-lines '("Config:"))))
+    (if mew-config-insert-when-make-message
+	(mew-draft-insert-config))
     (message "Making a MIME letter ...")
     (mew-draft-make-mime)
     (message "Making a MIME letter ... done")
@@ -858,34 +858,36 @@
       (message "Draft was not killed"))
     ))
 
+(defun mew-draft-guess-config ()
+  (mew-refile-guess-by-alist1 mew-config-guess-alist))
+
 (defun mew-draft-insert-config ()
+  "Insert Config header."
   (interactive)
   (let ((config-cur (mew-header-get-value "Config:"))
-	(config-new))
-    (if (and config-cur
-	     (y-or-n-p "Do you want to use current Config:?")) ()
-      (cond
-       ((equal mew-config 'guess)
-	(setq config-new (car (mew-config-guess-by-alist)))
-	(or config-new (setq config-new (car mew-config-list))))
-       (t
-	(setq config-new mew-config))
-       )
-      (if (not mew-config-auto-insert)
-	  (setq config-new (mew-input-config config-new)))
-      (if config-new
-	  (progn
-	    (widen)
-	    (mew-header-delete-lines '("Config:"))
-	    (goto-char (point-min))
-	    (re-search-forward mew-eoh2)
-	    (beginning-of-line)
-	    (mew-header-insert-here "Config:" config-new)
-	    (mew-draft-refresh)
-	    (forward-line -1)
-	    (end-of-line)
-	    config-new)
-	nil))))
+	config-new)
+    (if (eq mew-config 'guess)
+	(setq config-new (car (mew-draft-guess-config)))
+      (setq config-new mew-config))
+    (if (and (not (interactive-p)) mew-config-auto-insert)
+	(setq config-new (mew-input-config config-new)))
+    (if (and (interactive-p) (not config-new))
+	(setq config-new ""))
+    (if config-new
+	(if (and config-cur
+		 (not (y-or-n-p
+		       (format "Do you want to replace Config value with %s? "
+			       config-new))))
+	    nil
+	  (widen)
+	  (mew-header-delete-lines '("Config:"))
+	  (goto-char (point-min))
+	  (re-search-forward mew-eoh2)
+	  (beginning-of-line)
+	  (mew-header-insert-here "Config:" config-new)
+	  (mew-draft-refresh)
+	  (forward-line -1)
+	  (end-of-line)))))
 
 (defun mew-draft-insert-signature ()
   (interactive)
Index: mew-encode.el
===================================================================
RCS file: /home/cvsroot/mew-1.93b16/mew-encode.el,v
retrieving revision 1.1.1.1
diff -u -r1.1.1.1 mew-encode.el
--- mew-encode.el	1998/02/20 00:14:33	1.1.1.1
+++ mew-encode.el	1998/02/20 01:22:43
@@ -39,9 +39,6 @@
     )
   )
 
-(defun mew-config-guess-by-alist ()
-  (mew-refile-guess-by-alist1 mew-config-guess-alist))
-
 ;;;
 ;;;
 ;;;
Index: mew-minibuf.el
===================================================================
RCS file: /home/cvsroot/mew-1.93b16/mew-minibuf.el,v
retrieving revision 1.1.1.1
diff -u -r1.1.1.1 mew-minibuf.el
--- mew-minibuf.el	1998/02/20 00:14:34	1.1.1.1
+++ mew-minibuf.el	1998/02/20 01:50:50
@@ -197,7 +197,7 @@
 		   mew-config-list)
 		  nil nil nil))
     (if (string= config "")
-	default
+	(or default "default")
       config)
     ))
 
Index: mew-vars.el
===================================================================
RCS file: /home/cvsroot/mew-1.93b16/mew-vars.el,v
retrieving revision 1.1.1.1
diff -u -r1.1.1.1 mew-vars.el
--- mew-vars.el	1998/02/20 00:14:34	1.1.1.1
+++ mew-vars.el	1998/02/20 01:54:13
@@ -446,6 +446,8 @@
 
 (defvar mew-config-auto-insert nil)
 
+(defvar mew-config-insert-when-make-message nil)
+
 (defvar mew-config-guess-alist nil)
 
 (defvar mew-header-alist nil
@@ -664,9 +666,6 @@
 
 (defvar mew-ask-newsgroups nil
   "*If non-nil, prompt user if he/she want to include Newsgroups: field")
-
-(defvar mew-ask-config nil
-  "*If non-nil, prompt user if he/she want to include/change Config: field")
 
 (defvar mew-ask-cite-prefix nil
   "*If non-nil, ask citation prefix when cite a message")



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