FOLDER(1)

NAME
folder, folders - カレント・フォルダ、カレント・メッセージを設定/表示する

SYNOPSIS
folder [+folder] [msg] [-all] [-create] [-nocreate] [-print] [-fast] [-nofast] [-header] [-noheader] [-recurse] [-norecurse] [-total] [-nototal] [-list] [-nolist] [-push] [-pop] [-pack] [-nopack] [-verbose] [-noverbose] [-help]
folders

DESCRIPTION
MH 環境はシェルなので、 カレント・フォルダの形跡は日に日に失われやすいものです。 folder は `-print' オプションと共に実行されると(デフォルト)、 カレント・フォルダ、その中にあるメッセージ数、メッセージの範囲(最小-最大)、 そして、そのフォルダのカレントメッセージを表示し、 特別なファイルが存在する場合にはそれを知らせます。 例えば次のような感じです。
inbox+	has  16 messages	(  3- 22);	cur=  5.
もし、`+folder' と `msg' の両方、あるいは片方が指定されると、 それらはそれぞれカレント・フォルダ、カレント・メッセージになります。 対応させて言うなら、 `+folder' 引数が指定された場合は、 シェルでいう “cd” の処理に相当し、 `+folder' 引数が指定されない場合は、大雑把に言うと、 シェルでいう “pwd” の処理に相当する訳です。 指定の(あるいはデフォルトの)フォルダが存在しない場合のデフォルトの処理は、 ユーザーにそのフォルダを作るべきかどうかを尋ねる事です。 もし、標準入力が端末でない場合、 この質問へは “yes” が答えられたと見なされます。 `-create' オプションが指定されると、 folder は何も聞かずに新しいフォルダを作ります (これは後で使う空フォルダを作る簡単な方法です)。 `-nocreate' オプションが指定されると、 folder は存在しないフォルダは作らずに終了します。 `-all' を指定すると、ユーザーの MH ディレクトリ内のトップレベルの フォルダそれぞれについて、アルファベット順に並べた摘要の行が作られます (もし folder が “s” で終わる名前で呼ばれた場合 (例えば folders )には、`-all' が想定されます)。 もし、`-recurse' を `-all' と共に指定すると、 全てのサブ・フォルダに対しても表示されます。 これらのフォルダは全て、 ユーザーの MH コンテクストに “atr-cur-” エントリがあり (つまり、中のメッセージに MH でアクセスした事がある)、 そのユーザーに書き込み権限が無いフォルダが先に表示されます。 例えば、次の通りです。
Folder	   # of messages	( range )	cur msg (other files)
/fsd/rs/m/tacc	has  35 messages	(  1- 35);	cur= 23.
/rnd/phyl/Mail/EP	has  82 messages	(  1-108);	cur= 82.
ff	has  no messages.
inbox+	has  16 messages	(  3- 22);	cur=  5.
mh	has  76 messages	(  1- 76);	cur= 70.
notes	has   2 messages	(  1-  2);	cur=  1.
ucom	has 124 messages	(  1-124);	cur=  6; (others).
          TOTAL=	339 messages in 7 folders
