@c =============================================================
@c = 元 翻 訳: 田中聡＠東京女子大学
@c = 加筆修正: 大木敦雄＠大塚.筑波大学 = 1998/11/25
@c =============================================================
@c This is part of the Emacs manual.
@c Copyright (C) 1985, 86, 87, 93, 94, 95, 1997 Free Software Foundation, Inc.
@c See file emacs.texi for copying conditions.
@node MS-DOS, Manifesto, Antinews, Top
@c @appendix Emacs and MS-DOS 
@appendix EmacsとMS-DOS 
@cindex MS-DOG
@c @cindex MS-DOS peculiarities
@cindex MS-DOSの癖

@c   This section briefly describes the peculiarities of using Emacs under
@c the MS-DOS ``operating system'' (also known as ``MS-DOG'').  If you
@c build Emacs for MS-DOS, the binary will also run on Windows 3, Windows
@c NT, Windows 95, or OS-2 as a DOS application; the information in this
@c chapter applies for all of those systems, if you use an Emacs that was
@c built for MS-DOS.
ここでは、（『MS-DOG』とも呼ばれる）MS-DOS『オペレーティングシステム』で
稼働するEmacsの癖について簡単にふれます。
MS-DOS用に作成したEmacsのバイナリは、
Windows 3.x、Windows NT、Windows 95、OS-2上で
DOSアプリケーションとしても動作します。
MS-DOS用に作成したEmacsを使っている限り、
本章の情報はこれらすべてのシステムにあてはまります。

@c   Note that it is possible to build Emacs specifically for Windows NT or
@c Windows 95.  If you do that, most of this chapter does not apply;
@c instead, you get behavior much closer to what is documented in the rest
@c of the manual, including support for long file names, multiple frames,
@c scroll bars, mouse menus, and subprocesses.  However, the section on
@c text files and binary files does still apply.  There are also two
@c sections at the end of this chapter which apply specifically for Windows
@c NT and 95.
Windows NTやWindows 95に専用のEmacsを作ることも可能です。
その場合には、本章のほとんどは関係ありません。
長いファイル名、複数のフレーム、スクロールバー、マウスメニュー、
サブプロセスの利用を含めて、本書の他の部分で説明した動作に
近い動作をします。
しかし、テキストファイルとバイナリファイルに関する節は適用できます。
また、本章の最後の2つの節は、Windows NTと95だけに適用できます。

@menu
* Input: MS-DOS Input.         Keyboard and mouse usage on MS-DOS.
* Display: MS-DOS Display.     Fonts, frames and display size on MS-DOS.
* Files: MS-DOS File Names.    File name conventions on MS-DOS.
* Text and Binary::            Text files on MS-DOS use CRLF to separate lines.
* Printing: MS-DOS Printing.   How to specify the printer on MS-DOS.
* Processes: MS-DOS Processes. Running subprocesses on MS-DOS.
* Windows Processes::          Running subprocesses on Windows.
* Windows System Menu::        Controlling what the ALT key does.
@end menu

@node MS-DOS Input, MS-DOS Display, , MS-DOS
@c @section Keyboard and Mouse on MS-DOS
@section MS-DOSのキーボードとマウス

@c @cindex Meta (under MS-DOS)
@c @cindex Hyper (under MS-DOS)
@c @cindex Super (under MS-DOS)
@cindex Meta （MS-DOS）
@cindex Hyper （MS-DOS）
@cindex Super （MS-DOS）
@vindex dos-super-key
@vindex dos-hyper-key
@c   The PC keyboard maps use the left @key{ALT} key as the @key{META} key.
@c You have two choices for emulating the @key{SUPER} and @key{HYPER} keys:
@c choose either the right @key{CTRL} key or the right @key{ALT} key by
@c setting the variables @code{dos-hyper-key} and @code{dos-super-key} to 1
@c or 2 respectively.  If neither @code{dos-super-key} nor
@c @code{dos-hyper-key} is 1, then by default the right @key{ALT} key is
@c also mapped to the @key{META} key.  However, if the MS-DOS international
@c keyboard support program @file{KEYB.COM} is installed, Emacs will
@c @emph{not} map the right @key{ALT} to @key{META}, since it is used for
@c accessing characters like @kbd{~} and @kbd{@@} on non-US keyboard
@c layouts; in this case, you may only use the left @key{ALT} as @key{META}
@c key.
PCのキーボードの左側の@key{ALT}キーは、@key{META}キーに割り当てられます。
@key{SUPER}キーと@key{HYPER}キーのエミュレーションには、選択肢が2つあります。
変数@code{dos-hyper-key}と@code{dos-super-key}を1にすれば、
右側の@key{CTRL}キーを選びます。
変数@code{dos-hyper-key}と@code{dos-super-key}を2にすれば、
右側の@key{ALT}キーを選びます。
@code{dos-super-key}と@code{dos-hyper-key}のいずれも1でなければ、
デフォルトで右側の@key{ALT}キーも@key{META}に割り当てられます。
しかし、MS-DOSの国際化キーボード用プログラム
@file{KEYB.COM}をインストールしてある場合は、
右側の@key{ALT}を@key{META}には割り当て@emph{ません}。 
というのは、米国配列のキーボードでない場合、
右側の@key{ALT}は@kbd{~}や@kbd{@@}として使われるからです。
この場合には、左側の@key{ALT}のみを@key{META}として使えます。

@c @kindex C-j @r{(MS-DOS)}
@kindex C-j @r{（MS-DOS）}
@vindex dos-keypad-mode
@c   The variable @code{dos-keypad-mode} is a flag variable that controls
@c what key codes are returned by keys in the numeric keypad.  You can also
@c define the keypad @key{ENTER} key to act like @kbd{C-j}, by putting the
@c following line into your @file{_emacs} file:
変数@code{dos-keypad-mode}は、
数字キーパッド上のキーが返すキーコードを制御する変数です。
ファイル@file{_emacs}につぎの行を入れておけば、
@key{ENTER}キーが@kbd{C-j}として働くように定義できます。

@smallexample
@c ;; Make the Enter key from the Numeric keypad act as C-j.
;; 数字キーパッドのEnterキーをC-jとして動作させる。
(define-key function-key-map [kp-enter] [?\C-j])
@end smallexample

@c @kindex DEL @r{(MS-DOS)}
@c @kindex BS @r{(MS-DOS)}
@kindex DEL @r{（MS-DOS）}
@kindex BS @r{（MS-DOS）}
@c   The key that is called @key{DEL} in Emacs (because that's how it is
@c designated on most workstations) is known as @key{BS} (backspace) on a
@c PC.  That is why the PC-specific terminal initialization remaps the
@c @key{BS} key to act as @key{DEL}; the @key{DEL} key is remapped to act
@c as @kbd{C-d} for the same reasons.
（ほとんどのワークステーションでの呼称から）
Emacsで@key{DEL}と呼ばれるキーは、PCでは@key{BS}（バックスペース）です。
このため、PC特有の端末初期化においては、
@key{BS}キーは@key{DEL}として動作するようにしています。
同じ理由から、@key{DEL}キーは @key{C-d}として動作するようにしてあります。

