MS-WindowsとMS-DOSでは通常、ファイル名の名前単位の区切りにバックスラッシュを使用します(他のシステムではスラッシュを使用します)。MS-DOSおよびMS-WindowsのEmacsは、スラッシュとバックスラッシュのどちらも使用でき、ファイル名に含まれるドライブ文字も識別できます。
MS-DOSおよびMS-Windowsでは、ファイル名は大文字小文字を区別せず、Emacsもデフォルトではファイル名の補完で大文字小文字の違いを無視します。これを行うために、MS-DOS/MS-Windowsではread-file-name-completion-ignore-case
のデフォルト値は非nil
です。補完オプションを参照してください。
変数w32-get-true-file-attributes
は、file-attributes
やdirectory-files-and-attributes
のように、より正確にプリミティブなファイル属性を判断するために、Emacsが追加のシステムコールを呼び出すべきかを制御します。これらの追加のシステムコールは、ファイルの正しい所有者、リンクカウントと、パイプのような特殊ファイルのファイルタイプを取得するのに必要となります。システムコールを使用しない場合、ファイルの所有者はカレントユーザーとなり、リンクカウントは常に1に、そして特殊ファイルは通常ファイルとなるでしょう。
この変数の値がlocal
(デフォルト)の場合、Emacsはローカルの固定ドライブのファイルにたいしてのみ、システムコールを呼び出します。他の非nil
値は、ファイルがリムーバブルメディアやリモートボリュームにある場合も、システムコールを呼び出すことを意味し、これはDiredやその他の関連する機能の速度低下を招く恐れがあります。値nil
はシステムコールを呼び出さないことを意味します。非nil
値は、FAT、FAT32、exFATのようなボリュームより、ハードリンクやファイルセキュリティーをサポートするNTFSのボリュームの場合のほうが有用です。
Unixとは異なり、MS-Windowsのファイルシステムでは、ファイル名に使用されるかもしれない複数の文字にたいして制限があります。以下の文字は使用できません:
これらに加えて、ファイル名拡張子の有無に関わらず、NUL、LPT1、PRN、CONのようなDOSの文字デバイスに名前がマッチする任意のファイルは、どのディレクトリーにあっても、文字デバイスとして解釈されます。したがってその文字デバイスを使用したいときだけ、そのようなファイル名を使用します。