次: , 前: MS-DOS Display, 上: MS-DOS


C.3 MS-DOSにおけるファイル名

他のシステムではファイル名の構成要素の区切りにはスラッシュを使いますが、 MS-DOSでは、普通、バックスラッシュ`\'を使います。 MS-DOS用Emacsでは、スラッシュもバックスラッシュも使えて、 さらに、ファイル名に含まれるドライブ名も理解します。

MS-DOSでは、ファイル名に大文字小文字の区別はなく 8文字に制限されますが、ピリオドとさらに3文字を付加できます。 Emacsは他のシステム向けのファイル名を扱ううえで、 これらの制限を熟知しています。 たとえば、ドット`.'で始まるファイル名は、 MS-DOSでは正しくないので、Emacsはそれを透過的に下線`_'に変換します。 したがって、デフォルトの初期化ファイル(see Init File)は、 MS-DOSでは_emacsと呼ばれます。 ピリオドの前後の文字数制限を越えた部分は、 通常、MS-DOSが無視します。 したがって、ファイルLongFileName.EvenLongerExtensionを訪れると、 実際にはlongfile.eveを訪れることになりますが、 モード行にはもとの長い名前が表示されます。 これ以外には、MS-DOSにおいて正しいファイル名を指定するのは、 ユーザーの責任です。 上述した透過的な変換は、Emacsに組み込まれたファイル名にのみに作用します。

MS-DOSでの上述のファイル名の制限のために、 もとのファイル名の文字をいくつか捨てずに バックアップファイル(see Backup Names)の名前を構成することは不可能です。 たとえば、バックアップを1つしか使っていなくても、 docs.txtのバックアップファイルの名前は docs.tx~となります。

Windows 9x上のDOSアプリケーションとしてEmacsを実行する場合には、 長いファイル名の使用を有効にできます。 そうすると、Emacsは、ファイル名を切り詰めたり小文字に変換したりせずに、 指定したとおりのファイル名をそのまま使います。 長いファイル名の使用を有効にするには、 Emacsを起動するまえに、環境変数LFNに`y'と設定します。 残念ながら、Windows NTではDOSプログラムから長いファイル名を使えませんので、 MS-DOS用Emacsからは短い8+3の別名しか見えません。

MS-DOSにはホームディレクトリという概念がないので、 MS-DOS用Emacsでは、Emacsをインストールしてあるディレクトリを 環境変数HOMEの値であるということにします。 つまり、Emacsのバイナリemacs.exeが ディレクトリc:/utils/emacs/binに置いてあるとすれば、 Emacsは、環境変数HOMEが`c:/utils/emacs'と 設定されているかのようにふるまいます。 特に、ここが初期化ファイル_emacsを探す場所となります。 このことを心に留めておけば、UNIXでのように、 ホームディレクトリの別名としてファイル名に`~'を使えます。 Emacsを起動するまえに環境変数HOMEを設定することもでき、 その場合には、上述のデフォルトのふるまいに優先します。

DJGPPのエミュレーションライブラリの機能では 入出力装置はディレクトリ/devに置かれていると仮定するので、 MS-DOS用Emacsはディレクトリ名/devを特別扱いします。 いかなるディスク上でも/devというディレクトリ名を使わないように 忠告しておきます。