@c @kindex C-g @r{(MS-DOS)}
@c @kindex C-BREAK @r{(MS-DOS)}
@c @cindex quitting on MS-DOS
@kindex C-g @r{（MS-DOS）}
@kindex C-BREAK @r{（MS-DOS）}
@cindex MS-DOS上での中断
@c   Emacs built for MS-DOS recognizes @kbd{C-@key{BREAK}} as a quit
@c character, just like @kbd{C-g}.  This is because Emacs cannot detect
@c that you have typed @kbd{C-g} until it is ready for more input.  As a
@c consequence, you cannot use @kbd{C-g} to stop a running command
@c (@pxref{Quitting}).  By contrast, @kbd{C-@key{BREAK}} @emph{is} detected
@c as soon as you type it (as @kbd{C-g} is on other systems), so it can be
@c used to stop a running command and for emergency escape
@c (@pxref{Emergency Escape}).
MS-DOS用のEmacsでは、
@kbd{C-@key{BREAK}}を@kbd{C-g}のような中断文字として認識します。
これは、Emacsが入力を読もうとしないと
@kbd{C-g}が打鍵されたことを検出できないからです。
そのため、動作中のコマンドを止めるために@kbd{C-g}を使えません
（@pxref{Quitting}）。
対照的に、@kbd{C-@key{BREAK}}は
（他のシステムでの@kbd{C-g}のように）打鍵するとすぐに検出@emph{される}ので、
動作中のコマンドを停止したり緊急脱出したりするために使えます
（@pxref{Emergency Escape}）。

@c @cindex mouse support under MS-DOS
@cindex MS-DOSでのマウスの利用
@c   Emacs on MS-DOS supports a mouse (on the default terminal only).
@c The mouse commands work as documented, including those that use menus
@c and the menu bar (@pxref{Menu Bar}).  Scroll bars don't work in
@c MS-DOS Emacs.  PC mice usually have only two buttons; these act as
@c @kbd{Mouse-1} and @kbd{Mouse-2}, but if you press both of them
@c together, that has the effect of @kbd{Mouse-3}.
MS-DOS用Emacsは、（デフォルトの端末だけで）マウスを使えます。
メニューやメニューバー（@pxref{Menu Bar}）の利用を含めて、
マウスコマンドはドキュメントどおりに動作します。
MS-DOS用Emacsではスクロールバーは使えません。
PCのマウスには、通常、2つのボタンしかありません。
これらは@kbd{Mouse-1}と@kbd{Mouse-2}として動作しますが、
2つのボタンを同時に押せば@kbd{Mouse-3}として動作します。

@c @cindex Windows clipboard support
@c   Emacs built for MS-DOS supports clipboard operations when it runs on
@c Windows.  Commands that put text on the kill ring, or yank text from the
@c ring, check the Windows clipboard first, just as Emacs does on X Windows
@c (@pxref{Mouse Commands}).  Only the primary selection and the cut buffer
@c are supported by MS-DOS Emacs on Windows; the secondary selection always
@c appears as empty.
@cindex Windowsのクリップボードの利用
MS-DOS用EmacsがWindows上で動作している場合には、
クリップボードの操作を利用できます。
キルリングにテキストを置いたり、
キルリングからテキストをヤンクしたりするコマンドでは、
Xウィンドウシステムの場合と同様に、
まずWindowsのクリップボードを調べます（@pxref{Mouse Commands}）。
Windows上のMS-DOS用Emacsは、
一次セレクションとカットバッファのみを利用し、
二次セレクションはつねに空です。

@c   Due to the way clipboard access is implemented by Windows, the
@c length of text you can put into the clipboard is limited by the amount
@c of free DOS memory that is available to Emacs.  Usually, up to 620KB of
@c text can be put into the clipboard, but this limit depends on the system
@c configuration and is lower if you run Emacs as a subprocess of
@c another program.  If the killed text does not fit, Emacs prints a
@c message saying so, and does not put the text into the clipboard.
Windowsで実装されているクリップボードの参照方法のため、
クリップボードに置けるテキストの長さは、
Emacsが利用できるDOSの空きメモリ量に制限されます。
通常、620Kバイトまでのテキストをクリップボードに置けますが、
この上限はシステムの設定に依存し、
他のプログラムのサブプロセスとしてEmacsを実行しているときには少なくなります。
削除したテキストがクリップボードに入りきらなければ、
Emacsはその旨のメッセージを出力して、
テキストをクリップボードへ置きません。

@vindex dos-display-scancodes
@c   The variable @code{dos-display-scancodes}, when non-@code{nil},
@c directs Emacs to display the ASCII value and the keyboard scan code of
@c each keystroke; this feature serves as a complement to the
@c @code{view-lossage} command, for debugging.
変数@code{dos-display-scancodes}の値が@code{nil}以外のときには、
キーを打つたびに、Emacsは各キーのASCII（コードの）値と
キーボードスキャンコードを出力します。
この機能は、デバッグ用のコマンド@code{view-lossage}を補佐します。

@node MS-DOS Display, MS-DOS File Names, MS-DOS Input, MS-DOS
@c @section Display on MS-DOS
@c @cindex faces under MS-DOS
@c @cindex fonts, emulating under MS-DOS
@section MS-DOSの画面
@cindex フェイス（MS-DOS）
@cindex フォントのエミュレーション（MS-DOS）

@c   Display on MS-DOS cannot use multiple fonts, but it does support
@c multiple faces, each of which can specify a foreground and a background
@c color.  Therefore, you can get the full functionality of Emacs packages
@c that use fonts (such as @code{font-lock}, Enriched Text mode, and
@c others) by defining the relevant faces to use different colors.  Use the
@c @code{list-colors-display} command (@pxref{Frame Parameters}) and the
@c @code{list-faces-display} command (@pxref{Faces}) to see what colors and
@c faces are available and what they look like.
MS-DOSの画面では複数のフォントを使えませんが、
個々に前景色と背景色を指定できるフェイスを複数個使えます。
したがって、関連するフェイスに異なる表示色を定義すれば、
（@code{font-lock}、エンリッチ（enriched）モードなどの）
フォントを用いるEmacsのパッケージの全機能を利用できます。
コマンド@code{list-colors-display}（@pxref{Frame Parameters}）と
コマンド@code{list-faces-display}（@pxref{Faces}）を使えば、
利用可能なフェイスと表示色、それらの見え方を知ることができます。

