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

Makoto MATSUSHITA ( まつしたまこと ) matusita at example.com
1998年 1月 30日 (金) 16:00:07 JST


少し古い話で恐縮なのですが‥‥確認させてください.

y-koga> - mew-auto-insert-config がセットされている場合は Config: 行を自動挿入
y-koga> - mew-config が 'guess の場合、mew-config-guess-alist に従って guess する
y-koga> - mew-config が 'guess の場合で guess できなかったときは、
y-koga>   mew-config-alist の最初の値を使用
y-koga> - mew-config が文字列の場合は、この値を使用
y-koga> - mew-config が設定されていない場合は何もしない

で述べられていて,Mew 1.93b12 にも入っている実装は,[Mew-dist 03288] 
にて酒井氏が書かれている

> 1. Config を挿入する関数を作成する。
> 2. メールの作成時には、新規・返信を問わず、1 の関数を利用して Config:
>   ヘッダの挿入を行う。
> 3. 手動で 1 のコマンドを実行して、いつでも Config: ヘッダを挿入できる
>   ようにしておく。すでに Config: ヘッダが存在しているときも、上書きす
>   る。このコマンドを interactive に実行したときは、同時に Config: ヘッ
>   ダの行末に飛ぶようにしておく。
> 4. C-c C-m のときに guess で行って Config: ヘッダを挿入するかどうかは、
>   別の変数を導入して、その変数の値で動作を決定する。
> このようにすると、draft 編集段階で手動で Config: ヘッダの挿入を行うか
> どうかは mew-config で切り換え、送信直前に自動的に Config: ヘッダの挿
> 入を行うかどうかは新規変数で切り換えられるため、仕様が直行することにな
> るかと思います。

という仕様を実現した実装ではない,という理解は間違ってないでしょうか?

現状の mew-draft-insert-config の構造は

(defun mew-draft-insert-config ()
  (interactive)
  (if mew-config-auto-insert
	....))

となっていて,呼ぶ側では単純に (mew-draft-insert-config) として呼ぶた
め「mew-config-auto-insert が nil でない場合には一切の Config: による
挿入を行なわない」仕様となっているかと思います.つまり,「draft 生成時
に Config: を挿入する」ことと「送信時に Config: を挿入する」ことは両方
同時に自動実行するか/しないかのどちらかで,かつ mew-config-auto-insert 
を nil のままにしていると「手動で Config: を挿入することも許さない」仕
様のような気がします.

code を読んで,かつ挙動を確認して,現状の実装が [Mew-dist 03288] とは
違うのではないかと思ったのですが,正しいでしょうか? もし正しいのでした
らごめんなさい.以下は正しくないというのが前提で書いています.

***

mew-config-auto-insert は多分酒井氏の書かれている仕様でいう所の「新規
変数」に相当する気がするので,現状を最大限に生かしつつ,かつ仕様と一致
されるためには

	- mew-draft-header() にて mew-draft-insert-config() を呼ぶ時,
	  あるいは手動で呼ぶ時には,一時的に mew-config-auto-insert
	  を t にしておく(elisp はよく知らないのですが,let でかこって
	  あげれば良いのでしょうか?)

ととりあえず良いような気はするのですが,なんとなくいまいち,という気も
します.とりあえず let でかこむ,というすごいいい加減な patch をつけて
みます.

--- mew-draft.el.dist	Thu Jan 29 13:05:06 1998
+++ mew-draft.el	Fri Jan 30 15:40:03 1998
@@ -475,7 +475,7 @@
     )
   (mew-header-insert-here "Mime-Version:" mew-mv:-num)
   (insert mew-header-separator "\n")
-  (mew-draft-insert-config)
+  (let ((mew-config-auto-insert t)) (mew-draft-insert-config))
   (mew-draft-refresh)
   (if nl 
       (save-excursion

-- -
Makoto `MAR' MATSUSHITA
折角値を返しても,car しかされない悲しい mew-config-guess-by-alist
(refile する時にはいっぱい folder 推論するのがありなのに,どうして
 config の値を選ぶ時には 1 つしか推論しようとしないのだろう.不思議)



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