FreeBSD 8.2R Mail コマンドの mailx 拡張パッチ

				    作成	小金丸信幸
				    E-Mail:	kogane@koganemaru.co.jp
			    14版    修正日	平成23年(2011年)04月10日 (日)

はじめに

	SYSTEM V UNIX の mailx コマンドはバークレー版の Mail を改造して作
	られたのですが、バークレー版の Mail にない、種々の機能が拡張されて
	います。
	本パッチはバークレー版の Mail コマンドを SYSV の mailx 同様に機能
	を拡張するものです。

1) ソースファイルの準備

	FreeBSD 8.2-RELEASE の /usr/src/usr.bin/mail 以下のファイルを準備
	します。

	mailx-8.2R.patch.tar.gz ファイルには次のものが含まれています。
	README 本ファイル
	mailx.v14.patch ファイル

2) 拡張機能

	o ヘッダー情報の編集
	    Mail ではヘッダー情報 To:, Subject:, Cc: 等は編集できませんが
	    これを編集できるようになります。また、Reply-To: などの RFC で
	    定義されたヘッダーを追加できます。

	o ~p コマンドは画面より長いメッセージの場合、画面が流れます。
	    crt が設定されていれば、PAGER で内容を表示できるようにしました。

	o pipe (|) コマンドの追加。
	  pipe [msglist] [shell-command]
	  | [msglist] [shell-command]
	    メッセージを shell-command にパイプで渡します。

	o Save, Copy コマンドの追加。
	    これは松田 理 (おさむ)@阪大さんのパッチを取り入れたものです。
	    FreeBSD-users メーリングリスト
	    "[FreeBSD-users-jp 16459] Re: Is there any Japanized mail command ?"
	    参照。

	    Save [msglist]
		(S) メッセージのリストを引数として取り、各メッセージを最初
		のメッセージの作成者の名前から導かれる名前のファイルの末尾
		に追加します。ファイル名が引用符で囲まれて表示され、それに
		続いて行数と文字数がユーザのターミナルにエコーされます。

	    Copy [msglist]
		(C) Copy コマンドは Save と同様のことを行ないますが、終了
		時に削除を行なうためのマークをメッセージにつけません

	o askcc が設定されていれば、メールの終りではなく、最初に問い合わせ
	  ます。

	o askbcc を追加しました。askcc と同様、最初に問い合わせます。

	o hs (hsubject) コマンドの追加。
	    h (headers) コマンドと同様ですが、Subject: のみを表示します。
	    Subject: が長くて画面に入り切らない時に使用します。
	    このコマンドはこのパッチ固有のコマンドで(mailx コマンドなどの)
	    一般的なコマンドではありません。

	o チルダエスケープコマンドについて
	    坂本 浩則 さん <hsaka@mth.biglobe.ne.jp> が作成された「チルダ
	    エスケープコマンド」を追加していましたが、4.6-RELEASE からは
	    /usr/bin/mail に標準で入れられました。次のコマンド説明は参考の
	    ために残しておきます。

	    ~a  変数 sign に定義された文字列を編集中のメッセージに挿入しま
	        す。~i sign と同じです。

	    ~A  変数 Sign に定義された文字列を編集中のメッセージに挿入しま
		す。~i Sign と同じです。

	    ~i variable
		任意の変数 variable に定義された文字列を編集中のメッセージ
		に挿入します。variable は環境変数でもかまいません。
		variable の値は、~/.mailrc にて set コマンドで指定します。

	    ~x  ~q と同じく編集モードを抜けますが、メッセージを
	        ~/dead.letter に保存しません。

	o sendmailopt 変数を追加しました。
	     .mailrc で
	     set sendmailopt="option .."
	     と指定すると sendmail を呼び出す際に記述された、オプションを
	     追加して呼び出します。
	     例: set sendmailopt="-fname"
	     と指定すると、From に入る名前を name に変更できます。ISP (イ
	     ンターネットサービスプロバイダーで使用するメールの名前と
	     FreeBSD のログイン名が異なる場合に指定します。

	o unread の省略形 のサポート。
	     man mail では unread の省略形は U として説明されていますが、
	     機能していませんでした。これを動作するように修正しました。

4) 日本語メールの作成例。

	.mailrc の中で、
	set VISUAL="elvis -kfjis*"
	として、日本語対応 elvis を使用して出力ファイルを7ビットJISモー
	ドにします。
	入力中に ~v と打てば elvis が起動されます。

5) patch を当てる

	/usr/src/usr.bin/mail 以下のファイルを適当なディレクトリにコピー
	してください。
	cp -rp /usr/src/usr.bin/mail ./mailx
	cd mailx
	patch -p1 <mailx.v14.patch
	make

	で新しい mail (Mail) コマンドが作成されます。