@c @cindex frames on MS-DOS
@cindex フレーム（MS-DOS）
@c   Multiple frames (@pxref{Frames}) are supported on MS-DOS, but they all
@c overlap, so you only see a single frame at any given moment.  That
@c single visible frame occupies the entire screen.  When you run Emacs
@c from MS-Windows DOS box, you can make the visible frame smaller than
@c the full screen, but Emacs still cannot display more than a single
@c frame at a time.
MS-DOSでも複数のフレーム（@pxref{Frames}）を利用できます。
しかし、それらはすべて重なっているので、
一度には1つのフレームしか見ることができません。
見えている1つのフレームが画面全体を覆います。
MS-WindowsのDOSボックスでEmacsを実行しているときには、
見えているフレームを画面全体より小さくはできますが、
それでも、一度に1つのフレームしか表示できません。

@c @cindex frame size under MS-DOS
@cindex フレームサイズ（MS-DOS）
@findex mode4350
@findex mode25
@c   The @code{mode4350} command switches the display to 43 or 50
@c lines, depending on your hardware; the @code{mode25} command switches
@c to the default 80x25 screen size.
コマンド@code{mode4350}は43行表示と50行表示を切り替えますが、
ハードウェアに依存します。
コマンド@code{mode25}は、デフォルトの80x25の画面サイズに切り替えます。

@c   By default, Emacs only knows how to set screen sizes of 80 columns by
@c 25, 28, 35, 40, 43 or 50 rows.  However, if your video adapter has
@c special video modes that will switch the display to other sizes, you can
@c have Emacs support those too.  When you ask Emacs to switch the frame to
@c @var{n} rows by @var{m} columns dimensions, it checks if there is a
@c variable called @code{screen-dimensions-@var{n}x@var{m}}, and if so,
@c uses its value (which must be an integer) as the video mode to switch
@c to.  (Emacs switches to that video mode by calling the BIOS @code{Set
@c Video Mode} function with the value of
@c @code{screen-dimensions-@var{n}x@var{m}} in the @code{AL} register.)
@c For example, suppose your adapter will switch to 66x80 dimensions when
@c put into video mode 85.  Then you can make Emacs support this screen
@c size by putting the following into your @file{_emacs} file:
デフォルトでは、Emacsは80桁で、25行、28行、35行、40行、43行、50行の
画面サイズしか知りません。
しかし、ビデオアダプタに別の画面サイズに切り替える特別な
ビデオモードがあれば、Emacsでもそれらを利用できます。
Emacsにフレームサイズを@var{n}行@var{m}桁に切り替える指示をすると、
@code{screen-dimensions-@var{n}x@var{m}}という変数があるかどうか調べます。
変数があれば、その値（整数である必要がある）を
切り替え先のビデオモードとして使います。
（Emacsは、
@code{screen-dimensions-@var{n}x@var{m}}の値をレジスタ@code{AL}に入れ、
BIOSの関数@code{Set Video Mode}を呼び出し、ビデオモードを切り替えます。）
たとえば、ビデオモードを85にすると66x80の画面に切り替わるアダプタがあるとします。
@file{_emacs}につぎの行を加えれば、
Emacsでこの画面サイズを使えるようになります。

@example
(setq screen-dimensions-66x80 85)
@end example

@c   Since Emacs on MS-DOS can only set the frame size to specific
@c supported dimensions, it cannot honor every possible frame resizing
@c request.  When an unsupported size is requested, Emacs chooses the next
@c larger supported size beyond the specified size.  For example, if you
@c ask for 36x80 frame, you will get 40x80 instead.
MS-DOS用Emacsでは、
フレームサイズは利用可能な特定のサイズにしか設定できませんから、
フレームサイズの変更要求すべてに答えられるわけではありません。
使えないサイズが要求されると、
Emacsは指定されたサイズのつぎに大きいサイズを選びます。
たとえば、36x80のフレームを要求すると、かわりに、40x80になります。

@c   The variables @code{screen-dimensions-@var{n}x@var{m}} are used only
@c when they exactly match the specified size; the search for the next
@c larger supported size ignores them.  In the above example, even if your
@c VGA supports 38x80 dimensions and you define a variable
@c @code{screen-dimensions-38x80} with a suitable value, you will still get
@c 40x80 screen when you ask for a 36x80 frame.  If you want to get the
@c 38x80 size in this case, you can do it by setting the variable named
@c @code{screen-dimensions-36x80} with the same video mode value as
@c @code{screen-dimensions-38x80}.
変数@code{screen-dimensions-@var{n}x@var{m}}は、
指定サイズに正確に一致するときだけ使われます。
利用可能なつぎに大きなサイズの候補を探すときには無視します。
上述の例では、VGAで38x80を使えて、
変数@code{screen-dimensions-38x80}に適切な値を定義したとしても、
36x80のフレームを要求した場合には、40x80の画面になってしまいます。
このような場合に38x80のサイズにしたければ、
変数@code{screen-dimensions-36x80}にも
@code{screen-dimensions-38x80}と同じビデオモードの値を入れます。

@c   Changing frame dimensions on MS-DOS has the effect of changing all the
@c other frames to the new dimensions.
MS-DOSでは、フレームサイズを変更すると、
他のすべてのフレームのサイズも変更してしまいます。

@node MS-DOS File Names, Text and Binary, MS-DOS Display, MS-DOS
@c @section File Names on MS-DOS
@c @cindex file names under MS-DOS
@c @cindex init file, default name under MS-DOS
@section MS-DOSにおけるファイル名
@cindex ファイル名（MS-DOS）
@cindex 初期化ファイル、デフォルト名（MS-DOS）

@c   MS-DOS normally uses a backslash, @samp{\}, to separate name units
@c within a file name, instead of the slash used on other systems.  Emacs
@c on MS-DOS permits use of either slash or backslash, and also knows
@c about drive letters in file names.
他のシステムではファイル名の構成要素の区切りにはスラッシュを使いますが、
MS-DOSでは、普通、バックスラッシュ@samp{\}を使います。
MS-DOS用Emacsでは、スラッシュもバックスラッシュも使えて、
さらに、ファイル名に含まれるドライブ名も理解します。

@c   On MS-DOS, file names are case-insensitive and limited to eight
@c characters, plus optionally a period and three more characters.  Emacs
@c knows enough about these limitations to handle file names that were
@c meant for other operating systems.  For instance, leading dots @samp{.}
@c in file names are invalid in MS-DOS, so Emacs transparently converts
@c them to underscores @samp{_}; thus your default init file (@pxref{Init
@c File}) is called @file{_emacs} on MS-DOS.  Excess characters before or
@c after the period are generally ignored by MS-DOS itself; thus, if you
@c visit the file @file{LongFileName.EvenLongerExtension}, you will
@c silently get @file{longfile.eve}, but Emacs will still display the long
@c file name on the mode line.  Other than that, it's up to you to specify
@c file names which are valid under MS-DOS; the transparent conversion as
@c described above only works on file names built into Emacs.
MS-DOSでは、ファイル名に大文字小文字の区別はなく
8文字に制限されますが、ピリオドとさらに3文字を付加できます。
Emacsは他のシステム向けのファイル名を扱ううえで、
これらの制限を熟知しています。
たとえば、ドット@samp{.}で始まるファイル名は、
MS-DOSでは正しくないので、Emacsはそれを透過的に下線@samp{_}に変換します。
したがって、デフォルトの初期化ファイル（@pxref{Init File}）は、
MS-DOSでは@file{_emacs}と呼ばれます。
ピリオドの前後の文字数制限を越えた部分は、
通常、MS-DOSが無視します。
したがって、ファイル@file{LongFileName.EvenLongerExtension}を訪れると、
実際には@file{longfile.eve}を訪れることになりますが、
モード行にはもとの長い名前が表示されます。
これ以外には、MS-DOSにおいて正しいファイル名を指定するのは、ユーザーの責任です。
上述した透過的な変換は、Emacsに組み込まれたファイル名にのみに作用します。

