mime-preview-toggle-{header,content} for a default invisible part.
守岡 知彦 / MORIOKA Tomohiko
tomo @ etl.go.jp
2000年 3月 16日 (木) 17:34:03 JST
>>>>> In [emacs-mime-ja : No.00481]
>>>>> "岡崎" = OKAZAKI Tetsurou <okazaki @ be.to> wrote:
岡崎> User-Agent な環境(ChaoはCVSの現時点での最新版です)で、
岡崎> Content-Type: multipart/mixed な message を表示させていて、
岡崎> mime-preview-toggle-{header,content} で MIME header やMIME
岡崎> content の表示を切り替える時に気になることがあります。
岡崎> MIME-View に最初から表示されている part では、C-c C-t C-f や C-c
岡崎> C-t C-cをそれぞれ一度だけ使えば header や content を非表示にでき
岡崎> るのですが、始めから非表示になっている part では、C-c C-t C-f や
岡崎> C-c C-t C-c を二度実行しないと、表示されません。実際に M-x
岡崎> list-text-properties-atでこの part の text property:
岡崎> mime-view-situation の値を確認してみると、最初の非表示状態では、
岡崎> mime-view-situation ((major-mode . mmelmo-original-mode)) … (1)
岡崎> になっています。ここで C-c C-t C-c を一回実行すると、part の内容
岡崎> は非表示のままで、
岡崎> mime-view-situation ((*body . invisible)
(major-mode . mmelmo-original-mode))
岡崎> … (2)
岡崎> と変化します。この後、C-c C-t C-c をさらにもう一回実行すると、
岡崎> part の内容が表示されて、
岡崎> mime-view-situation ((*body . visible)
(major-mode . mmelmo-original-mode))
岡崎> … (3)
岡崎> と変わります。これ以降は (2)⇔(3) の間を行き来します。
岡崎> mime-preview-toggle-display の現在の実装では、(1) の様に
岡崎> mime-view-situation に該当する property が存在しない場合、
岡崎> (現在の状態が) visible だとみなして (2) に遷移させています。
岡崎> これがこの関数の仕様だとすると、body/header の visible/invisible
岡崎> の初期状態を mime-view-situation にあらかじめ設定しておく方が
岡崎> いいのかな、と思います。
御報告ありがとうございます。
つまり、header と body に関する default value の扱いが
mime-display-entity と mime-preview-toggle-display で不一致になってい
る訳ですね。(^_^;;; button, header, body で
mime-preview-toggle-display を共有したい気がするので、
header と body の default value を button に合わせるか、岡崎さんがおっ
しゃっているように default value を生じないようにすれば良いんでしょう
ね。
岡崎さんの案で行く場合、mime-display-entity を
(let ((button-is-invisible
(eq (cdr (or (assq '*entity-button situation)
(assq 'entity-button situation)))
'invisible))
(header-is-visible
(if (eq (cdr (or (assq '*header situation)
(assq 'header situation)))
'visible)
t
(setq situation (put-alist '*header 'invisible situation))))
(body-is-visible
(if (eq (cdr (or (assq '*body situation)
(assq 'body situation)))
'visible)
t
(setq situation (put-alist '*body 'invisible situation))))
(children (mime-entity-children entity)))
みたいに修正すれば良いでしょうか?(未確認です)
あと、なんとなく、header と body も default では visible とする方が良
いような気もするので、この方向も試したいと思います。
--
===『幾千億の分子に分かれても ========================================
決して忘れない。
この宇宙が終るまで』 守岡 知彦 (MORIOKA Tomohiko)
======================================== Email: <tomo @ etl.go.jp> =====
More information about the Emacs-mime-ja
mailing list