MS-DOSは単一プロセスの“オペレーティングシステム”なので、非同期サブプロセスは利用できません。特にShellモードと、その変種は機能しません。非同期サブプロセスを使用するEmacs機能のほとんどは、ShellモードやGUDを含めて、MS-DOSでは動作しません。疑わしいときは、コマンドを実行してみれば、機能しない場合は非同期プロセスがサポートされない旨を告げるメッセージが出力されます。
M-x compileによるEmacsでのコンパイル、M-x grepによるファイル検索、M-x diffによるファイル間の相違の表示は、同期的に内部プロセスを実行することにより機能します。これはその内部プロセスが終了するまで、編集を行なうことができないことを意味します。
ispell
プログラムの同期呼び出しにたいする特別なサポートにより、スペルチェックも機能します。これは他のプラットフォームでの非同期呼び出しより遅くなります。
MS-DOSでは、機能しないShellモードのかわりに、M-x eshellコマンドを使用することができます。これはPOSIX-likeなシェルを、Emacs Lispで実装したEshellパッケージを呼び出します。
対照的に、ネイティブなWindowsアプリケーションとしてコンパイルされたEmacsは、非同期サブプロセスをサポートします Windows 9X/MEおよびWindows NT/2000/XP/Vista/7/8/10でのサブプロセスを参照してください。
lpr-buffer
(ハードコピーの印刷を参照)と、ps-print-buffer
(PostScriptのハードコピーを参照)は、プリンターポートの1つに出力を送ることにより、MS-DOSでも機能します。印刷とMS-DOSを参照してください。
MS-DOSでサブプロセスを同期実行する場合は、そのプログラムが終了することと、そのプログラムがキーボード入力の読み取りを試みないことを確認してください。プログラムが自分で終了しない場合、それを終了させることはできません。なぜならMS-DOSはプロセスを終了させる一般的な方法を提供しないからです。このような場合、C-cやC-Breakを押すことが助けになる場合もあります。
MS-DOSでは、他のマシンにあるファイルへのアクセスもサポートされません。何らかのネットワークリダイレクト処理により、MS-DOSにネットワークアクセス機能が組み込まれていない限り、メール送信、ウェブ閲覧、リモートログインなどのようなネットワーク指向のコマンドは機能しません。
MS-DOSのDiredはls-lisp
パッケージを使用します
(MS-Windowsでのls
のエミュレーションを参照してください)。
したがってMS-DOSのDiredは、変数dired-listing-switches
に記述できる、利用可能なオプションは限られます。機能するオプションは‘-A’、‘-a’、‘-c’、‘-i’、‘-r’、‘-S’、‘-s’、‘-t’、‘-u’です。