@c @cindex backup file names on MS-DOS
@cindex バックアップファイルの名前（MS-DOS）
@c   The above restrictions on the file names on MS-DOS make it almost
@c impossible to construct the name of a backup file (@pxref{Backup
@c Names}) without losing some of the original file name characters.  For
@c example, the name of a backup file for @file{docs.txt} is
@c @file{docs.tx~} even if single backup is used.
MS-DOSでの上述のファイル名の制限のために、
もとのファイル名の文字をいくつか捨てずに
バックアップファイル（@pxref{Backup Names}）の名前を構成することは不可能です。
たとえば、バックアップを1つしか使っていなくても、
@file{docs.txt}のバックアップファイルの名前は
@file{docs.tx~}となります。

@c @cindex file names under Windows 95/NT
@c @cindex long file names in DOS box under Windows 95/NT
@cindex ファイル名（Windows 95/NT）
@cindex 長いファイル名（Windows 95/NT下のDOSボックス）
@c   If you run Emacs as a DOS application under Windows 9X, you can
@c turn on support for long file names.  If you do that, Emacs doesn't
@c truncate file names or convert them to lower case; instead, it uses the
@c file names that you specify, verbatim.  To enable long file name
@c support, set the environment variable @code{LFN} to @samp{y} before
@c starting Emacs.  Unfortunately, Windows NT doesn't allow DOS programs to
@c access long file names, so Emacs built for MS-DOS will only see their
@c short 8+3 aliases.
Windows 9x上のDOSアプリケーションとしてEmacsを実行する場合には、
長いファイル名の使用を有効にできます。
そうすると、Emacsは、ファイル名を切り詰めたり小文字に変換したりせずに、
指定したとおりのファイル名をそのまま使います。
長いファイル名の使用を有効にするには、
Emacsを起動するまえに、環境変数@code{LFN}に@samp{y}と設定します。
残念ながら、Windows NTではDOSプログラムから長いファイル名を使えませんので、
MS-DOS用Emacsからは短い8+3の別名しか見えません。

@c @cindex @code{HOME} directory under MS-DOS
@cindex ホームディレクトリ（MS-DOS）
@c   MS-DOS has no notion of home directory, so Emacs on MS-DOS pretends
@c that the directory where it is installed is the value of @code{HOME}
@c environment variable.  That is, if your Emacs binary,
@c @file{emacs.exe}, is in the directory @file{c:/utils/emacs/bin}, then
@c Emacs acts as if @code{HOME} were set to @samp{c:/utils/emacs}.  In
@c particular, that is where Emacs looks for the init file @file{_emacs}.
@c With this in mind, you can use @samp{~} in file names as an alias for
@c the home directory, as you would in Unix.  You can also set @code{HOME}
@c variable in the environment before starting Emacs; its value will then
@c override the above default behavior.
MS-DOSにはホームディレクトリという概念がないので、
MS-DOS用Emacsでは、Emacsをインストールしてあるディレクトリを
環境変数@code{HOME}の値であるということにします。
つまり、Emacsのバイナリ@file{emacs.exe}が
ディレクトリ@file{c:/utils/emacs/bin}に置いてあるとすれば、
Emacsは、環境変数@code{HOME}が@samp{c:/utils/emacs}と
設定されているかのようにふるまいます。
特に、ここが初期化ファイル@file{_emacs}を探す場所となります。
このことを心に留めておけば、UNIXでのように、
ホームディレクトリの別名としてファイル名に@samp{~}を使えます。
Emacsを起動するまえに環境変数@code{HOME}を設定することもでき、
その場合には、上述のデフォルトのふるまいに優先します。

@c   Emacs on MS-DOS handles the directory name @file{/dev} specially,
@c because of a feature in the emulator libraries of DJGPP that pretends
@c I/O devices have names in that directory.  We recommend that you avoid
@c using an actual directory named @file{/dev} on any disk.
DJGPPのエミュレーションライブラリの機能では
入出力装置はディレクトリ@file{/dev}に置かれていると仮定するので、
MS-DOS用Emacsはディレクトリ名@file{/dev}を特別扱いします。
いかなるディスク上でも@file{/dev}というディレクトリ名を使わないように
忠告しておきます。

@node Text and Binary, MS-DOS Printing, MS-DOS File Names, MS-DOS
@c @section Text Files and Binary Files
@c @cindex text and binary files on MS-DOS/MS-Windows
@section テキストファイルとバイナリファイル
@cindex テキストファイルとバイナリファイル（MS-DOS）

@c   GNU Emacs uses newline characters to separate text lines.  This is the
@c convention used on Unix, on which GNU Emacs was developed, and on GNU
@c systems since they are modeled on Unix.
GNU Emacsでは、テキスト行の区切りとして改行文字を使います。
これは、GNU Emacsが開発されたUNIXでの習慣であり、
UNIXをモデルとしたGNUシステムでの習慣でもあります。

@c @cindex end-of-line conversion on MS-DOS/MS-Windows
@c   MS-DOS and MS-Windows normally use carriage-return linefeed, a
@c two-character sequence, to separate text lines.  (Linefeed is the same
@c character as newline.)  Therefore, convenient editing of typical files
@c with Emacs requires conversion of these end-of-line (EOL) sequences.
@c And that is what Emacs normally does: it converts carriage-return
@c linefeed into newline when reading files, and converts newline into
@c carriage-return linefeed when writing files.  The same mechanism that
@c handles conversion of international character codes does this conversion
@c also (@pxref{Coding Systems}).
@cindex 行末変換（MS-DOS/MS-Windows）
MS-DOSとMS-Windowsでは、テキスト行の区切りとして、
通常、復帰・行送りの2文字列を使います。
（行送りは改行と同じ文字です。）
したがって、Emacs において典型的なファイルを便利に編集するには、
これらの行末（end-of-line、EOL）文字列を変換する必要があります。
Emacsは通常つぎのようにします。
ファイルを読み込むときには復帰・行送りを改行に変換し、
ファイルを書き出すときには改行を復帰・行送りに変換します。
国際文字コードの変換を扱う機構でもこの変換を行います
（@pxref{Coding Systems}）。

