次: , 前: MS-DOS and MULE, 上: MS-DOS


C.7 サブプロセス(MS-DOS)

MS-DOSはシングルプロセスの『オペレーティングシステム』なので、 非同期なサブプロセスは利用できません。 特に、シェル(shell)モードやその派生モードは動きません。 綴りの修正やGUDなどの非同期のサブプロセスを用いたEmacsの機能のほとんどは、 MS-DOSでは動きません。 疑うならば試してみてください。 動作不能なコマンドは、「非同期サブプロセスを使えない」旨の エラーメッセージを出力します。

MS-DOS用Emacsでも、 M-x compileによるコンパイル、 M-x grepによるファイルの探索、 M-x diffによるファイルの比較は動作しますが、 これらは下位プロセスを同期して走らせます。 つまり、下位プロセスが終了するまではいっさい編集はできません。

対照的に、Windows専用にコンパイルしたEmacsでは、 非同期プロセスを使えます。 See Windows Processes

lpr-buffer(see Hardcopy)や ps-print-buffer(see Postscript)のような印刷コマンドは、 MS-DOSではプリンタポートの1つに出力を送ることで動作します。 See MS-DOS Printing

MS-DOSで同期的にサブプロセスを動かす場合には、 プログラムが確実に終了し、しかも、キーボードからまったく入力しないことを 確認してください。 MS-DOSにはプロセスを終了させる一般的な方法がないので、 プログラムがみずから終了できない場合には、 それを終了させることができなくなります。 このような場合、 C-cC-<BREAK>を押すと助かる場合もあります。

MS-DOSでは、他のマシンのファイルを参照することはできません。 MS-DOSにネットワーク機能が組み込まれていなければ、 メイルの送信、Webの閲覧、リモートログインなどの ネットワーク向けのコマンドも使えません。

MS-DOSでのdiredは、 他のシステムではシステムのlsコマンドを使う場面で パッケージls-lispを使います。 したがって、MS-DOSのdiredでは 変数dired-listing-switchesに設定できるオプションは限られます。 使えるオプションは、 `-A'、`-a'、`-c'、`-i'、`-r'、`-S'、 `-s'、`-t'、`-u'です。