ここでは、例えば最初の `+/fsd/rs/m/tacc' フォルダを見て下さい。 MH では、フォルダは通常、ユーザーの MH ディレクトリの下にありますが、 フォルダ名がスラッシュ(`/')で始まるものは UNIX ファイル・システム に於いてその絶対パスで表される場所にあると考えられます。 つまり、MH では他人のフォルダを含め、任意のディレクトリをフォルダと して扱え、そこをカレント・フォルダにする事も出来ます。 もちろん、それらのディレクトリにアクセス出来る権限(モード等)は必要です。 inbox の後の “+” はこれがカレント・フォルダである事を示します。 “(others)” はフォルダ `ucom' にメッセージでないファイル(または ディレクトリ)が存在する事を示します。 これらはサブ・フォルダかも知れないし、 MH のファイル名称体系に合わない(数字でない)名前のファイルかも知れません。 `-all' または `-header' オプションが指定されると、見出し行が出力されます。 これは `-noheader' で抑制できます。 `-total' オプションは、摘要行だけを作ります。 `-fast' が指定されると、フォルダ名だけが表示されます (これはフォルダを読む必要がないので、より速いです)。 `+folder' が `-all' オプションと共に指定された場合、 folder は カレント・フォルダを設定する事に加えて、 カレント・フォルダのトップレベルのフォルダを表示します (`-norecurse' の場合)。 あるいは、カレント・フォルダの下にある全てのサブ・フォルダを表示します (`-recurse' の場合)。 この場合、もし、`msg' も指定された場合、 それは `+folder' のカレント・メッセージになります。 `-recurse' オプションはそれぞれのフォルダを再帰的に表示します。 このオプションを使うと、それぞれのフォルダについて、 サブ・フォルダを探さなければならなので、 `-fast' オプションによるスピードアップは望めません。 しかし、表示内容の面から見れば、 これらのオプションを組み合わせるのは有用です。 `-pack' オプションは、指定のフォルダ内のメッセージ番号の抜けを取り除き、 番号を1から付け直します。 `-verbose' オプションをつけると、 folder はフォルダ内のメッセージ番号変更の際、 実行中の動作を逐一報告します。 `-push' オプションを付けると、 folder はカレント・フォルダをフォルダ・スタックの上に積み、 `+folder' 引数をカレント・フォルダにします。 もし、`+folder' が指定されてない場合は、 カレント・フォルダとフォルダ・スタックの一番上を交換します。 これは CShell に於ける “pushd” 処理に相当します。 `-pop' オプションを付けると、 folder はフォルダ・スタックの一番上を取り除き、 その値をカレント・フォルダにします。 `+folder' 引数は許されません。 これは CShell に於ける “popd” 処理に相当します。 `-push' オプションと `-pop' オプションは相互排他的であり、 二つのうち最後に現れたものが、その前に現れたものを打ち消します。 これら二つのオプションは、デフォルトで `-list' が指定されます。 `-list' オプションを付けると、 folder はフォルダ・スタックの内容を表示します。 `+folder' 引数は許されません。 `-push' や `-pop' が成功した場合も、 それらのオプションの後に `-nolist' オプションが指定されている場合を除いて、 `-list' 処理が行なわれます。 これは CShell に於ける “dirs” 処理に相当します。 `-push'、`-pop'、そして `-list' オプションは `-print' オプションを抑制します。 ^$HOME/.mh_profile~^ユーザーのプロファイル ^Path:~^ユーザーの MH ディレクトリを決める ^Current-Folder:~^デフォルトのカレント・フォルダを示す ^Folder-Protect:~^新しいフォルダを作る際にセットされるモード ^Folder-Stack:~^フォルダ・スタックを決める refile(1), mhpath(1)
`+folder'    デフォルトはカレント・フォルダ
`msg'    デフォルトは無し。
`-nofast' `-noheader' `-nototal' `-nopack' `-norecurse' `-noverbose'
`-print'    `-list'、`-push'、または `-pop' が指定された場合
`-list'    `-push' または `-pop' が指定された場合
もし `+folder' と `msg' の片方または両方が指定された場合、 それらはそれぞれカレント・フォルダ、カレント・メッセージになります。 以前のバージョンの MH では、 `-fast' オプションを付けた場合には、カレント・フォルダは変更されませんでした。 しかし現在はそうではありません。`+folder' が与えられると、 folder は常にカレント・フォルダをそれに変えます。 `-all' を付けると、`-header' と `-total' になります。

`-create' または `-nocreate' が指定されると、 もはや、その後のオプションで、 (存在しないフォルダに関してはユーザーに聞くという)デフォルトの動作に 戻す方法がありません。

数字だけから成るような(メッセージと見なせるような)名前の サブフォルダ等があると、 `-pack' 時に、システムに依って、そのフォルダの名前まで番号が変わるか、 意味のないエラーメッセージと共にコマンド実行が失敗します。