@c @cindex cursor location, under MS-DOS
@c @cindex point location, under MS-DOS
@cindex カーソル位置（MS-DOS）
@cindex ポイント位置（MS-DOS）
@c   One consequence of this special format-conversion of most files is
@c that character positions as reported by Emacs (@pxref{Position Info}) do
@c not agree with the file size information known to the operating system.
ほとんどのファイルにおけるこの特別な書式変換のために、
Emacsが報告する文字位置（@pxref{Position Info}）は、
オペレーティングシステム上でのファイルサイズ情報と食い違います。

@vindex file-name-buffer-file-type-alist
@c   Some kinds of files should not be converted, because their contents
@c are not really text.  Therefore, Emacs on MS-DOS distinguishes certain
@c files as @dfn{binary files}, and reads and writes them verbatim.  (This
@c distinction is not part of MS-DOS; it is made by Emacs only.)  These
@c include executable programs, compressed archives, etc.  Emacs uses the
@c file name to decide whether to treat a file as binary: the variable
@c @code{file-name-buffer-file-type-alist} defines the file-name patterns
@c that indicate binary files.  Note that if a file name matches one of the
@c patterns for binary files in @code{file-name-buffer-file-type-alist},
@c Emacs uses the @code{no-conversion} coding system (@pxref{Coding
@c Systems}) which turns off @emph{all} coding-system conversions, not only
@c the EOL conversion.
内容がテキストではないある種のファイルは、変換すべきではありません。
したがって、MS-DOS用Emacsは、
ある種のファイルを@dfn{バイナリファイル}として区別して、
そのまま読み書きします。
（この区別はMS-DOSのものではなく、Emacsがもたらすものです。）
これらには、実行プログラム、圧縮したアーカイブなどが含まれます。
Emacsはファイル名を用いて、バイナリファイルとして扱うべきかどうか決定します。
変数@code{file-name-buffer-file-type-alist}には、
バイナリファイルを表すファイル名のパターンを定義しておきます。
@code{file-name-buffer-file-type-alist}に指定したバイナリファイルの
パターンにファイル名が一致すると、
Emacsは行末変換だけでなく@emph{すべて}の符号変換を抑制する
コーディングシステム（@pxref{Coding Systems}）@code{no-conversion}を使います。

@c   In addition, if Emacs recognizes from a file's contents that it uses
@c newline rather than carriage-return linefeed as its line separator, it
@c does not perform conversion when reading or writing that file.  Thus,
@c you can read and edit files from Unix or GNU systems on MS-DOS with no
@c special effort, and they will be left with their Unix-style EOLs.
さらに、Emacsは、ファイルの内容から行区切りとして
復帰・行送りでなく改行を用いていると判断すると、
ファイルの読み書きにおいて変換を行いません。
したがって、特に努力しなくても、
UNIXやGNUシステムからのファイルをMS-DOS上で読んだり編集でき、
それらのファイルの行末はUNIX流の行末のままです。

@findex find-file-text
@findex find-file-binary
@c   You can visit a file and specify whether to treat a file as text or
@c binary using the commands @code{find-file-text} and
@c @code{find-file-binary}.  End-of-line conversion is part of the general
@c coding system conversion mechanism, so another way to control whether to
@c treat a file as text or binary is with the commands for specifying a
@c coding system (@pxref{Specify Coding}).  For example,
@c @kbd{C-x @key{RET} c undecided-unix @key{RET} C-x C-f foobar.txt}
@c visits the file @file{foobar.txt} without converting the EOLs.
コマンド@code{find-file-text}やコマンド@code{find-file-binary}を用いると、
ファイルをテキストとして扱うか
バイナリとして扱うかを指定して訪れることができます。
行末変換はコーディングシステムの一般的な変換機構の一部なので、
コーディングシステムを指定するコマンド（@pxref{Specify Coding}）によって
ファイルをテキストとして扱うかバイナリとして扱うかを指定することもできます。
たとえば、@kbd{C-x @key{RET} c undecided-unix @key{RET} C-x C-f foobar.txt}
とすれば、行末変換をせずにファイル@file{foobar.txt}を訪れることができます。

@c   The mode line indicates whether end-of-line translation was used for
@c the current buffer.  Normally a colon appears after the coding system
@c letter near the beginning of the mode line.  If MS-DOS end-of-line
@c translation is in use for the buffer, this character changes to a
@c backslash.
モード行にはカレントバッファで行末変換を行ったかどうか表示されます。
モード行の始めのほうにあるコーディングシステムを表す文字のうしろには、
通常、コロンが表示されます。
バッファでMS-DOSの行末変換を使っている場合には、
この文字はバックスラッシュに変わります。

@c @cindex untranslated file system
@cindex 無変換のファイルシステム
@findex add-untranslated-filesystem
@c   When you use NFS or Samba to access file systems that reside on
@c computers using Unix or GNU systems, Emacs should not perform
@c end-of-line translation on any files in these file systems--not even
@c when you create a new file.  To request this, designate these file
@c systems as @dfn{untranslated} file systems by calling the function
@c @code{add-untranslated-filesystem}.  It takes one argument: the file
@c system name, including a drive letter and optionally a directory.  For
@c example,
NFSやSambaを用いてUNIXやGNUシステムを使った
コンピュータ上のファイルシステムを参照するとき、
これらのファイルシステム上のどのファイルに対しては、
新規作成時でなくても、Emacsは行末変換を行うべきではありません。
こうするためには、
該当するファイルシステムを@dfn{無変換}の
ファイルシステムと指定するために、
関数@code{add-untranslated-filesystem}を呼びます。
この関数は、ファイルシステム名である引数を1つとりますが、
これにはドライブ名やディレクトリ名を含めることもできます。
たとえば、

@example
(add-untranslated-filesystem "Z:")
@end example

@noindent
@c designates drive Z as an untranslated file system, and
は、ドライブZを無変換のファイルシステムとして指定しますし、

@example
(add-untranslated-filesystem "Z:\\foo")
@end example

@noindent
@c designates directory @file{\foo} on drive Z as an untranslated file
@c system.
は、ドライブZ上のディレクトリ@file{\foo}を
無変換のファイルシステムとして指定します。

@c   Most often you would use @code{add-untranslated-filesystem} in your
@c @file{_emacs} file, or in @file{site-start.el} so that all the users at
@c your site get the benefit of it.
個人の@file{_emacs}ファイルや
サイトの全ユーザーに便利なように@file{site-start.el}の中で、
@code{add-untranslated-filesystem}を使うことが多いでしょう。

@findex remove-untranslated-filesystem
@c   To countermand the effect of @code{add-untranslated-filesystem}, use
@c the function @code{remove-untranslated-filesystem}.  This function takes
@c one argument, which should be a string just like the one that was used
@c previously with @code{add-untranslated-filesystem}.
@code{add-untranslated-filesystem}の効果を取り消すには、
関数@code{remote-untranslated-filesystem}を使います。
この関数は、まえに@code{add-untranslated-filesystem}に使ったのと
同じ文字列を引数としてとります。

