0
|
1 .\" This file is automatically generated. Do not edit!
|
|
2 .\" written by MH-plus project
|
|
3 .SC MHL 1
|
|
4 .NA
|
|
5 mhl \- MH メッセージを整形する
|
|
6 .SY
|
|
7 /usr/local/mh/lib/mhl
|
|
8 \%[\-bell] \%[\-nobell]
|
|
9 \%[\-clear] \%[\-noclear]
|
|
10 \%[\-folder\ +folder]
|
|
11 \%[\-form\ formfile]
|
|
12 \%[\-length\ lines] \%[\-width\ columns]
|
|
13 \%[\-moreproc\ program] \%[\-nomoreproc]
|
|
14 \%[files\ ...]
|
|
15 \%[\-help]
|
|
16 .DE
|
|
17 \fImhl\fR はメッセージを整形表示するプログラムです。
|
|
18 これは \fImore\fR\0(1) (デフォルトの \fIshowproc\fR\0)
|
|
19 の置換えとして設計されています。
|
|
20 \fImore\fR 同様、
|
|
21 引数(あるいは標準入力)として指定されたメッセージそれぞれを出力します。
|
|
22 もし、複数のメッセージが指定された場合、
|
|
23 それぞれの出力前にプロンプトが出、
|
|
24 <RETURN> または <EOT> で出力を開始します。
|
|
25 <RETURN> の場合は(適切な場合は)画面を消去し、
|
|
26 <EOT> (通常は CTRL\-D) の場合は画面消去はしません。
|
|
27 <INTERRUPT> (通常は CTRL\-C) はそのメッセージの出力をやめて、
|
|
28 次のメッセージ(あるのなら)のプロンプトを出します。
|
|
29 <QUIT> (通常 CTRL-\\) はプログラムを終了します(コアダンプはしません)。
|
|
30
|
|
31 `\-bell' オプションを付けると、
|
|
32 \fImhl\fR はそれぞれのページの最後でベルを鳴らします。
|
|
33 一方、`\-clear' オプションを付けると、
|
|
34 \fImhl\fR はそれぞれのページの最後で画面を消去します
|
|
35 (または、それぞれのメッセージの後で改ページを出力します)。
|
|
36 これらのオプションは両方とも(そしてその逆の意味のものも)
|
|
37 プロファイル・エントリ \fImoreproc\fR が空と定義されていて、
|
|
38 \fImhl\fR が端末に出力している時にだけ効果があります。
|
|
39 \fImoreproc\fR エントリが空でなく何か定義されていて、
|
|
40 \fImhl\fR の出力が端末の場合は、
|
|
41 \fImhl\fR は、\fImoreproc\fR を端末と \fImhl\fR の間に置き、
|
|
42 これらのオプションを無視します。
|
|
43 さらに、
|
|
44 `\-clear' オプションが指定され、\fImhl\fR の出力が端末の場合、
|
|
45 \fImhl\fR は画面消去の方法を見つけるために、
|
|
46 ユーザーの端末のタイプを決めようと、環境変数 \fB$TERM\fR と \fB$TERMCAP\fR
|
|
47 を見ます。
|
|
48 もし `\-clear' オプションが指定され、\fImhl\fR の出力が端末でない場合
|
|
49 (例えば、パイプやファイルの場合)、
|
|
50 \fImhl\fR はそれぞれのメッセージの後に改ページを送ります。
|
|
51
|
|
52 デフォルトの \fImoreproc\fR やプロファイル・エントリを置き換えるためには
|
|
53 `\-moreproc\ program' オプションが使えます。
|
|
54 \fImhl\fR をハードコピー端末で起動すると、
|
|
55 決して \fImoreproc\fR を開始させる事はない点に注意して下さい。
|
|
56
|
|
57 `\-length\ length' と `\-width\ width' オプションはそれぞれ画面の長さと
|
|
58 幅を設定します。
|
|
59 デフォルトは \fB$TERMCAP\fR が指し示す値で、
|
|
60 分からなければ、それぞれ 40 と 80 が使われます。
|
|
61
|
|
62 \fImhl\fR のデフォルトのフォーマット・ファイルは \fImhl.format\fR で
|
|
63 (これは最初にユーザーの \fIMH\fR ディレクトリの中を探し、次に
|
|
64 \fI/usr/local/mh/lib\fR ディレクトリの中を探します)、
|
|
65 これは `\-form\ formatfile' オプションで変更可能です。
|
|
66
|
|
67 最後に、
|
|
68 `\-folder\ +folder' オプションは \fIMH\fR フォルダ名を設定します。
|
|
69 これは後述の \*(lqmessagename:\*(rq 行に使われます。
|
|
70 デフォルトは、環境変数 \fB$mhfolder\fR が使われ、
|
|
71 \fIshow\fR、\fInext\fR、そして \fIprev\fR はこの値を適切に初期化します。
|
|
72
|
|
73 \fImhl\fR は次の二段階で処理します。
|
|
74 1) フォーマット・ファイルを読んで解釈し、
|
|
75 そして、2) それぞれのメッセージ(ファイル)を処理します。
|
|
76 第一段階では、
|
|
77 フォーマットの内部表現が構造リストとして作られます。
|
|
78 第二段階では、
|
|
79 このリストがそれぞれのメッセージに使われ、
|
|
80 フォーマット・ファイルの指定する形式に従って出力します。
|
|
81
|
|
82 \*(lqmhl.format\*(rq フォーム・ファイルは、画面消去、画面サイズ、
|
|
83 行の折り返し、通過するテキスト、コンポーネントの順序、
|
|
84 そしてコンポーネントの形式などを制御する情報を含んでいます。
|
|
85 さらに、無視すべきコンポーネントのリスト、特別なコンポーネントの組合せが
|
|
86 機能を追加するために定義されます。
|
|
87 出力メッセージはフォーマット・ファイルで指定された順序で出力されます。
|
|
88
|
|
89 mhl.format のそれぞれの行は以下の形式のどれかです。
|
|
90
|
|
91 ;comment
|
|
92 :cleartext
|
|
93 variable[,variable...]
|
|
94 component:[variable,...]
|
|
95
|
|
96 `;' で始まる行は注釈で、無視されます。
|
|
97 `:' で始まる行は生のテキストで、そのまま出力されます。
|
|
98 `:' だけからなる行は空行が出力されます。
|
|
99 \*(lqcomponent:\*(rq で始まる行は指定のコンポーネントの形式を定義します。
|
|
100 そして、最後に残った行は全体の環境を定義します。
|
|
101
|
|
102 例えば、次の行は
|
|
103
|
|
104 .ti +.5i
|
|
105 width=80,length=40,clearscreen,overflowtext="***",overflowoffset=5
|
|
106
|
|
107 画面の大きさを幅 80、長さ 40に設定し、
|
|
108 画面はそれぞれのページを表示する前に消去されるべきである事を表し、
|
|
109 行があふれた場合の字下げは 5 で、
|
|
110 その場合は \*(lq***\*(rq というテキストで示す事を示しています。
|
|
111
|
|
112 以下に挙げるのは現在使える変数とその引数の全てです。
|
|
113 もし、これらがコンポーネントに続いていた場合は、
|
|
114 それはそのコンポーネントにだけ適応され、
|
|
115 そうでない場合は、全体に対して適応されます。
|
|
116 全ての形式は実際に出力が始まる前に解析されますので、
|
|
117 フォーマットの最後に全体に影響する変数を書いた場合でも
|
|
118 (例えば、bell、clearscreen、width、length)、
|
|
119 それは最初からメッセージ全体に適応されます。
|
|
120
|
|
121 .nf
|
|
122 .in +.5i
|
|
123 .ta \w'noclearscreen 'u +\w'integer/G 'u
|
|
124 \fI変数\fR \fI型\fR \fI意味\fR
|
|
125 width 整数 画面の幅、またはコンポーネントの幅
|
|
126 length 整数 画面の長さ、またはコンポーネントの長さ
|
|
127 offset 整数 \*(lqcomponent: \*(rq に対する字下げ量
|
|
128 overflowtext 文字列 あふれた行の最初に使われるテキスト
|
|
129 overflowoffset 整数 あふれた行の字下げ量
|
|
130 compwidth 整数 コンポーネントの最初の行が出力された後の
|
|
131 テキストに対する字下げ量
|
|
132 uppercase フラグ このコンポーネントのテキストは大文字で出力
|
|
133 nouppercase フラグ 大文字にしない
|
|
134 clearscreen フラグ/G それぞれのページの前に画面を消す
|
|
135 noclearscreen フラグ/G 画面消去しない
|
|
136 bell フラグ/G それぞれのページの最後でベルを鳴らす
|
|
137 nobell フラグ/G ベルを鳴らさない
|
|
138 component 文字列/L このコンポーネントに対する
|
|
139 \*(lqcomponent\*(rq の代わりに使われる名前
|
|
140 nocomponent フラグ このコンポーネントは \*(lqcomponent: \*(rq を
|
|
141 出力しない
|
|
142 center フラグ コンポーネントを行の真中に出力
|
|
143 (一行のコンポーネントでのみ働く)
|
|
144 nocenter フラグ 真中に寄せない
|
|
145 leftadjust フラグ それぞれの行で行頭のスペースを取り除く
|
|
146 noleftadjust フラグ leftadjust しない
|
|
147 compress フラグ テキスト中の改行をスペースに置き換える
|
|
148 nocompress フラグ compress しない
|
|
149 split フラグ 複数の行を一行にまとめない
|
|
150 nosplit フラグ 複数の行を一行にまとめる
|
|
151 newline フラグ コンポーネントの最後に改行を書く
|
|
152 (デフォルト)
|
|
153 nonewline フラグ コンポーネントの最後に改行を書かない
|
|
154 formatfield 文字列 このコンポーネントに対する
|
|
155 フォーマット文字列 (後述)
|
|
156 decode フラグ 非ASCII文字のMIME表現をデコードする
|
|
157 addrfield フラグ アドレスを含む行
|
|
158 datefield フラグ 日付を含む行
|
|
159 .re
|
|
160 .in -.5i
|
|
161 .fi
|
|
162
|
|
163 整数値と文字列値の変数の値を指定するには、
|
|
164 それらの名前の後ろにイコール記号と値を書けばいいです。
|
|
165 整数値の変数は 10進数の値を置き、
|
|
166 文字列値の変数はダブルクォートで囲まれた任意のテキストを置きます。
|
|
167 上記の表で型に \*(lq/G\*(rq または \*(lq/L\*(rq が付いているものは、
|
|
168 その値は(それぞれ)全体に対する指定、またはそのコンポーネントだけに対する指定
|
|
169 が出来るものです。
|
|
170
|
|
171 以下の
|
|
172
|
|
173 ignores=component,...
|
|
174
|
|
175 という形式の行は、
|
|
176 出力されない(無視する)コンポーネントのリストを指定します。
|
|
177
|
|
178 コンポーネント \*(lqMessageName\*(rq (大文字小文字は区別しない)は
|
|
179 指定された、または環境で見つかったフォルダ名と、
|
|
180 実際のメッセージ名(ファイル名)が出力されます。
|
|
181 形式は \fIshow\fR に `\-header' オプションをつけた時に出力されるものと
|
|
182 同じです。
|
|
183
|
|
184 コンポーネント \*(lqExtras\*(rq は明示的に指定されていないコンポーネントで、
|
|
185 無視するコンポーネントのリストにも入っていない
|
|
186 全てのコンポーネントを出力します。
|
|
187 もし、このコンポーネントが指定されてない場合は、
|
|
188 明示的に指定されてないコンポーネントは無視されるので、
|
|
189 無視するコンポーネントのリストは必要ありません。
|
|
190
|
|
191 もし \*(lqnocomponent\*(rq が指定されてない場合、
|
|
192 コンポーネント名はフォーマット・ファイルに書かれている通りに出力されます。
|
|
193
|
|
194 デフォルトのフォーマットは次の通りです。
|
|
195
|
|
196 .nf
|
|
197 .in +.5i
|
|
198 .ne 15
|
|
199 .eo
|
|
200 .so /usr/local/mh/lib/mhl.format
|
|
201 .ec
|
|
202 .in -.5i
|
|
203 .fi
|
|
204
|
|
205 変数 \*(lqformatfield\*(rq はフォーマット文字列を指定します
|
|
206 (\fImh\-format\fR\0(5) を参照)。
|
|
207 フラグ値 \*(lqaddrfield\*(rq と \*(lqdatefield\*(rq
|
|
208 (これらは相互排他的です)は、
|
|
209 \fImhl\fR にフォーマット文字列中のエスケープの解釈で、
|
|
210 それぞれアドレスか日付かを指定します。
|
|
211
|
|
212 デフォルトでは、
|
|
213 \fImhl\fR はアドレスや日付を含む行
|
|
214 (これらの行のリストは \fImh\-mail\fR\0(5) を参照)
|
|
215 には何の整形もしません。
|
|
216 \fImhl\fR はアドレスや日付に対してフォーマット文字列を適応させようとすると、
|
|
217 その解析をしなければならないので、この結果、速い処理が可能になります。
|
|
218 もし望むなら、
|
|
219 \fImhl\fR にアドレスまたは日付(両方ではない)に対してデフォルトのフォーマット
|
|
220 文字列を与える事が出来ます。
|
|
221 これをするためには、全体に対して効くように、
|
|
222 addrfield または datefield フラグを適切な formatfield 変数値と共に指定して
|
|
223 下さい。
|
|
224 .Fi
|
|
225 ^/usr/local/mh/lib/mhl.format~^メッセージのテンプレート
|
|
226 ^あるいは <mh\-dir>/mhl.format~^が標準のテンプレートに代わる
|
|
227 ^$HOME/\&.mh\(ruprofile~^ユーザーのプロファイル
|
|
228 .Pr
|
|
229 ^moreproc:~^対話的フロントエンドとして使われるプログラム
|
|
230 .Sa
|
|
231 show(1), ap(8), dp(8)
|
|
232 .De
|
|
233 `\-bell'
|
|
234 .Ds
|
|
235 `\-noclear'
|
|
236 .Ds
|
|
237 `\-length 40'
|
|
238 .Ds
|
|
239 `\-width 80'
|
|
240 .Co
|
|
241 無し。
|
|
242 .Bu
|
|
243 `bell' と `clear' の情報をフロントエンドに伝える方法があるべきでしょう。
|
|
244
|
|
245 \fIMH\fR を BERK オプション付で構築したホストでは、
|
|
246 アドレス解釈は不可能です。
|
|
247
|
|
248 \*(lqnonewline\*(rq オプションは \*(lqcompress\*(rq や \*(lqsplit\*(rq と
|
|
249 一緒に使うと良くないです。
|
|
250 .En
|