[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

3. 変数


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

3.1 メッセージヘッダー

Message はメッセージを作成する分野の第一線にあって、極めて意欲的です。そ の使命はニュースとメールのエージェントを統合することです。メールとニュー スを一緒に送ることを可能にするためには、メッセージをメールで送ったものと ニュースで送ったものがよく似た見栄えになるように、Message はすべてのヘッ ダーをそれ自身で作成しなければなりません。

message-generate-headers-first

t だったら、すべての必要なヘッダーをメッセージを書き始める前に作 成します。これは作成するヘッダーのリストであっても構いません:

 
(setq message-generate-headers-first
      '(References))

変数 message-required-headersmessage-required-mail-headers およ び message-required-news-headers は、どのヘッダーが必要かを指定し ます。

変数 message-deletable-headers (後述) の設定によっては、いくつか のヘッダーが送信する前に消されて作り直されることに注意してください。

message-draft-headers

Message が Gnus 上で走っている場合、メッセージバッファーはドラフトグルー プと関連付けられています。message-draft-headers は、そのドラフト グループにドラフトが記録されるときに、どのヘッダーが作成されるべきかを指 示します。

message-from-style

From ヘッダーをどういう見栄えにするかを指定します。以下の四つの値 が使えます:

nil

アドレスだけです—‘king@grassland.com’.

parens

king@granssland.com (Elvis Parsley)’.

angles

Elvis Parsley <king@grassland.com>’.

default

引用符で囲む必要がある場合 (*) は parens と同様の見栄えにします。 そうでなければ angles の場合と同じような見栄えにします。 parens の形式を使ってもなお引用符で囲まなければならない場 合 (*) は、有無を言わずに angles の形式を使います。

訳注*: フルネームの部分が特殊文字を含んでいる場合

message-deletable-headers

前もって Message が作成したヘッダーのうち、このリストに含まれているもの は投稿する前に削除されます。記事を投稿したとしましょう。それから、いたず ら好きなあなたはそれをどこか別のグループに再び投稿することを決心したので、 *post-buf* バッファーに戻って Newsgroups 行を編集し、再び 送り出したとします。ディフォルトでは、この変数は前に作られた古 い Message-ID を取り除いて、新しいものを作ることを確実にします。 もしこれが行なわれないと、おそらく帝国全体が滅亡して無政府状態がはびこり、 猫が二本の足で歩き始めて世界を支配するでしょう。伝え聞くところによれば。

message-default-headers

送信するメッセージに挿入されるヘッダー行です。編集前に挿入されるので、書 き換えたり削除できます。もし文字列に設定されていれば、そのまま挿入されま す。もし関数に設定されていると、呼ばれてその結果が挿入されます。

message-subject-re-regexp

メッセージへの応答には ‘Re: ’ で始まる表題があります。これは英単語 の“response”の略では ありません。ラテン語で「それに応答して」 (in response to) と言う意味です。無教養な馬鹿者どもはこの事実をとり損ね て、代わりに忌まわしい ‘Aw: ’ (antwort) や ‘Sv: ’ (svar) を使 うように、彼らのソフトウェアを「国際化」しました。それは無意味だし邪悪で す。しかし、あなたはこれらの邪悪な道具を使う利用者と応対しなければならな いかもしれません。そういう場合には、この変数をそれらの接頭語に合致する正 規表現に設定することができます。私ですか? 私は規格に従わないメールはた だ捨て去っているだけです。

これは、返事をするときにそれらのヘッダーに対処するための値の例です:

 
(setq message-subject-re-regexp
      (concat
       "^[ \t]*"
         "\\("
           "\\("
             "[Aa][Nn][Tt][Ww]\\.?\\|"     ; antw
             "[Aa][Ww]\\|"                 ; aw
             "[Ff][Ww][Dd]?\\|"            ; fwd
             "[Oo][Dd][Pp]\\|"             ; odp
             "[Rr][Ee]\\|"                 ; re
             "[Rr][\311\351][Ff]\\.?\\|"   ; ref
             "[Ss][Vv]"                    ; sv
           "\\)"
           "\\(\\[[0-9]*\\]\\)"
           "*:[ \t]*"
         "\\)"
       "*[ \t]*"
       ))
message-subject-trailing-was-query

表題の行にぶら下がっている ‘(was: <古い表題>)’ をどうするかを制御し ます。nil だったら表題をそのままにしておきます。ask という シンボルだったら、どうするかを利用者に尋ねます。表題 が message-subject-trailing-was-ask-regexp に合致する場合だけです が。message-subject-trailing-was-queryt だったら、常に ぶら下がった古い表題をはぎ取ります。その場合 は message-subject-trailing-was-regexp が使われます。

message-alternative-emails

あなたの第二、第三のメールアドレスに合致する正規表現です。元の記事の To、 Cc または From ヘッダーにあって、この変数に合致する最初のアドレスが、ディ フォルトの From の値を置き換えて、出て行くメッセージの From 欄として使わ れます。

例えばあなたが john@home.net および john.doe@work.com という第二の電子 メールアドレスを持っていて、それらに宛てて送られてきたメッセージに返信す るときに、それらを From 欄で使いたければ、この変数を次のように設定すれば 良いでしょう:

 
(setq message-alternative-emails
      (regexp-opt '("john@home.net" "john.doe@work.com")))

この変数は、投稿様式 (posting styles) や message-setup-hook を実 行することによって設定されるどんなものよりも優先します。

message-allow-no-recipients

GccFcc 以外に受取人がいなかった場合 (訳注: To, Cc, Newsgroups などが空だった場合) に、何をするかを設定します。 always だったら送信できますが、never だったら送信できませ ん。ask (それがディフォルト) だったら、どうするかを尋ねられます。

message-hidden-headers

正規表現、正規表現のリスト、または最初の要素が not で残りが正規表 現であるリストです。メッセージを作成しているときに、どのヘッダーを隠した ままにしておくかを決めます。

 
(setq message-hidden-headers
      '(not "From" "Subject" "To" "Cc" "Newsgroups"))

それらのヘッダーは、それら以外の部分にバッファーを狭めるこ と (narrowing) によって隠されます。M-x widen を使うことによって、 それらが見えるようにすることができます。

message-header-synonyms

似た意味を持つヘッダー名のリストのリストです。例えばこのリスト が CcTo を要素に持つリストを含んでいると、メッセージが すでに受信者に Cc されている場合、 message-carefully-insert-headersTo ヘッダーを挿入しま せん。


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

3.2 メールヘッダー

message-required-mail-headers

この変数の構文については ニュースヘッダー を参照してください。ディフォ ルトは (From Subject Date (optional . In-Reply-To) Message-ID (optional . User-Agent)) です。

message-ignored-mail-headers

メールを出す前に取り除かれるヘッダーの正規表現です。 ディフォルトは
^[GF]cc:\\|^Resent-Fcc:\\|^Xref:\\|^X-Draft-From:\\|
^X-Gnus-Agent-Meta-Information:
’ です。

message-default-mail-headers

この文字列はメールとして初期化されたすべてのメッセージバッファーの、ヘッ ダーの最後尾に挿入されます。

message-generate-hashcash

メッセージのための ‘X-Hashcash’ ヘッダーを計算して付加すべきかどう かを指示する変数です。See (gnus-ja)Hashcash section ‘Hashcash’ in The Gnus Manual. opportunistic にすると、ユーザーを待たせない場合に限り、 ヘッダーを作ります。


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

3.3 メール変数

message-send-mail-function

現在のバッファーをメールとして送るために使われる関数です。ディフォルト は message-send-mail-with-sendmail、またはシステムによって は smtpmail-send-it です。他 に message-send-mail-with-mailclient, message-send-mail-with-mh, message-send-mail-with-qmail, message-smtpmail-send-it および feedmail-send-it が使えま す。

関数 message-send-mail-with-sendmail は記事を順番待ちに入れた り (queuing) 送信するために、記事を sendmail コマンドにパイプしま す。ローカルシステムが sendmail でメールを送信するように設定され ていなくても、遠隔 SMTP サーバーに接続することができるのであれ ば、message-send-mail-functionsmtpmail-send-it に設定 することができます。smtpmail パッケージを使うために正しい設定がな されているかどうか確認してください。例です:

 
(setq message-send-mail-function 'smtpmail-send-it
      smtpmail-default-smtp-server "YOUR SMTP HOST")

これと似たものに message-smtpmail-send-it があります。 ISP が POP-before-SMTP の認証を要求する場合に有用で す。See (gnus-ja)POP before SMTP section ‘POP before SMTP’ in The Gnus Manual.

message-mh-deletable-headers

ほとんどの版の MH は、この変数に設定されているヘッダーを含んでいるメッセー ジを食わされるのを嫌います。この変数が nil でない (これがディフォ ルトですが) なら、これらのヘッダーは MH を介してメッセージを送る前に取り 除かれます。あなたの MH がこれらのヘッダーを扱うことができるのであれば、 nil に設定してください。

message-qmail-inject-program

qmail-inject プログラムがある場所です。

message-qmail-inject-args

qmail-inject プログラムに渡す引数です。これは文字列のリストで、それぞれ の引数は一つの文字列でなければなりません。これは関数でも構いません。

例えば、メールが弾かれてしまった場合の正しい戻り先を指定したり、メーリン グリストのサーバーのアドレスの仕様規定に対処するために“envelope sender” のアドレスを設定したい場合は、この変数 を '("-f" "you@some.where") にすれば良いでしょう。

訳注:“envelope sender”はメールを送信するときに MTA に渡す真の送信者の アドレスで、ヘッダーの ‘From:’ 行に書くものとは別です。

message-sendmail-f-is-evil

nil ではない値にすると、sendmail のコマンド行 に ‘-f username’ を付加しません。そうすることは、付加するようにして おくより邪悪ですらあるでしょう。

訳注: ディフォルトでは“envelope sender”を指定するために付加します。 sendmail のディフォルトの動作では、それを指定されると「真の送信者が書き 換えられた」という意味にも解釈されることが書かれ た ‘X-Authentication-Warning:’ ヘッダーを追加します。

message-sendmail-envelope-from

message-sendmail-f-is-evilnil のとき、この文字列 で SMTP エンベロープで使うアドレス (“envelope sender”) を指 定します。nil だったら user-mail-address を使います。 header というシンボルだったら、メッセージの ‘From’ ヘッダー を使います。

message-mailer-swallows-blank-line

システムのメイラーがヘッダーと本文を一緒にしてしまう場合は nil で はない値に設定してください。(SunOS 4 において sendmail がリモートモード で動作する場合が該当します。) 値は、障害が実際に起きるかどうかをテストす るための式にすべきです。

訳注: 具体的には、本文の第一行目以降にヘッダーのようなテキストがあると、 それらがヘッダーの一部だと見なされてしまう問題です。

message-send-mail-partially-limit

message/partial として送信されるメッセージのサイズの制限です。それを越え たらメッセージを分割して送るべきメッセージの大きさの下限を、文字数で換算 した値です (訳注: 日本語的には「下限」ではなく「上限」)。nil だっ たら (それがディフォルトです)、サイズは無制限になります。


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

3.4 ニュースヘッダー

message-required-news-headers はヘッダーのシンボルのリストです。 これらのヘッダーは自動的に作成されるか、もしくはそれが不可能であれば (訳 注: 値が自動で定まらなければ)、利用者に入力してもらうことを要求します。 以下のシンボルが使えます:

From

この必須のヘッダーは message-make-from 関数によって作られます。そ れは変数 message-from-style, user-full-name, user-mail-address に依存します。

Subject

この必須のヘッダーは、まだ存在しない場合は入力を求められます。

Newsgroups

この必須のヘッダーは、記事を投稿するニュースグループを指定します。まだ存 在しない場合は入力を求められます。

Organization

このあっても無くても良いヘッダーは、message-user-organization 変 数に応じた値が作られます。この変数が t だった ら message-user-organization-file が使われます。この変数は文字列 でも良いし (その場合はその文字列が使われます)、関数であっても構いませ ん (その関数は引数無しで呼ばれ、文字列を返さなければなりません)。

Lines

このあっても無くても良いヘッダーは Message が計算して作ります。

Message-ID

この必須のヘッダーは Message によって作成されます。日付、時刻、 (ローカ ル部のための) 利用者名、およびドメイン部に基づいたユニークな ID です。ド メイン部については、有効な FQDN (完全に条件を満たしたドメイン名) らしい ものが見つからない場合、message は message-user-fqdn, system-name, mail-host-address およ び message-user-mail-address (すなわ ち user-mail-address) を (この順で) 探します。

User-Agent

このあっても無くても良いヘッダーは、ローカル変 数 message-newsreader に従って作られます。

In-Reply-To

このあっても無くても良いヘッダーは、返答しようとしている記事 の DateFrom ヘッダーを元に作られます。

Expires

このあろうが無かろうが本当にどうでも良いヘッダーは、 message-expires 変数に従って挿入されます。これを使うことは強く非 難されているので、自分が何をしているかをわかっていないなら、使うべきでは ありません。

Distribution

このあっても無くても良いヘッダーは、 message-distribution-function 変数が指定する関数が作ります。これ を使うことは非難されていて、非常に誤解されたヘッダーです。

訳注: message-distribution-function のディフォルト値 は nil なので、そのままではこれを指定して も ‘Distribution:’ ヘッダーは挿入されません。C-c C-f C-d 命令 を使って、手で記入することはできます。ただし配送範囲の制限はニュースサー バーが管理すべきであって、利用者が記入する必要は普通は無いはずです。

Path

このあろうが無かろうが本当にどうでも良いヘッダーは、おそらく決して (利用 者が) 使ってはいけないものです。しかしいくつかの とても 古いサー バーは、このヘッダーが存在することが必要なのです。 message-user-path 変数が、この Path ヘッダーをどういう見栄 えにするかをさらに制御します。nil だったらサーバー名を端点 (leaf node) として使います。文字列だったら、その文字列を使います。それが文字列 でも nil でもなかったら、利用者の名前だけを使います。しかし、この 変数をいじくらなければならなくなる機会は非常に少ないでしょう。

加えて、このリストに cons を入れることができます。こ の cons の CAR はシンボルでなければなりません。このシンボルの名前は ヘッダー名です。また CDR は、このヘッダーの値としてそのまま入れられ る文字列か関数のどちらかです。例えば Mime-Version: 1.0 を挿入した い場合は、リストに (Mime-Version . "1.0") を入れなければなりませ ん。もし滑稽な引用文を挿入したいのなら、(X-Yow . yow) のようなも のをリストに入れることができるでしょう。そうすると、関数 yow が引 数無しで呼ばれます。

CARoptional である cons をリストが含んでいる場合は、そ の cons の CDRnil でないときだけ (その CDR が) 挿入 されます。

このリストからある項目を消したいときは、以下の Lisp の切れ端が役に立つで しょう。他の要素を削除したいときはそれに合わせてください。

 
(setq message-required-news-headers
      (delq 'Message-ID message-required-news-headers))

出て行くニュース記事をカスタマイズするための他の変数:

message-syntax-checks

出て行くメッセージの、どの構文の検査をすべきではないかを制御します。例え ば、長い署名の検査を禁止するには、このリストに

 
(signature . disabled)

を加えてください。

有効な検査は以下の通りです (訳注: これらの検査の一部はメールでも行なわれ ます):

approved

記事に Approved ヘッダーがあるかどうかを調べます。それは司会者の ような人だけが含めるはずのものです。

continuation-headers

空白で始まらない継続したヘッダー行があるかどうかを調べます。

control-chars

使ってはいけない文字を調べます。

empty

記事が空かどうかを調べます。

existing-newsgroups

NewsgroupsFollouup-to ヘッダーに記入されているニュース グループが存在するかどうかを調べます。

from

From ヘッダーがまともかどうかを調べます。

illegible-text

本文に印字できない文字があるかどうかを調べます。

invisible-text

バッファーに見えないテキストがあるかどうかを調べます。

long-header-lines

長すぎるヘッダー行を調べます。

long-lines

本文の中の長すぎる行を調べます。

message-id

Message-ID が構文的にまともかどうかを調べます。

multiple-headers

複数の同じヘッダーの存在を調べます。

new-text

メッセージに新しい文があるかどうか (訳注: 引用ばかりでないかどうか) を調 べます。

newsgroups

空でない Newsgroups ヘッダーがあるかどうかを調べます。

quoting-style

最後の引用部分に続くテキストがあるかどうかを調べます。

repeated-newsgroups

NewsgroupsFollowup-to ヘッダーで、同じグループ名が繰り 返し使われているかどうかを調べます。

reply-to

Reply-To ヘッダーがまともかどうかを調べます。

sender

From ヘッダーが変だったら、新しい Sender ヘッダーを挿入し ます。

sendsys

Sendsys:’ か ‘Version:’ ヘッダーがあるかどうかを調べます (訳 注: いずれもニュースの管理人だけが使うものです)。

shoot

Message-ID ヘッダーのドメイン項がまともかどうかを調べます。

shorten-followup-to

投稿するグループの数を Followup-to ヘッダーを付け加えること によって少なくするかどうかを調べます (訳注: 複数のニュースグルー プに投稿する記事に Followup-to ヘッダーが無い場合に発動され、 Followup-to ヘッダーに記入する値の入力を要求します)。

signature

署名の長さを調べます。

size

サイズが大きすぎないかどうかを調べます。

subject

空でない Subject ヘッダーがあるかどうかを調べます。

subject-cmsg

ニュースのコントロールメッセージのような表題があるかどうかを調べます。 (訳注: 表題が ‘cmsg’ で始まるもので、ニュースの管理人だけが使います。 一般の利用者がニュース記事の取り消し (cancel) を行なうときにも使いますが、 その場合は、この検査を通らずに、それ専用の枠組みで実行されます。)

valid-newsgroups

NewsgroupsFollowup-to ヘッダーが構文的に正しいかどうか を調べます。

ディフォルトでは、これらすべての条件が調べられます。ただ し message-insert-canlocknil だったらディフォルトでは 検査が行なわれない sender を除きます。See section ニュースを取り消す.

message-ignored-news-headers

投稿する前に取り除かれるヘッダーの正規表現です。 ディフォルトは
^NNTP-Posting-Host:\\|^Xref:\\|^[BGF]cc:\\|^Resent-Fcc:\\|
^X-Draft-From:\\|^X-Gnus-Agent-Meta-Information:
’ です。

message-default-news-headers

この文字列はニュースとして初期化されたすべてのメッセージバッファーの、ヘッ ダーの最後尾に挿入されます。


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

3.5 ニュース変数

message-send-news-function

現在のバッファーをニュースとして送るために使われる関数です。ディフォルト は mesage-send-news です。

message-post-method

できあがったニュースメッセージを投稿するために使われる Gnus の「選択方法」 (詳細は Gnus マニュアルを見てください) です。


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

3.6 挿入するための変数

message-cite-style

返信するときに使う総体的な様式です。引用と返信文の位置関係をどうするか、 どんな形式で引用するか、シグネチャをどこに置くか、というような物事をこれ で決定します。

値は nil (どの変数も覆しません) またはディフォルト値を覆すため の (VARIABLE VALUE) というペアの let 型リストのどちらかです。

特定のグループのためにこの変数を設定するに は gnus-posting-styles を参照してください。よく使われているいろい ろなメール・エージェントをまねた設定が message-cite-style-* とい う変数に用意されています。

message-cite-reply-position

返信文をどこに置くかを指定します。使うことができる様式には、インラインで 返信するための traditional、先頭に返信文を書く (top-posting) ため の above、および文末に返信文を書くための below があります。

message-ignored-cited-headers

この正規表現に合致するすべてのヘッダーが、引用のために yank されたメッセー ジから取り除かれます。ディフォルトは ‘.’ で、すべてのヘッダーが取り 除かれると言うことです。

message-cite-prefix-regexp

行の引用接頭語として見なすことができるものに最大限に合致する正規表現です。

message-citation-line-function

引用行を挿入するために呼ばれる関数です。ディフォルト は message-insert-citation-line で、これは引用行を次のようにしま す:

 
Hallvard B Furuseth <h.b.furuseth@usit.uio.no> writes:

この関数が呼ばれたとき、ポイントはメッセージの本文の先頭に置かれるでしょ う。

なお Gnus には、‘writes:’ の上でクリックすると引用されたテキストを隠す機 能があります。もしあなたが度を越して引用行を変更してしまうと、それを読む 人たちも彼らの Gnus を対応させなければならなくなるでしょう。変 数 gnus-cite-attribution-suffix を参照してください。詳細 は See (gnus-ja)Article Highlighting section ‘記事のハイライト’ in The Gnus Manual, にあります。

message-yank-prefix

記事に返答かフォローアップをするときは、普通はあなたが応答しようとしてい る人を引用したいでしょう。引用文の挿入は“yank”することによって行なわれ、 それぞれの yank された行の前に message-yank-prefix が付けられま す (すでに引用符 message-yank-cited-prefix が付いている行と、 message-yank-empty-prefix が付けられた空行は対象外です)。ディフォ ルトは ‘> ’ です。

message-yank-cited-prefix

すでに引用されたテキストを含む記事から yank するとき、それぞれの行にはこ の変数の値が前置されます。ディフォルトは ‘>’ です。 message-yank-prefix も参照してください。

message-yank-empty-prefix

記事からテキストを引用するとき、それぞれの空行にこの変数の値が前置されま す。ディフォルトは ‘>’ です。この変数を空文字に設定することによって、 引用されたテキストを自動的に段落分けすることができます。 message-yank-prefix も参照してください。

message-indentation-spaces

Yank されたメッセージを字下げするための空白の数です。

message-cite-function

元記事を引用するための関数です。ディフォルト は message-cite-original で、これは単純に元のメッセージを挿入して、 それぞれの行の頭に ‘> ’ をくっ付けます。 message-cite-original-without-signature は同様のことをしますが、 署名を省きます。

message-indent-citation-function

メールバッファーに挿入された引用文を修正するための関数です。これは関数の リストであることもできます。それぞれの関数 は (point)(mark t) の間で引用を見つけることができます。 そしてそれぞれの関数は、修正された引用文の周り (の修正前と同等の場所) に ポイントとマークが置かれたままになっているようにしなければなりません。

message-mark-insert-begin

挿入された何らかのテキストの始まりに、印を付けるための文字列です。

message-mark-insert-end

挿入された何らかのテキストの終りに、印を付けるための文字列です。

message-signature

メッセージバッファーの最後に挿入される文字列です。もし t (これが ディフォルトです) であれば、ファイル message-signature-file が代 わりに挿入されます。もし関数であれば、関数の結果が代わりに使われます。も し式であれば、式の結果が変わりに使われます。この変数が nil だった ら、署名はまったく挿入されません。

message-signature-file

バッファーの最後に挿入される、署名の入っているファイルです。ディレクトリー が指定されていると、message-signature-directory の値はたとえ設定 されていても無視されます。ディフォルトは ‘~/.signature’ です。

message-signature-directory

署名ファイルを置くディレクトリーの名前です。そういうファイルをたくさん持っ ているならば、例えば投稿様式 (Gnus posting styles) でそれらを切り替える 際に役立ちます。もし nil だったら (それがディフォルト)、 message-signature-file がディレクトリーも指定すると見なされます。

message-signature-insert-empty-line

t (ディフォルト値) だったら、署名と本文を分離する記号の前に空行が 挿入されます。

RFC1036bis は、署名はその前に ‘-- ’ の三文字だけの行があるべきであ ると言っていることに注意してください。これは受け手が自動的に署名を認識し て、処理をすることを簡単にするためです。ですから、その、あなたの美しいデ ザインを、それが台無しにしていると感じても、それらの文字を取り除かないで ください。

署名は四行より多くなるべきでは無いと言うことも注意してください。 ASCII の絵を入れることは、皆にあなたが馬鹿で何も重要なことは言 わないということを信じさせるための効果的な方法です。


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

3.7 いろいろなメッセージ変数

message-default-charset

MIME 文字セット名のシンボルです。メッセージ内の 非-ASCII 文字は、この文字セットを使ってエンコードされることに なっています。ディフォルトは MULE 機能が無い Emacsen で は iso-8859-1 です。それ以外では nil で、利用者に尋ねるこ とを意味します。(この変数は MULE 機能が無い Emacs でのみ使われます。) MULE から MIME への置き換え処理の詳細 は See (emacs-mime-ja)Charset Translation section ‘文字セットの変換’ in Emacs MIME Manual, を参照してください。

message-fill-column

メッセージバッファーで行がこの桁数を越えると自動的な折り返しを起こすべき、 バッファーローカルな値です。nil ではない値 (ディフォルト) でメッ セージバッファーの自動折り返しが ON になります。

message-signature-separator

署名と本文を分離する記号に合致する正規表現です。ディフォルト は ‘^-- *$’ です。

mail-header-separator

ヘッダーを本文から分けるために使われる文字列です。ディフォルト は ‘--text follows this line--’ です。

message-directory

メールに関係する多くの処理で使われるディレクトリーです。ディフォルト は ‘~/Mail/’ です。メールに関する他のファイル名やディレクトリー名を 指定する変数の値は、この message-directory の値を基点にして派生し ます。

message-auto-save-directory

Gnus が動作していないときに Message がバッファーを自動保存するディレクト リーです。nil だったら Message は自動保存を行ないません。ディフォ ルトは ‘~/Mail/drafts/’ です。

message-signature-setup-hook

メッセージバッファーを初期化するときに実行されるフックです。それはヘッダー が挿入された後の、まだ署名が挿入されていないときに実行されます。

message-setup-hook

メッセージバッファーを初期化する処理の最後に、まだ yank される文章が挿入 されていないときに実行されるフックです。

message-header-setup-hook

ヘッダーを初期化した後に、ヘッダーに範囲を狭めて呼ばれるフックです。

例えば、Gnus を実行していて、すべてのニュース記事とメーリングリストに送 るすべてのメッセージに ‘Mail-Copies-To’ ヘッダーを挿入したいのであ れば、以下のようなことができます:

 
(defun my-message-header-setup-hook ()
  (let ((group (or gnus-newsgroup-name "")))
    (when (or (message-fetch-field "newsgroups")
              (gnus-group-find-parameter group 'to-address)
              (gnus-group-find-parameter group 'to-list))
      (insert "Mail-Copies-To: never\n"))))

(add-hook 'message-header-setup-hook
          'my-message-header-setup-hook)
message-send-hook

メッセージを送る前に実行されるフックです。

もし送る前に特定のヘッダーを加えたいのであれば、 message-add-header 関数をこのフックに使うことができます。例えば:

 
(add-hook 'message-send-hook 'my-message-add-content)
(defun my-message-add-content ()
  (message-add-header "X-In-No-Sense: Nonsense")
  (message-add-header "X-Whatever: no"))

この関数は、そのヘッダーがすでに存在している場合はヘッダーを加えません。

message-send-mail-hook

メールメッセージを送る前に実行されるフックです。このフックは非常に遅い時 期—メッセージがメールとして実際に送信される直前—に実行されます。

message-send-news-hook

ニュースメッセージを送る前に実行されるフックです。このフックは非常に遅い 時期—メッセージがニュースとして実際に送信される直前—に実行されます。

message-sent-hook

メッセージを送った後で実行されるフックです。

message-cancel-hook

ニュース記事の取り消し (cancel) を行なうときに実行されるフックです。

message-mode-syntax-table

メッセージモードのバッファーで使われる構文テーブルです。

message-cite-articles-with-x-no-archive

非-nil だったら、‘X-No-Archive’ が設定されている記事から引用 されたテキストを取り除きません。この変数が nil になっていても、 undo のキー操作を行なうことによって取り除かれたテキストを元に戻す ことができます。

message-strip-special-text-properties

Emacs はメッセージ作成をいろいろに壊してしまうことができる多くの特別なテ キスト属性 (text properties) を持っています。この変数が非-nil に 設定されていると、message はそれらの属性をメッセージを作成するバッファー から剥ぎ取ります。しかしいくつかのパッケージは、動作するためにそれらの属 性が存在していることが必要です。それらのパッケージの一つを使うのならば、 このオプションを off にして、メッセージが壊れてしまわないことを祈ってく ださい。

訳注: 日本語入力のためのパッケージである tamago 第四版は、まさにテキスト 属性を巧みに駆使しています。そのため、この変数が非-nil に設定され ていても、message は tamago が使うテキスト属性だけは特別扱いして、剥ぎ取 らないようになっています。

message-send-method-alist

メッセージを送出するための方法を指定する連想リストです。それぞれの要素は 次の形式になっています:

 
(type predicate function)
type

方法の呼称を指定するシンボルです。

predicate

そのメッセージが type の型のメッセージであるかどうかを判定するため に、引数無しで呼ばれる関数です。関数はそのメッセージがあるバッファーで呼 び出されます。

function

predicatenil ではない値を返したときに呼ばれる関数です。 function は一つの引数—接頭引数 (訳注: C-c C-c 命令に先立っ て与えられた接頭引数)—と共に呼ばれます。

ディフォルトは次のようになっています:

 
((news message-news-p message-send-via-news)
 (mail message-mail-p message-send-via-mail))

message-news-p 関数はそのメッセージがニュース記事のように見える場 合に nil ではない値を返し、message-send-via-news 関数 は message-send-news-function 変数 (see section ニュース変数) に設 定された関数を呼び出して、そのメッセージを送信します。 message-mail-p 関数はそのメッセージがメールのように見える場合 に nil ではない値を返し、message-send-via-mail 関数 は message-send-mail-function 変数 (see section メール変数) に設 定された関数を呼び出して、そのメッセージを送信します。

message-send-method-alist の各要素は先頭から順にすべて試されるの で、例えば有効な ‘Newsgroups:’ ヘッダーと ‘To:’ ヘッダーの両方 を持っているメッセージは、まずニュースとして送信された後にメールとしても 送信されます。


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

3.8 送るための変数

message-fcc-handler-function

出て行く記事を保存するために呼ばれる関数です。この関数は記事を格納するた めのファイル名と共に呼ばれます。ディフォルトの関数は Unix mailbox 様式で 保存する message-output です。

message-courtesy-message

複合メッセージ (訳注: ニュースとメールの両方で送信するメッセージ) を送る ときに、この文字列がメールで送られる複製の方の本文の先頭に挿入されます。 もしその文字列が ‘%s’ 書法仕様を含んでいたら、記事が投稿されたニュー スグループがそこに挿入されます。この変数が nil だったら、そのよう な親切メッセージは加えられません。ディフォルト値は ‘"The following message is a courtesy copy of an article\nthat has been posted to %s as well.\n\n"’ です。

message-fcc-externalize-attachments

nil だったら、Fcc で保存するメッセージのコピーに通常のパートとし てファイルを添付します。非-nil だった場合は、外部パートとしてロー カルファイルを添付します (訳注: そのパートをローカルファイルに書き出し て、メッセージにはそのファイルの格納場所を示すタグだけを含んでいるパート を付けます)。

message-interactive

nil でなかったら、メッセージを送信するときにエラーが出るのを待っ て表示します。nil だったら、エラーの報告をメールで行ないます。

message-confirm-send

nil でなかったら、Gnus はメッセージを送信するときに確認を求めます。


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

3.9 メッセージバッファー

Message はあなたがメッセージバッファーを要求したときに、ユニークな (唯一 無二の) バッファー名で新しいバッファーを作ります。メッセージを送ったとき に、バッファーは普通は削除されません。その名前は変更されて、特定の数の古 いメッセージバッファーが残されます。

message-generate-new-buffers

メッセージを書くために新しいメッセージバッファーを作るかどうかを制御しま す。次の値が有効です:

nil

メッセージのやり方でバッファーの名前を生成 (例えば *mail*, *news*, *mail to whom*, *news on group* など) して、その名前の既存のバッファーで編集を 続行します。そのようなバッファーが無い場合は、新たに作られます。

unique
t

メッセージのやり方で生成された名前で新しいバッファーを作ります。

unsent

unique に似ていますが、バッファー名が "*unsent " で始まります。

standard

nil に似ていますが、*mail message* のような、より単純なバッファー 名になります。

function

もしこれが関数だったら、その関数を三つの引数—その型、送り先のアドレス、 グループ名—と共に呼びます (これらのどれもが nil でありえます)。 その関数は新しいバッファー名を返さなければなりません。

ディフォルト値は unsent です。

message-max-buffers

この変数はどのくらい古いメッセージバッファーを残しておくかを指定します。 これより多いメッセージバッファーがあれば、一番古いバッファーが削除されま す。ディフォルトは 10 です。この変数が nil だったら、古いメッセー ジバッファーは削除されません。

message-send-rename-function

メッセージを送った後で、バッファーの名前は、例え ば ‘*reply to Lars*’ から ‘*sent reply to Lars*’ に変更されま す。もしこれが好きではないのならば、この変数をあなたの好きな方法でバッ ファーの名前を変更する関数に設定してください。そもそもバッファー名を変更 することを好まないのであれば、次のようにすれば良いでしょう:

 
(setq message-send-rename-function 'ignore)
message-kill-buffer-on-exit

nil でなければ、終了時にすぐにバッファーを削除します。


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

3.10 メッセージが請け負う仕事

Message がニュース/メールリーダーから使われているときに、リーダーにはメッ セージが送られた後で行なう何らかの仕事が課せられることがよくあります。お そらく前のウィンドウ配置に戻したり、記事にそれが返答されたことを表す印を 付けるようなことでしょう。

利用者はいろいろな方法でメッセージバッファーを終わらせることができます。 最も良くあるのは C-c C-c で、それはメッセージを送って終了します。 他の可能性としては C-c C-s があります。これはメッセージを送るだけ です。C-c C-d はメッセージを後で編集することにして、メッセージバッ ファーを bury-buffer します (訳注: それを Emacs 上に存在するバッ ファーのリストの最後の要素にして隠します)。そして C-c C-k はメッセー ジバッファーを削除します。これらのそれぞれの動作は、それらと関連付けられ た請け負い仕事を含んでいるリストを持っています。そのリスト は message-send-actions, message-exit-actions, message-postpone-actions および message-kill-actions です。

Message はこれらのリストを操作するために message-add-action 関数 を用意しています。第一引数は加えられる請け負い仕事で、残りの引数はどのリ ストにこの請け負い仕事を加えるかを指定します。これは Gnus から使う例です:

 
  (message-add-action
   `(set-window-configuration ,(current-window-configuration))
   'exit 'postpone 'kill)

これはメッセージバッファーが削除 (kill)、延期 (postpone)、終了 (kill) さ れたときに、Gnus のウィンドウ配置を復活させるためのものです。

第一引数に与える「請け負い仕事」は次のどれかです: 普通の関数、 car が関数で CDR が引数のリストであるリスト、また は eval (評価) される式です。

訳注: たぶん実際のソースコードを見た方が話が早いでしょう。


[ << ] [ >> ]           [Top] [Contents] [Index] [ ? ]

This document was generated by Yasutaka SHINDOH on May 11, 2011 using texi2html 1.82.