@node MS-DOS Printing, MS-DOS Processes, Text and Binary, MS-DOS
@c @section Printing and MS-DOS
@section 印刷とMS-DOS

@c   Printing commands, such as @code{lpr-buffer} (@pxref{Hardcopy}) and
@c @code{ps-print-buffer} (@pxref{Postscript}) can work in MS-DOS by
@c sending the output to one of the printer ports, if a Unix-style @code{lpr}
@c program is unavailable.  A few DOS-specific variables control how this
@c works.
@code{lpr-buffer}（@pxref{Hardcopy}）や
@code{ps-print-buffer}（@pxref{Postscript}）のような印刷コマンドは、
UNIX流のプログラム@code{lpr}がない場合には、
プリンタポートに直接出力を送ればMS-DOSでも動作します。
このふるまいはDOS固有の数個の変数で制御します。

@vindex dos-printer
@c   If you want to use your local printer, printing on it in the usual DOS
@c manner, then set the Lisp variable @code{dos-printer} to the name of the
@c printer port---for example, @code{"PRN"}, the usual local printer port
@c (that's the default), or @code{"LPT2"} or @code{"COM1"} for a serial
@c printer.  You can also set @code{dos-printer} to a file name, in which
@c case ``printed'' output is actually appended to that file.  If you set
@c @code{dos-printer} to @code{"NUL"}, printed output is silently
@c discarded (sent to the system null device).
通常のDOS流の印刷のように、ローカルのプリンタを使いたい場合には、
Lisp変数@code{dos-printer}にプリンタポートの名前を設定します。
たとえば、ローカルのプリンタポートである（デフォルトの）@code{"PRN"}や
@code{"LPT2"}、シリアルプリンタの場合は@code{"COM1"}を使います。
また、@code{dos-printer}にはファイル名を設定することもでき、
その場合には、『印刷』結果はそのファイルに追加されます。
@code{dos-printer}に@code{"NUL"}を設定すると、
印刷結果は（システムの空デバイスに送られて）黙って捨てられます。

@c   If you set @code{dos-printer} to a file name, it's best to use an
@c absolute file name.  Emacs changes the working directory according to
@c the default directory of the current buffer, so if the file name in
@c @code{dos-printer} is relative, you will end up with several such files,
@c each one in the directory of the buffer from which the printing was
@c done.
@code{dos-printer}にファイル名を設定するときには、
絶対ファイル名を使うのが最良です。
Emacsはカレントバッファのデフォルトディレクトリに従って
作業ディレクトリを変更するので、
@code{dos-printer}のファイル名が相対名であると、
印刷を行ったバッファのディレクトリそれぞれに、
そのようなファイルができてしまいます。

@c @findex print-buffer @r{(MS-DOS)}
@c @findex print-region @r{(MS-DOS)}
@c @vindex lpr-headers-switches @r{(MS-DOS)}
@findex print-buffer @r{（MS-DOS）}
@findex print-region @r{（MS-DOS）}
@vindex lpr-headers-switches @r{（MS-DOS）}
@c   The commands @code{print-buffer} and @code{print-region} call the
@c @code{pr} program, or use special switches to the @code{lpr} program, to
@c produce headers on each printed page.  MS-DOS doesn't normally have
@c these programs, so by default, the variable @code{lpr-headers-switches}
@c is set so that the requests to print page headers are silently ignored.
@c Thus, @code{print-buffer} and @code{print-region} produce the same
@c output as @code{lpr-buffer} and @code{lpr-region}, respectively.  If you
@c do have a suitable @code{pr} program (for example, from GNU Textutils),
@c set @code{lpr-headers-switches} to @code{nil}; Emacs will then call
@c @code{pr} to produce the page headers, and print the resulting output as
@c specified by @code{dos-printer}.
コマンド@code{print-buffer}とコマンド@code{print-region}は、
プログラム@code{pr}を呼び出すか
プログラム@code{lpr}のオプションを使って、
各印刷ページにヘッダを付けます。
MS-DOSには、普通、このプログラムはないので、デフォルトでは、
変数@code{lpr-headers-switches}は
ヘッダの印刷要求を黙って無視するように設定してあります。
したがって、@code{print-buffer}と@code{print-region}は、それぞれ、
@code{lpr-buffer}と@code{lpr-region}の出力と同じになります。
適当な（たとえば、GNUのTextutilsに含まれる）@code{pr}プログラムがあるならば、
@code{lpr-headers-switches}には@code{nil}を設定します。
すると、Emacsはページヘッダを生成するために@code{pr}を呼び出して、
@code{dos-printer}の指定にしたがって結果を印刷します。

@c @vindex print-region-function @r{(MS-DOS)}
@vindex print-region-function @r{（MS-DOS）}
@c @cindex lpr usage under MS-DOS
@c @vindex lpr-command @r{(MS-DOS)}
@c @vindex lpr-switches @r{(MS-DOS)}
@cindex lprの使い方（MS-DOS）
@vindex lpr-command @r{（MS-DOS）}
@vindex lpr-switches @r{（MS-DOS）}
@c   Finally, if you do have an @code{lpr} work-alike, you can set
@c @code{print-region-function} to @code{nil}.  Then Emacs uses @code{lpr}
@c for printing, as on other systems.  (If the name of the program isn't
@c @code{lpr}, set the @code{lpr-command} variable to specify where to find
@c it.)
@code{lpr}に類似した動作をするプログラムがあるならば、
@code{print-region-function}には@code{nil}を設定します。
そうすれば、Emacsは他のシステムの場合と同様に@code{lpr}を使って印刷します。
（プログラム名が@code{lpr}でない場合には、
変数@code{lpr-command}にプログラムを探し出す場所を設定します。）

@c @findex ps-print-buffer @r{(MS-DOS)}
@c @findex ps-spool-buffer @r{(MS-DOS)}
@findex ps-print-buffer @r{（MS-DOS）}
@findex ps-spool-buffer @r{（MS-DOS）}
@vindex dos-ps-printer
@c @vindex ps-lpr-command @r{(MS-DOS)}
@c @vindex ps-lpr-switches @r{(MS-DOS)}
@vindex ps-lpr-command @r{（MS-DOS）}
@vindex ps-lpr-switches @r{（MS-DOS）}
@c   A separate variable, @code{dos-ps-printer}, defines how PostScript
@c files should be printed.  If its value is a string, it is used as the
@c name of the device (or file) to which PostScript output is sent, just as
@c @code{dos-printer} is used for non-PostScript printing.  (These are two
@c distinct variables in case you have two printers attached to two
@c different ports, and only one of them is a PostScript printer.)  If the
@c value of @code{dos-ps-printer} is not a string, then the variables
@c @code{ps-lpr-command} and @code{ps-lpr-switches} (@pxref{Postscript})
@c control how to print PostScript files.  Thus, if you have a
@c non-PostScript printer, you can set these variables to the name and the
@c switches appropriate for a PostScript interpreter program (such as
@c Ghostscript).
別の変数@code{dos-ps-printer}では、
PostScriptファイルの印刷方法を定義します。
その値が文字列であれば、
PostScriptでないものの印刷に@code{dos-printer}を使うのと同様に、
PostScriptの出力を送るデバイス名（やファイル名）として使います。
（2つの別々のポートにそれぞれプリンタが接続してあり、
一方だけがPostScriptプリンタであるような場合のために、
2つの別々の変数になっています。）
@code{dos-ps-printer}の値が文字列でなければ、
変数@code{ps-lpr-command}と変数@code{ps-lpr-switches}（@pxref{Postscript}）で
PostScriptファイルの印刷方法を制御します。
したがって、PostScriptプリンタでない場合には、
これらの変数には（Ghostscriptのような）PostScriptインタープリタの名前と
適切なオプションを設定します。

@c   For example, to use Ghostscript for printing on an Epson printer
@c connected to @samp{LPT2} port, put this on your @file{.emacs} file:
@c =  原文のタイポ？                               @file{_emacs}
たとえば、ポート@samp{LPT2}に接続したEpsonのプリンタへの印刷に
Ghostscriptを利用するならば、
ファイル@file{_emacs}にはつぎのように指定します。

@example
@c (setq dos-ps-printer t)  ; @r{Anything but a string.}
(setq dos-ps-printer t)  ; @r{文字列以外なら何でもよい。}
(setq ps-lpr-command "c:/gs/gs386")
(setq ps-lpr-switches '("-q" "-dNOPAUSE"
			"-sDEVICE=epson"
			"-r240x72"
			"-sOutputFile=LPT2"
			"-Ic:/gs"
			"-"))
