[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 メーリングリストの案内