9 制限事項

端末が切断され、バッファーが変更済みで空でない場合、ed はバッファーをファイル ed.hup に書き込もうとします。それが失敗すると、$HOME/ed.hup に書き込もうとします。

テキスト(非バイナリー)ファイルが改行文字で終わっていない場合、ed は読み込み/書き込み時に改行を追加します。バイナリーファイルの場合、ed は読み込み/書き込み時に改行を追加しません。バイナリーファイルとは、少なくとも1つの ASCII NUL 文字を含むファイルです。最終行を変更した場合は、書き込みの前に空のファイルを読み込む(たとえば /dev/null)ことで、バイナリーファイルへの改行追加を防げます。

バッファー内のテキスト行を管理するため、ed は、各行の位置とサイズを含む構造体の双方向リンクリストを使います。その結果、行ごとの管理領域は、「pointer」2つ、「long int」1つ、「int」1つです。最大行長は INT_MAX - 1 バイトです。最大行数は INT_MAX - 2 行です。