@end example

@noindent
@c (This assumes that Ghostscript is installed in the @file{"c:/gs"}
@c directory.)
（この例では、Ghostscriptをディレクトリ@file{"c:/gs"}に
インストールしてあると仮定します。）

@node MS-DOS Processes, Windows Processes, MS-DOS Printing, MS-DOS
@c @section Subprocesses on MS-DOS
@section サブプロセス（MS-DOS）

@c @cindex compilation under MS-DOS
@c @cindex inferior processes under MS-DOS
@cindex コンパイル（MS-DOS）
@cindex 下位プロセス（MS-DOS）
@c @findex compile @r{(MS-DOS)}
@c @findex grep @r{(MS-DOS)}
@findex compile @r{（MS-DOS）}
@findex grep @r{（MS-DOS）}
@c   Because MS-DOS is a single-process ``operating system,''
@c asynchronous subprocesses are not available.  In particular, Shell
@c mode and its variants do not work.  Most Emacs features that use
@c asynchronous subprocesses also don't work on MS-DOS, including
@c spelling correction and GUD.  When in doubt, try and see; commands that
@c don't work print an error message saying that asynchronous processes
@c aren't supported.
MS-DOSはシングルプロセスの『オペレーティングシステム』なので、
非同期なサブプロセスは利用できません。
特に、シェル（shell）モードやその派生モードは動きません。
綴りの修正やGUDなどの非同期のサブプロセスを用いたEmacsの機能のほとんどは、
MS-DOSでは動きません。
疑うならば試してみてください。
動作不能なコマンドは、「非同期サブプロセスを使えない」旨の
エラーメッセージを出力します。

@c   Compilation under Emacs with @kbd{M-x compile}, searching files with
@c @kbd{M-x grep} and displaying differences between files with @kbd{M-x
@c diff} do work, by running the inferior processes synchronously.  This
@c means you cannot do any more editing until the inferior process
@c finishes.
MS-DOS用Emacsでも、
@kbd{M-x compile}によるコンパイル、
@kbd{M-x grep}によるファイルの探索、
@kbd{M-x diff}によるファイルの比較は動作しますが、
これらは下位プロセスを同期して走らせます。
つまり、下位プロセスが終了するまではいっさい編集はできません。

@c   By contrast, Emacs compiled as native Windows application
@c @strong{does} support asynchronous subprocesses.  @xref{Windows
@c Processes}.
対照的に、Windows専用にコンパイルしたEmacsでは、
非同期プロセスを使えます。
@xref{Windows Processes}。

@c @cindex printing under MS-DOS
@cindex 印刷（MS-DOS）
@c   Printing commands, such as @code{lpr-buffer} (@pxref{Hardcopy}) and
@c @code{ps-print-buffer} (@pxref{Postscript}), work in MS-DOS by sending
@c the output to one of the printer ports.  @xref{MS-DOS Printing}.
@code{lpr-buffer}（@pxref{Hardcopy}）や
@code{ps-print-buffer}（@pxref{Postscript}）のような印刷コマンドは、
MS-DOSではプリンタポートの1つに出力を送ることで動作します。
@xref{MS-DOS Printing}。

@c   When you run a subprocess synchronously on MS-DOS, make sure the
@c program terminates and does not try to read keyboard input.  If the
@c program does not terminate on its own, you will be unable to terminate
@c it, because MS-DOS provides no general way to terminate a process.
@c Pressing @kbd{C-c} or @kbd{C-@key{BREAK}} might sometimes help in these
@c cases.
MS-DOSで同期的にサブプロセスを動かす場合には、
プログラムが確実に終了し、しかも、キーボードからまったく入力しないことを
確認してください。
MS-DOSにはプロセスを終了させる一般的な方法がないので、
プログラムがみずから終了できない場合には、
それを終了させることができなくなります。
このような場合、
@kbd{C-c}や@kbd{C-@key{BREAK}}を押すと助かる場合もあります。

@c   Accessing files on other machines is not supported on MS-DOS.  Other
@c network-oriented commands such as sending mail, Web browsing, remote
@c login, etc., don't work either, unless network access is built into
@c MS-DOS with some network redirector.
MS-DOSでは、他のマシンのファイルを参照することはできません。
MS-DOSにネットワーク機能が組み込まれていなければ、
メイルの送信、Webの閲覧、リモートログインなどの
ネットワーク向けのコマンドも使えません。

@c @cindex directory listing on MS-DOS
@c @vindex dired-listing-switches @r{(MS-DOS)}
@cindex ディレクトリの一覧（MS-DOS）
@vindex dired-listing-switches @r{（MS-DOS）}
@c   Dired on MS-DOS uses the @code{ls-lisp} package where other
@c platforms use the system @code{ls} command.  Therefore, Dired on
@c MS-DOS supports only some of the possible options you can mention in
@c the @code{dired-listing-switches} variable.  The options that work are
@c @samp{-A}, @samp{-a}, @samp{-c}, @samp{-i}, @samp{-r}, @samp{-S},
@c @samp{-s}, @samp{-t}, and @samp{-u}.
MS-DOSでのdiredは、
他のシステムではシステムの@code{ls}コマンドを使う場面で
パッケージ@code{ls-lisp}を使います。
したがって、MS-DOSのdiredでは
変数@code{dired-listing-switches}に設定できるオプションは限られます。
使えるオプションは、
@samp{-A}、@samp{-a}、@samp{-c}、@samp{-i}、@samp{-r}、@samp{-S}、
@samp{-s}、@samp{-t}、@samp{-u}です。