6) その他

	o マニュアル (mail.1) も改訂してありますが、拡張した機能の一部分の
	  みです。
	o 「FreeBSD 2.2.8R Mail コマンドの mailx 拡張パッチ」を元に
	  mailx-0.5.tgz package が作成されていますが、こちらは少し古くなっ
	  ています。
	o 日付の日本語形式表示。メールヘッダーの日付を YY/MM/DD HH:MM 形式で
	  表示するには、
	  make -DJAPAN_DATE
	  でコンパイルしてください。
	o FreeBSD 2.2.8-RELEASE でコンパイルするには
	  make -DFB_228
	  でコンパイルしてください。

7) 改版履歴
	初版  作成日	平成9年(1997年)07月30日 (水)
	02版  修正日	平成9年(1997年)08月02日 (土)
	    編集時に変更した Subject: の内容が変わらないバグを修正。
	03版  修正日	平成9年(1997年)10月16日 (木)
	    Subject: 中に ( ) があると消されてしまうバグを修正。
	04版  修正日	平成10年(1998年)07月11日 (土)
	    「FreeBSD 2.2.2R (2.2.1R) Mail コマンドの mailx 拡張パッチ」
	     を元に作成。修正のベースを FreeBSD 2.2.6R にしました。
	     hs コマンドを追加しました。
	05版  修正日	平成11年(1999年)01月20日 (水)
	    「FreeBSD 2.2.6R Mail コマンドの mailx 拡張パッチ」
	     を元に作成。修正のベースを FreeBSD 2.2.8R にしました。
	     SystemV の mailx にあるチルダエスケープコマンドの一部
	     ~i, ~x, ~a (~i sign), ~A (~i Sign) を追加しました。
	     これは 坂本 浩則 さん <hsaka@mth.biglobe.ne.jp> が作成された
	     ものです。
	06版  修正日	平成13年(2001年)04月13日 (金)
	    「FreeBSD 2.2.8R Mail コマンドの mailx 拡張パッチ」
	     を元に作成。修正のベースを FreeBSD 4.3R にしました。
	     sendmailopt 変数を追加しました。
	     .mailrc で
	     set sendmailopt="-fname"
	     と指定するために使用します。

	07版 修正日	平成14年(2002年)02月17日 (日)
	    「FreeBSD 4.3R Mail コマンドの mailx 拡張パッチ」
	     を元に作成。修正のベースを FreeBSD 4.5R にしました。

	08版 修正日	平成14年(2002年)09月01日 (日)
	   ・「FreeBSD 4.5R Mail コマンドの mailx 拡張パッチ」を元に
	     「FreeBSD 4.6.2R Mail コマンドの mailx 拡張パッチ」を作成。修
	     正のベースを FreeBSD 4.6.2R にしました。
	   ・07 版では入力した Subject: が失われるバグがありました。これを
	     修正しました。

	09版 修正日	平成15年(2003年)05月15日 (木)
	   ・「FreeBSD 4.6.2R Mail コマンドの mailx 拡張パッチ」を元に
	     「FreeBSD 4.8R Mail コマンドの mailx 拡張パッチ」を作成。修正
	     のベースを FreeBSD 4.8R にしました。
	   ・From: や Subject: に(^[等の)制御文字や 8 ビット文字が使われて
	     いれば、^シーケンスの文字や \xXX の形式で表示するようにしまし
	     た。これにより spam で送られきたメールによって画面が乱される
	     ことを回避できます。
	10版 修正日	平成15年(2003年)05月24日 (木)
	   ・Subject: がない場合に core ダンプする問題を修正。
	11版 修正日	平成15年(2003年)06月21日 (土)
	   ・Subject: がない場合に前の Subject: が表示される問題を修正。
	12版 修正日	平成15年(2003年)11月10日 (月)
	   ・「FreeBSD 4.8R Mail コマンドの mailx 拡張パッチ」を元に
	     「FreeBSD 4.9R Mail コマンドの mailx 拡張パッチ」を作成。修正
	     のベースを FreeBSD 4.9R にしました。
	   ・ unread の省略形 (U) のサポート。
	13版    修正日	平成17年(2005年)10月18日 (火)
	   ・「FreeBSD 4.9R Mail コマンドの mailx 拡張パッチ」を元に
	     「FreeBSD 5.4R Mail コマンドの mailx 拡張パッチ」を作成。修正
	     のベースを FreeBSD 5.4R にしました。
	14版    修正日	平成23年(2011年)04月10日 (日)
	   ・「FreeBSD 5.4R Mail コマンドの mailx 拡張パッチ」を元に
	     「FreeBSD 8.2R Mail コマンドの mailx 拡張パッチ」を作成。修正
	     のベースを FreeBSD 8.2R にしました。

	以上.