EDLIN: MS-DOSのラインエディタ
EDLINは、かつて
MS-DOSや初期のWindowsに標準で搭載されていたラインエディタです。コマンドラインインターフェースで動作し、テキストファイルの編集を可能にするシンプルなツールでした。行番号を指定して編集を行う仕組みで、`5d`のように、数字とコマンド文字の組み合わせで、ファイルの5行目を削除するなどといった操作を実行できました。`EDLIN ファイル名 /B`のように`/B`スイッチを指定することで、ファイル途中のEOF(ファイルの終端を表す制御文字)をテキストとして扱うこともできましたが、ファイル末尾のEOFは例外でした。
歴史
初期の
MS-DOSにおいては、EDLINが事実上唯一のテキストエディタでした。しかし、後にフルスクリーンエディタである
MS-DOS Editorが登場し、Windowsの普及と共にEDLINの重要性は低下していきました。
MS-DOS 6.0では標準搭載から外されましたが、32ビット版Windows NTには、NTVDM(仮想DOSマシン)のDOSサポートが
MS-DOS 5.0をベースとしていたため、含まれていました。他の
MS-DOSコマンドとは異なり、Win32への移植は行われず、現在では、標準入力からコマンドスクリプトを受け付けることで、ファイルの自動変更などに利用される程度となっています。
当時、
MS-DOSにはGW-BASICという統合開発環境があり、簡易的なテキストエディタ機能も備えていました。また、
MS-DOS 5.0以降では、`EDIT`コマンドが利用可能となり、これはQBasic(GW-BASICの後継)を起動するもので、より使いやすいインターフェースを提供していました。
EDLINは、ティム・パターソンによってわずか2週間で開発されたと言われ、当初は6ヶ月の寿命しかないと予測されていたとされています。開発元はシアトル・コンピュータ・プロダクツ社で、彼らが開発した86-DOS(後の
MS-DOS)向けに作成されました。
現在の扱い
現代においてEDLINを使用することは稀ですが、いくつかの制限が存在します。特に、ロングファイルネームに対応していないため、`longfilename.txt`といったファイル名を持つファイルを編集しようとすると、`longfile.txt`という名前の新しいファイルが作成されてしまいます。これはEDLINが開発された時点ではロングファイルネームがサポートされていなかった
MS-DOSの仕様によるもので、EDLIN自身の欠陥ではありません。
ピーチ・グレゴリーによって作成されたEDLINクローンは、ロングファイルネームに対応し、FreeDOSプロジェクトで公開されています。
Linuxや
UNIX環境でも動作し、様々な言語に対応したメッセージ出力も可能です。
EDLINは、他のエディタが利用できない状況下では、スクリプトによるバッチ処理に活用されることがあります。EDLINコマンドを記述したスクリプトファイルを`EDLIN < スクリプトファイル名`のように実行することで、自動的なファイル編集が可能です。この点は、DEBUG.EXEなどの他の標準DOSツールと共通する側面です。
日本電気(NEC)の
PC-9800シリーズ向け
MS-DOS 3.1の初期バージョンでは、EDLINにおいて2バイト文字列の置換が正しく行われないという
バグが発見されました。この
バグは深刻なものではありませんでしたが、報道機関で取り上げられたことをきっかけに、NECは自主的にリコールを実施しました。ユーザーからの問い合わせがきっかけとなり、NHKの報道により全国的に知れ渡ったこの
バグは、NECによる迅速な対応、そして
マイクロソフトへの責任追及をしない姿勢が注目を集めました。この事件は、NECの保守・検査体制強化につながりました。
バグの原因は
マイクロソフト側のプログラムミスでしたが、NECは自社の検査体制の不備を認め、責任を負うという対応を行いました。