@node Windows Processes, Windows System Menu, MS-DOS Processes, MS-DOS
@c @section Subprocesses on Windows 95 and NT
@section サブプロセス（Windows 95、NT）

@c Emacs compiled as a native Windows application (as opposed to the DOS
@c version) includes full support for asynchronous subprocesses.
@c In the Windows version, synchronous and asynchronous subprocesses work
@c fine on both
@c Windows 95 and Windows NT as long as you run only 32-bit Windows
@c applications.  However, when you run a DOS application in a subprocess,
@c you may encounter problems or be unable to run the application at all;
@c and if you run two DOS applications at the same time in two
@c subprocesses, you may have to reboot your system.
（DOS版と対比して）Windows専用にコンパイルしたEmacsでは、
非同期のサブプロセスを完全に使えます。
Windows版では、32ビットのWindowsアプリケーションを実行している限りは、
同期であれ非同期であれサブプロセスはうまく動作します。
しかし、サブプロセスでDOSアプリケーションを実行すると、
アプリケーションの実行に問題を生じたり実行できなかったりします。
さらに、2つのDOSアプリケーションを同時に2つのサブプロセスで実行すると、
システムをリブートしなければならなくなります。

@c Since the standard command interpreter (and most command line utilities)
@c on Windows 95 are DOS applications, these problems are significant when
@c using that system.  But there's nothing we can do about them; only
@c Microsoft can fix them.
Windows 95の標準のコマンドインタープリタ
（および、ほとんどのコマンド行ユーティリティ）はDOSアプリケーションなので、
この種のシステムを使う場合には上記の問題は重要になります。
しかし、これに関してわれわれにできることは何もなく、
Microsoftだけが修正できるのです。

@c If you run just one DOS application subprocess, the subprocess should
@c work as expected as long as it is ``well-behaved'' and does not perform
@c direct screen access or other unusual actions.  If you have a CPU
@c monitor application, your machine will appear to be 100% busy even when
@c the DOS application is idle, but this is only an artifact of the way CPU
@c monitors measure processor load.
DOSアプリケーションのサブプロセスを1つだけ実行するならば、
『行儀がよく』て、しかも、画面を直接操作するなどの
非標準的な動作をしない限りは、サブプロセスは予想どおりに動作するはずです。
CPUモニタ（監視）アプリケーションを使うと、
DOSアプリケーションが停止しているときでさえも、
マシンは100%ビジーになりますが、
これはCPUモニタがプロセッサの負荷を調べる方法に起因します。

@c You must terminate the DOS application before you start any other DOS
@c application in a different subprocess.  Emacs is unable to interrupt or
@c terminate a DOS subprocess.  The only way you can terminate such a
@c subprocess is by giving it a command that tells its program to exit.
別のサブプロセスでDOSアプリケーションを実行する場合には、
まえもってDOSアプリケーションを終了しておく必要があります。
Emacsは、DOSのサブプロセスに割り込んだり停止させることができません。
このようなサブプロセスを終了する唯一の方法は、
そのプログラムに終了を指示するコマンドを与えることです。

@c If you attempt to run two DOS applications at the same time in separate
@c subprocesses, the second one that is started will be suspended until the
@c first one finishes, even if either or both of them are asynchronous.
別々のサブプロセスにおいて2つのDOSアプリケーションを同時に実行しようとすると、
一方あるいは両方が非同期であるとしても、
2番目に起動したものは最初のものが終了するまで休止してしまいます。

@c If you can go to the first subprocess, and tell it to exit, the second
@c subprocess should continue normally.  However, if the second subprocess
@c is synchronous, Emacs itself will be hung until the first subprocess
@c finishes.  If it will not finish without user input, then you have no
@c choice but to reboot if you are running on Windows 95.  If you are
@c running on Windows NT, you can use a process viewer application to kill
@c the appropriate instance of ntvdm instead (this will terminate both DOS
@c subprocesses).
最初のサブプロセスを操作できて終了を指示できるならば、
2番目のサブプロセスは正常に実行を継続するはずです。
しかし、2番目が同期サブプロセスであれば、
最初のサブプロセスが終了するまではEmacs自体が固まってしまいます。
ユーザー入力なしに終了できない場合には、
Windows 95を使っている限りリブート以外の選択はありません。
Windows NTであれば、プロセスを調べるアプリケーションを使って、
適当なntvdmを終了させます（するとDOSの2つのサブプロセスも終了します）。

@c If you have to reboot Windows 95 in this situation, do not use the
@c @code{Shutdown} command on the @code{Start} menu; that usually hangs the
@c system.  Instead, type @kbd{CTL-ALT-@key{DEL}} and then choose
@c @code{Shutdown}.  That usually works, although it may take a few minutes
@c to do its job.
このような状況でWindows 95をリブートすることが必要になったときには、
@code{Start}メニューの中の@code{Shutdown}コマンドを使ってはいけません。
たいていの場合、システムが固まってしまいます。
かわりに、@kbd{CTL-ALT-@key{DEL}}を打鍵して@code{Shutdown}を選びます。
処理に数分かかる場合もありますが、多くの場合、機能してくれます。

@node Windows System Menu,  , Windows Processes, MS-DOS
@c @section Using the System Menu on Windows
@section Windowsのシステムメニューの利用

@c Emacs compiled as a native Windows application normally turns off the
@c Windows feature that tapping the @key{ALT}
@c key invokes the Windows menu.  The reason is that the @key{ALT} also
@c serves as @key{META} in Emacs.  When using Emacs, users often press the
@c @key{META} key temporarily and then change their minds; if this has the
@c effect of bringing up the Windows menu, it alters the meaning of
@c subsequent commands.  Many users find this frustrating. 
Windows専用にコンパイルしたEmacsでは、
@key{ALT}キーを押してWindowsのメニューを立ち上げる機能を切ってあります。
これは、Emacsでは@key{ALT}は@key{META}の働きをするからです。
Emacsを利用しているときには、
ユーザーはしばしばいったん@key{META}キーを押してから何もせずに放します。
この動作でWindowsのメニューが立ち上がってしまうと、
以降のコマンドの意味が変ってしまいます。
多くのユーザーにはこれでは邪魔でしょう。

@vindex w32-pass-alt-to-system
@c You can reenable Windows's default handling of tapping the @key{ALT} key
@c by setting @code{w32-pass-alt-to-system} to a non-@code{nil} value.
@code{w32-pass-alt-to-system}に@code{nil}以外の値を設定すれば、
@key{ALT}キーを押したときの処理はWindowsのデフォルトに戻ります。

