File:  [Local Repository] / gnujdoc / emacs-20.6 / msdog-ja.texi
Revision 1.1: download - view: text, annotated - select for diffs
Wed Apr 26 06:42:34 2000 UTC (20 years, 6 months ago) by hayashi
Branches: MAIN
CVS tags: HEAD
New files

    1: @c =============================================================
    2: @c = 元 翻 訳: 田中聡@東京女子大学
    3: @c = 加筆修正: 大木敦雄@大塚.筑波大学 = 1998/11/25
    4: @c = 20.4改訂: 大木敦雄@大塚.筑波大学 = 1999/09/14
    5: @c =============================================================
    6: @c This is part of the Emacs manual.
    7: @c Copyright (C) 1985, 86, 87, 93, 94, 95, 1997 Free Software Foundation, Inc.
    8: @c See file emacs.texi for copying conditions.
    9: @node MS-DOS, Manifesto, Antinews, Top
   10: @c @appendix Emacs and MS-DOS 
   11: @appendix EmacsとMS-DOS 
   12: @cindex MS-DOG
   13: @c @cindex MS-DOS peculiarities
   14: @cindex MS-DOSの癖
   15: 
   16: @c   This section briefly describes the peculiarities of using Emacs under
   17: @c the MS-DOS ``operating system'' (also known as ``MS-DOG'').  If you
   18: @c build Emacs for MS-DOS, the binary will also run on Windows 3.X, Windows
   19: @c NT, Windows 9X, or OS/2 as a DOS application; the information in this
   20: @c chapter applies for all of those systems, if you use an Emacs that was
   21: @c built for MS-DOS.
   22: ここでは、(『MS-DOG』とも呼ばれる)MS-DOS『オペレーティングシステム』で
   23: 稼働するEmacsの癖について簡単にふれます。
   24: MS-DOS用に作成したEmacsのバイナリは、
   25: Windows 3.x、Windows NT、Windows 9X、OS-2上で
   26: DOSアプリケーションとしても動作します。
   27: MS-DOS用に作成したEmacsを使っている限り、
   28: 本章の情報はこれらすべてのシステムにあてはまります。
   29: 
   30: @c   Note that it is possible to build Emacs specifically for Windows NT or
   31: @c Windows 9X.  If you do that, most of this chapter does not apply;
   32: @c instead, you get behavior much closer to what is documented in the rest
   33: @c of the manual, including support for long file names, multiple frames,
   34: @c scroll bars, mouse menus, and subprocesses.  However, the section on
   35: @c text files and binary files does still apply.  There are also two
   36: @c sections at the end of this chapter which apply specifically for Windows
   37: @c NT and 9X.
   38: Windows NTやWindows 9Xに専用のEmacsを作ることも可能です。
   39: その場合には、本章のほとんどは関係ありません。
   40: 長いファイル名、複数のフレーム、スクロールバー、マウスメニュー、
   41: サブプロセスの利用を含めて、本書の他の部分で説明した動作に
   42: 近い動作をします。
   43: しかし、テキストファイルとバイナリファイルに関する節は適用できます。
   44: また、本章の最後の2つの節は、Windows NTと9Xだけに適用できます。
   45: 
   46: @menu
   47: * Input: MS-DOS Input.         Keyboard and mouse usage on MS-DOS.
   48: * Display: MS-DOS Display.     Fonts, frames and display size on MS-DOS.
   49: * Files: MS-DOS File Names.    File name conventions on MS-DOS.
   50: * Text and Binary::            Text files on MS-DOS use CRLF to separate lines.
   51: * Printing: MS-DOS Printing.   How to specify the printer on MS-DOS.
   52: * I18N: MS-DOS and MULE.       Support for internationalization on MS-DOS.
   53: * Processes: MS-DOS Processes. Running subprocesses on MS-DOS.
   54: * Windows Processes::          Running subprocesses on Windows.
   55: * Windows System Menu::        Controlling what the ALT key does.
   56: @end menu
   57: 
   58: @node MS-DOS Input, MS-DOS Display, , MS-DOS
   59: @c @section Keyboard and Mouse on MS-DOS
   60: @section MS-DOSのキーボードとマウス
   61: 
   62: @c @cindex Meta (under MS-DOS)
   63: @c @cindex Hyper (under MS-DOS)
   64: @c @cindex Super (under MS-DOS)
   65: @cindex Meta (MS-DOS)
   66: @cindex Hyper (MS-DOS)
   67: @cindex Super (MS-DOS)
   68: @vindex dos-super-key
   69: @vindex dos-hyper-key
   70: @c   The PC keyboard maps use the left @key{ALT} key as the @key{META} key.
   71: @c You have two choices for emulating the @key{SUPER} and @key{HYPER} keys:
   72: @c choose either the right @key{CTRL} key or the right @key{ALT} key by
   73: @c setting the variables @code{dos-hyper-key} and @code{dos-super-key} to 1
   74: @c or 2 respectively.  If neither @code{dos-super-key} nor
   75: @c @code{dos-hyper-key} is 1, then by default the right @key{ALT} key is
   76: @c also mapped to the @key{META} key.  However, if the MS-DOS international
   77: @c keyboard support program @file{KEYB.COM} is installed, Emacs will
   78: @c @emph{not} map the right @key{ALT} to @key{META}, since it is used for
   79: @c accessing characters like @kbd{~} and @kbd{@@} on non-US keyboard
   80: @c layouts; in this case, you may only use the left @key{ALT} as @key{META}
   81: @c key.
   82: PCのキーボードの左側の@key{ALT}キーは、@key{META}キーに割り当てられます。
   83: @key{SUPER}キーと@key{HYPER}キーのエミュレーションには、選択肢が2つあります。
   84: 変数@code{dos-hyper-key}と@code{dos-super-key}を1にすれば、
   85: 右側の@key{CTRL}キーを選びます。
   86: 変数@code{dos-hyper-key}と@code{dos-super-key}を2にすれば、
   87: 右側の@key{ALT}キーを選びます。
   88: @code{dos-super-key}と@code{dos-hyper-key}のいずれも1でなければ、
   89: デフォルトで右側の@key{ALT}キーも@key{META}に割り当てられます。
   90: しかし、MS-DOSの国際化キーボード用プログラム
   91: @file{KEYB.COM}をインストールしてある場合は、
   92: 右側の@key{ALT}を@key{META}には割り当て@emph{ません}。 
   93: というのは、米国配列のキーボードでない場合、
   94: 右側の@key{ALT}は@kbd{~}や@kbd{@@}として使われるからです。
   95: この場合には、左側の@key{ALT}のみを@key{META}として使えます。
   96: 
   97: @c @kindex C-j @r{(MS-DOS)}
   98: @kindex C-j @r{(MS-DOS)}
   99: @vindex dos-keypad-mode
  100: @c   The variable @code{dos-keypad-mode} is a flag variable that controls
  101: @c what key codes are returned by keys in the numeric keypad.  You can also
  102: @c define the keypad @key{ENTER} key to act like @kbd{C-j}, by putting the
  103: @c following line into your @file{_emacs} file:
  104: 変数@code{dos-keypad-mode}は、
  105: 数字キーパッド上のキーが返すキーコードを制御する変数です。
  106: ファイル@file{_emacs}につぎの行を入れておけば、
  107: @key{ENTER}キーが@kbd{C-j}として働くように定義できます。
  108: 
  109: @smallexample
  110: @c ;; Make the Enter key from the Numeric keypad act as C-j.
  111: ;; 数字キーパッドのEnterキーをC-jとして動作させる。
  112: (define-key function-key-map [kp-enter] [?\C-j])
  113: @end smallexample
  114: 
  115: @c @kindex DEL @r{(MS-DOS)}
  116: @c @kindex BS @r{(MS-DOS)}
  117: @kindex DEL @r{(MS-DOS)}
  118: @kindex BS @r{(MS-DOS)}
  119: @c   The key that is called @key{DEL} in Emacs (because that's how it is
  120: @c designated on most workstations) is known as @key{BS} (backspace) on a
  121: @c PC.  That is why the PC-specific terminal initialization remaps the
  122: @c @key{BS} key to act as @key{DEL}; the @key{DEL} key is remapped to act
  123: @c as @kbd{C-d} for the same reasons.
  124: (ほとんどのワークステーションでの呼称から)
  125: Emacsで@key{DEL}と呼ばれるキーは、PCでは@key{BS}(バックスペース)です。
  126: このため、PC特有の端末初期化においては、
  127: @key{BS}キーは@key{DEL}として動作するようにしています。
  128: 同じ理由から、@key{DEL}キーは @key{C-d}として動作するようにしてあります。
  129: 
  130: @c @kindex C-g @r{(MS-DOS)}
  131: @c @kindex C-BREAK @r{(MS-DOS)}
  132: @c @cindex quitting on MS-DOS
  133: @kindex C-g @r{(MS-DOS)}
  134: @kindex C-BREAK @r{(MS-DOS)}
  135: @cindex MS-DOS上での中断
  136: @c   Emacs built for MS-DOS recognizes @kbd{C-@key{BREAK}} as a quit
  137: @c character, just like @kbd{C-g}.  This is because Emacs cannot detect
  138: @c that you have typed @kbd{C-g} until it is ready for more input.  As a
  139: @c consequence, you cannot use @kbd{C-g} to stop a running command
  140: @c (@pxref{Quitting}).  By contrast, @kbd{C-@key{BREAK}} @emph{is} detected
  141: @c as soon as you type it (as @kbd{C-g} is on other systems), so it can be
  142: @c used to stop a running command and for emergency escape
  143: @c (@pxref{Emergency Escape}).
  144: MS-DOS用のEmacsでは、
  145: @kbd{C-@key{BREAK}}を@kbd{C-g}のような中断文字として認識します。
  146: これは、Emacsが入力を読もうとしないと
  147: @kbd{C-g}が打鍵されたことを検出できないからです。
  148: そのため、動作中のコマンドを止めるために@kbd{C-g}を使えません
  149: (@pxref{Quitting})。
  150: 対照的に、@kbd{C-@key{BREAK}}は
  151: (他のシステムでの@kbd{C-g}のように)打鍵するとすぐに検出@emph{される}ので、
  152: 動作中のコマンドを停止したり緊急脱出したりするために使えます
  153: (@pxref{Emergency Escape})。
  154: 
  155: @c @cindex mouse support under MS-DOS
  156: @cindex MS-DOSでのマウスの利用
  157: @c   Emacs on MS-DOS supports a mouse (on the default terminal only).
  158: @c The mouse commands work as documented, including those that use menus
  159: @c and the menu bar (@pxref{Menu Bar}).  Scroll bars don't work in
  160: @c MS-DOS Emacs.  PC mice usually have only two buttons; these act as
  161: @c @kbd{Mouse-1} and @kbd{Mouse-2}, but if you press both of them
  162: @c together, that has the effect of @kbd{Mouse-3}.
  163: MS-DOS用Emacsは、(デフォルトの端末だけで)マウスを使えます。
  164: メニューやメニューバー(@pxref{Menu Bar})の利用を含めて、
  165: マウスコマンドはドキュメントどおりに動作します。
  166: MS-DOS用Emacsではスクロールバーは使えません。
  167: PCのマウスには、通常、2つのボタンしかありません。
  168: これらは@kbd{Mouse-1}と@kbd{Mouse-2}として動作しますが、
  169: 2つのボタンを同時に押せば@kbd{Mouse-3}として動作します。
  170: 
  171: @c @cindex Windows clipboard support
  172: @c   Emacs built for MS-DOS supports clipboard operations when it runs on
  173: @c Windows.  Commands that put text on the kill ring, or yank text from the
  174: @c ring, check the Windows clipboard first, just as Emacs does on X Windows
  175: @c (@pxref{Mouse Commands}).  Only the primary selection and the cut buffer
  176: @c are supported by MS-DOS Emacs on Windows; the secondary selection always
  177: @c appears as empty.
  178: @cindex Windowsのクリップボードの利用
  179: MS-DOS用EmacsがWindows上で動作している場合には、
  180: クリップボードの操作を利用できます。
  181: キルリングにテキストを置いたり、
  182: キルリングからテキストをヤンクしたりするコマンドでは、
  183: Xウィンドウシステムの場合と同様に、
  184: まずWindowsのクリップボードを調べます(@pxref{Mouse Commands})。
  185: Windows上のMS-DOS用Emacsは、
  186: 一次セレクションとカットバッファのみを利用し、
  187: 二次セレクションはつねに空です。
  188: 
  189: @c   Due to the way clipboard access is implemented by Windows, the
  190: @c length of text you can put into the clipboard is limited by the amount
  191: @c of free DOS memory that is available to Emacs.  Usually, up to 620KB of
  192: @c text can be put into the clipboard, but this limit depends on the system
  193: @c configuration and is lower if you run Emacs as a subprocess of
  194: @c another program.  If the killed text does not fit, Emacs prints a
  195: @c message saying so, and does not put the text into the clipboard.
  196: Windowsで実装されているクリップボードの参照方法のため、
  197: クリップボードに置けるテキストの長さは、
  198: Emacsが利用できるDOSの空きメモリ量に制限されます。
  199: 通常、620Kバイトまでのテキストをクリップボードに置けますが、
  200: この上限はシステムの設定に依存し、
  201: 他のプログラムのサブプロセスとしてEmacsを実行しているときには少なくなります。
  202: 削除したテキストがクリップボードに入りきらなければ、
  203: Emacsはその旨のメッセージを出力して、
  204: テキストをクリップボードへ置きません。
  205: 
  206: @c   Null characters also cannot be put into the Windows clipboard.  If the
  207: @c killed text includes null characters, Emacs does not put such text into
  208: @c the clipboard, and prints in the echo area a message to that effect.
  209: Windowsのクリップボードにはナル文字を入れられません。
  210: キルしたテキストにナル文字が含まれる場合には、
  211: Emacsはそのようなテキストをクリップボードへ置きません。
  212: さらに、エコー領域には、その旨、メッセージを表示します。
  213: 
  214: @vindex dos-display-scancodes
  215: @c   The variable @code{dos-display-scancodes}, when non-@code{nil},
  216: @c directs Emacs to display the ASCII value and the keyboard scan code of
  217: @c each keystroke; this feature serves as a complement to the
  218: @c @code{view-lossage} command, for debugging.
  219: 変数@code{dos-display-scancodes}の値が@code{nil}以外のときには、
  220: キーを打つたびに、Emacsは各キーのASCII(コードの)値と
  221: キーボードスキャンコードを出力します。
  222: この機能は、デバッグ用のコマンド@code{view-lossage}を補佐します。
  223: 
  224: @node MS-DOS Display, MS-DOS File Names, MS-DOS Input, MS-DOS
  225: @c @section Display on MS-DOS
  226: @c @cindex faces under MS-DOS
  227: @c @cindex fonts, emulating under MS-DOS
  228: @section MS-DOSの画面
  229: @cindex フェイス(MS-DOS)
  230: @cindex フォントのエミュレーション(MS-DOS)
  231: 
  232: @c   Display on MS-DOS cannot use font variants, like bold or italic,
  233: @c but it does support
  234: @c multiple faces, each of which can specify a foreground and a background
  235: @c color.  Therefore, you can get the full functionality of Emacs packages
  236: @c that use fonts (such as @code{font-lock}, Enriched Text mode, and
  237: @c others) by defining the relevant faces to use different colors.  Use the
  238: @c @code{list-colors-display} command (@pxref{Frame Parameters}) and the
  239: @c @code{list-faces-display} command (@pxref{Faces}) to see what colors and
  240: @c faces are available and what they look like.
  241: MS-DOSの画面では、ボールド体(太字体)やイタリック体(斜体)などの
  242: フォントの変種を使えませんが、
  243: 個々に前景色と背景色を指定できるフェイスを複数個使えます。
  244: したがって、関連するフェイスに異なる表示色を定義すれば、
  245: (@code{font-lock}、エンリッチ(enriched)モードなどの)
  246: フォントを用いるEmacsのパッケージの全機能を利用できます。
  247: コマンド@code{list-colors-display}(@pxref{Frame Parameters})と
  248: コマンド@code{list-faces-display}(@pxref{Faces})を使えば、
  249: 利用可能なフェイスと表示色、それらの見え方を知ることができます。
  250: 
  251: @c   The section @ref{MS-DOS and MULE}, later in this chapter, describes
  252: @c how Emacs displays glyphs and characters which aren't supported by the
  253: @c native font built into the DOS display.
  254: 本章の@ref{MS-DOS and MULE}では、
  255: DOSの画面に組み込まれたフォントでは表せない
  256: 字形や文字をEmacsがどのように表示するかを説明します。
  257: 
  258: @c @cindex frames on MS-DOS
  259: @cindex フレーム(MS-DOS)
  260: @c   Multiple frames (@pxref{Frames}) are supported on MS-DOS, but they all
  261: @c overlap, so you only see a single frame at any given moment.  That
  262: @c single visible frame occupies the entire screen.  When you run Emacs
  263: @c from MS-Windows DOS box, you can make the visible frame smaller than
  264: @c the full screen, but Emacs still cannot display more than a single
  265: @c frame at a time.
  266: MS-DOSでも複数のフレーム(@pxref{Frames})を利用できます。
  267: しかし、それらはすべて重なっているので、
  268: 一度には1つのフレームしか見ることができません。
  269: 見えている1つのフレームが画面全体を覆います。
  270: MS-WindowsのDOSボックスでEmacsを実行しているときには、
  271: 見えているフレームを画面全体より小さくはできますが、
  272: それでも、一度に1つのフレームしか表示できません。
  273: 
  274: @c @cindex frame size under MS-DOS
  275: @cindex フレームサイズ(MS-DOS)
  276: @findex mode4350
  277: @findex mode25
  278: @c   The @code{mode4350} command switches the display to 43 or 50
  279: @c lines, depending on your hardware; the @code{mode25} command switches
  280: @c to the default 80x25 screen size.
  281: コマンド@code{mode4350}は43行表示と50行表示を切り替えますが、
  282: ハードウェアに依存します。
  283: コマンド@code{mode25}は、デフォルトの80x25の画面サイズに切り替えます。
  284: 
  285: @c   By default, Emacs only knows how to set screen sizes of 80 columns by
  286: @c 25, 28, 35, 40, 43 or 50 rows.  However, if your video adapter has
  287: @c special video modes that will switch the display to other sizes, you can
  288: @c have Emacs support those too.  When you ask Emacs to switch the frame to
  289: @c @var{n} rows by @var{m} columns dimensions, it checks if there is a
  290: @c variable called @code{screen-dimensions-@var{n}x@var{m}}, and if so,
  291: @c uses its value (which must be an integer) as the video mode to switch
  292: @c to.  (Emacs switches to that video mode by calling the BIOS @code{Set
  293: @c Video Mode} function with the value of
  294: @c @code{screen-dimensions-@var{n}x@var{m}} in the @code{AL} register.)
  295: @c For example, suppose your adapter will switch to 66x80 dimensions when
  296: @c put into video mode 85.  Then you can make Emacs support this screen
  297: @c size by putting the following into your @file{_emacs} file:
  298: デフォルトでは、Emacsは80桁で、25行、28行、35行、40行、43行、50行の
  299: 画面サイズしか知りません。
  300: しかし、ビデオアダプタに別の画面サイズに切り替える特別な
  301: ビデオモードがあれば、Emacsでもそれらを利用できます。
  302: Emacsにフレームサイズを@var{n}行@var{m}桁に切り替える指示をすると、
  303: @code{screen-dimensions-@var{n}x@var{m}}という変数があるかどうか調べます。
  304: 変数があれば、その値(整数である必要がある)を
  305: 切り替え先のビデオモードとして使います。
  306: (Emacsは、
  307: @code{screen-dimensions-@var{n}x@var{m}}の値をレジスタ@code{AL}に入れ、
  308: BIOSの関数@code{Set Video Mode}を呼び出し、ビデオモードを切り替えます。)
  309: たとえば、ビデオモードを85にすると66x80の画面に切り替わるアダプタがあるとします。
  310: @file{_emacs}につぎの行を加えれば、
  311: Emacsでこの画面サイズを使えるようになります。
  312: 
  313: @example
  314: (setq screen-dimensions-66x80 85)
  315: @end example
  316: 
  317: @c   Since Emacs on MS-DOS can only set the frame size to specific
  318: @c supported dimensions, it cannot honor every possible frame resizing
  319: @c request.  When an unsupported size is requested, Emacs chooses the next
  320: @c larger supported size beyond the specified size.  For example, if you
  321: @c ask for 36x80 frame, you will get 40x80 instead.
  322: MS-DOS用Emacsでは、
  323: フレームサイズは利用可能な特定のサイズにしか設定できませんから、
  324: フレームサイズの変更要求すべてに答えられるわけではありません。
  325: 使えないサイズが要求されると、
  326: Emacsは指定されたサイズのつぎに大きいサイズを選びます。
  327: たとえば、36x80のフレームを要求すると、かわりに、40x80になります。
  328: 
  329: @c   The variables @code{screen-dimensions-@var{n}x@var{m}} are used only
  330: @c when they exactly match the specified size; the search for the next
  331: @c larger supported size ignores them.  In the above example, even if your
  332: @c VGA supports 38x80 dimensions and you define a variable
  333: @c @code{screen-dimensions-38x80} with a suitable value, you will still get
  334: @c 40x80 screen when you ask for a 36x80 frame.  If you want to get the
  335: @c 38x80 size in this case, you can do it by setting the variable named
  336: @c @code{screen-dimensions-36x80} with the same video mode value as
  337: @c @code{screen-dimensions-38x80}.
  338: 変数@code{screen-dimensions-@var{n}x@var{m}}は、
  339: 指定サイズに正確に一致するときだけ使われます。
  340: 利用可能なつぎに大きなサイズの候補を探すときには無視します。
  341: 上述の例では、VGAで38x80を使えて、
  342: 変数@code{screen-dimensions-38x80}に適切な値を定義したとしても、
  343: 36x80のフレームを要求した場合には、40x80の画面になってしまいます。
  344: このような場合に38x80のサイズにしたければ、
  345: 変数@code{screen-dimensions-36x80}にも
  346: @code{screen-dimensions-38x80}と同じビデオモードの値を入れます。
  347: 
  348: @c   Changing frame dimensions on MS-DOS has the effect of changing all the
  349: @c other frames to the new dimensions.
  350: MS-DOSでは、フレームサイズを変更すると、
  351: 他のすべてのフレームのサイズも変更してしまいます。
  352: 
  353: @node MS-DOS File Names, Text and Binary, MS-DOS Display, MS-DOS
  354: @c @section File Names on MS-DOS
  355: @c @cindex file names under MS-DOS
  356: @c @cindex init file, default name under MS-DOS
  357: @section MS-DOSにおけるファイル名
  358: @cindex ファイル名(MS-DOS)
  359: @cindex 初期化ファイル、デフォルト名(MS-DOS)
  360: 
  361: @c   MS-DOS normally uses a backslash, @samp{\}, to separate name units
  362: @c within a file name, instead of the slash used on other systems.  Emacs
  363: @c on MS-DOS permits use of either slash or backslash, and also knows
  364: @c about drive letters in file names.
  365: 他のシステムではファイル名の構成要素の区切りにはスラッシュを使いますが、
  366: MS-DOSでは、普通、バックスラッシュ@samp{\}を使います。
  367: MS-DOS用Emacsでは、スラッシュもバックスラッシュも使えて、
  368: さらに、ファイル名に含まれるドライブ名も理解します。
  369: 
  370: @c   On MS-DOS, file names are case-insensitive and limited to eight
  371: @c characters, plus optionally a period and three more characters.  Emacs
  372: @c knows enough about these limitations to handle file names that were
  373: @c meant for other operating systems.  For instance, leading dots @samp{.}
  374: @c in file names are invalid in MS-DOS, so Emacs transparently converts
  375: @c them to underscores @samp{_}; thus your default init file (@pxref{Init
  376: @c File}) is called @file{_emacs} on MS-DOS.  Excess characters before or
  377: @c after the period are generally ignored by MS-DOS itself; thus, if you
  378: @c visit the file @file{LongFileName.EvenLongerExtension}, you will
  379: @c silently get @file{longfile.eve}, but Emacs will still display the long
  380: @c file name on the mode line.  Other than that, it's up to you to specify
  381: @c file names which are valid under MS-DOS; the transparent conversion as
  382: @c described above only works on file names built into Emacs.
  383: MS-DOSでは、ファイル名に大文字小文字の区別はなく
  384: 8文字に制限されますが、ピリオドとさらに3文字を付加できます。
  385: Emacsは他のシステム向けのファイル名を扱ううえで、
  386: これらの制限を熟知しています。
  387: たとえば、ドット@samp{.}で始まるファイル名は、
  388: MS-DOSでは正しくないので、Emacsはそれを透過的に下線@samp{_}に変換します。
  389: したがって、デフォルトの初期化ファイル(@pxref{Init File})は、
  390: MS-DOSでは@file{_emacs}と呼ばれます。
  391: ピリオドの前後の文字数制限を越えた部分は、
  392: 通常、MS-DOSが無視します。
  393: したがって、ファイル@file{LongFileName.EvenLongerExtension}を訪れると、
  394: 実際には@file{longfile.eve}を訪れることになりますが、
  395: モード行にはもとの長い名前が表示されます。
  396: これ以外には、MS-DOSにおいて正しいファイル名を指定するのは、
  397: ユーザーの責任です。
  398: 上述した透過的な変換は、Emacsに組み込まれたファイル名にのみに作用します。
  399: 
  400: @c @cindex backup file names on MS-DOS
  401: @cindex バックアップファイルの名前(MS-DOS)
  402: @c   The above restrictions on the file names on MS-DOS make it almost
  403: @c impossible to construct the name of a backup file (@pxref{Backup
  404: @c Names}) without losing some of the original file name characters.  For
  405: @c example, the name of a backup file for @file{docs.txt} is
  406: @c @file{docs.tx~} even if single backup is used.
  407: MS-DOSでの上述のファイル名の制限のために、
  408: もとのファイル名の文字をいくつか捨てずに
  409: バックアップファイル(@pxref{Backup Names})の名前を構成することは不可能です。
  410: たとえば、バックアップを1つしか使っていなくても、
  411: @file{docs.txt}のバックアップファイルの名前は
  412: @file{docs.tx~}となります。
  413: 
  414: @c @cindex file names under Windows 95/NT
  415: @c @cindex long file names in DOS box under Windows 95/NT
  416: @cindex ファイル名(Windows 95/NT)
  417: @cindex 長いファイル名(Windows 95/NT下のDOSボックス)
  418: @c   If you run Emacs as a DOS application under Windows 9X, you can
  419: @c turn on support for long file names.  If you do that, Emacs doesn't
  420: @c truncate file names or convert them to lower case; instead, it uses the
  421: @c file names that you specify, verbatim.  To enable long file name
  422: @c support, set the environment variable @code{LFN} to @samp{y} before
  423: @c starting Emacs.  Unfortunately, Windows NT doesn't allow DOS programs to
  424: @c access long file names, so Emacs built for MS-DOS will only see their
  425: @c short 8+3 aliases.
  426: Windows 9x上のDOSアプリケーションとしてEmacsを実行する場合には、
  427: 長いファイル名の使用を有効にできます。
  428: そうすると、Emacsは、ファイル名を切り詰めたり小文字に変換したりせずに、
  429: 指定したとおりのファイル名をそのまま使います。
  430: 長いファイル名の使用を有効にするには、
  431: Emacsを起動するまえに、環境変数@code{LFN}に@samp{y}と設定します。
  432: 残念ながら、Windows NTではDOSプログラムから長いファイル名を使えませんので、
  433: MS-DOS用Emacsからは短い8+3の別名しか見えません。
  434: 
  435: @c @cindex @code{HOME} directory under MS-DOS
  436: @cindex ホームディレクトリ(MS-DOS)
  437: @c   MS-DOS has no notion of home directory, so Emacs on MS-DOS pretends
  438: @c that the directory where it is installed is the value of @code{HOME}
  439: @c environment variable.  That is, if your Emacs binary,
  440: @c @file{emacs.exe}, is in the directory @file{c:/utils/emacs/bin}, then
  441: @c Emacs acts as if @code{HOME} were set to @samp{c:/utils/emacs}.  In
  442: @c particular, that is where Emacs looks for the init file @file{_emacs}.
  443: @c With this in mind, you can use @samp{~} in file names as an alias for
  444: @c the home directory, as you would in Unix.  You can also set @code{HOME}
  445: @c variable in the environment before starting Emacs; its value will then
  446: @c override the above default behavior.
  447: MS-DOSにはホームディレクトリという概念がないので、
  448: MS-DOS用Emacsでは、Emacsをインストールしてあるディレクトリを
  449: 環境変数@code{HOME}の値であるということにします。
  450: つまり、Emacsのバイナリ@file{emacs.exe}が
  451: ディレクトリ@file{c:/utils/emacs/bin}に置いてあるとすれば、
  452: Emacsは、環境変数@code{HOME}が@samp{c:/utils/emacs}と
  453: 設定されているかのようにふるまいます。
  454: 特に、ここが初期化ファイル@file{_emacs}を探す場所となります。
  455: このことを心に留めておけば、UNIXでのように、
  456: ホームディレクトリの別名としてファイル名に@samp{~}を使えます。
  457: Emacsを起動するまえに環境変数@code{HOME}を設定することもでき、
  458: その場合には、上述のデフォルトのふるまいに優先します。
  459: 
  460: @c   Emacs on MS-DOS handles the directory name @file{/dev} specially,
  461: @c because of a feature in the emulator libraries of DJGPP that pretends
  462: @c I/O devices have names in that directory.  We recommend that you avoid
  463: @c using an actual directory named @file{/dev} on any disk.
  464: DJGPPのエミュレーションライブラリの機能では
  465: 入出力装置はディレクトリ@file{/dev}に置かれていると仮定するので、
  466: MS-DOS用Emacsはディレクトリ名@file{/dev}を特別扱いします。
  467: いかなるディスク上でも@file{/dev}というディレクトリ名を使わないように
  468: 忠告しておきます。
  469: 
  470: @node Text and Binary, MS-DOS Printing, MS-DOS File Names, MS-DOS
  471: @c @section Text Files and Binary Files
  472: @c @cindex text and binary files on MS-DOS/MS-Windows
  473: @section テキストファイルとバイナリファイル
  474: @cindex テキストファイルとバイナリファイル(MS-DOS)
  475: 
  476: @c   GNU Emacs uses newline characters to separate text lines.  This is the
  477: @c convention used on Unix, on which GNU Emacs was developed, and on GNU
  478: @c systems since they are modeled on Unix.
  479: GNU Emacsでは、テキスト行の区切りとして改行文字を使います。
  480: これは、GNU Emacsが開発されたUNIXでの習慣であり、
  481: UNIXをモデルとしたGNUシステムでの習慣でもあります。
  482: 
  483: @c @cindex end-of-line conversion on MS-DOS/MS-Windows
  484: @c   MS-DOS and MS-Windows normally use carriage-return linefeed, a
  485: @c two-character sequence, to separate text lines.  (Linefeed is the same
  486: @c character as newline.)  Therefore, convenient editing of typical files
  487: @c with Emacs requires conversion of these end-of-line (EOL) sequences.
  488: @c And that is what Emacs normally does: it converts carriage-return
  489: @c linefeed into newline when reading files, and converts newline into
  490: @c carriage-return linefeed when writing files.  The same mechanism that
  491: @c handles conversion of international character codes does this conversion
  492: @c also (@pxref{Coding Systems}).
  493: @cindex 行末変換(MS-DOS/MS-Windows)
  494: MS-DOSとMS-Windowsでは、テキスト行の区切りとして、
  495: 通常、復帰・行送りの2文字列を使います。
  496: (行送りは改行と同じ文字です。)
  497: したがって、Emacs において典型的なファイルを便利に編集するには、
  498: これらの行末(end-of-line、EOL)文字列を変換する必要があります。
  499: Emacsは通常つぎのようにします。
  500: ファイルを読み込むときには復帰・行送りを改行に変換し、
  501: ファイルを書き出すときには改行を復帰・行送りに変換します。
  502: 国際文字コードの変換を扱う機構でもこの変換を行います
  503: (@pxref{Coding Systems})。
  504: 
  505: @c @cindex cursor location, under MS-DOS
  506: @c @cindex point location, under MS-DOS
  507: @cindex カーソル位置(MS-DOS)
  508: @cindex ポイント位置(MS-DOS)
  509: @c   One consequence of this special format-conversion of most files is
  510: @c that character positions as reported by Emacs (@pxref{Position Info}) do
  511: @c not agree with the file size information known to the operating system.
  512: ほとんどのファイルにおけるこの特別な書式変換のために、
  513: Emacsが報告する文字位置(@pxref{Position Info})は、
  514: オペレーティングシステム上でのファイルサイズ情報と食い違います。
  515: 
  516: @vindex file-name-buffer-file-type-alist
  517: @c   Some kinds of files should not be converted, because their contents
  518: @c are not really text.  Therefore, Emacs on MS-DOS distinguishes certain
  519: @c files as @dfn{binary files}, and reads and writes them verbatim.  (This
  520: @c distinction is not part of MS-DOS; it is made by Emacs only.)  These
  521: @c include executable programs, compressed archives, etc.  Emacs uses the
  522: @c file name to decide whether to treat a file as binary: the variable
  523: @c @code{file-name-buffer-file-type-alist} defines the file-name patterns
  524: @c that indicate binary files.  Note that if a file name matches one of the
  525: @c patterns for binary files in @code{file-name-buffer-file-type-alist},
  526: @c Emacs uses the @code{no-conversion} coding system (@pxref{Coding
  527: @c Systems}) which turns off @emph{all} coding-system conversions, not only
  528: @c the EOL conversion.
  529: 内容がテキストではないある種のファイルは、変換すべきではありません。
  530: したがって、MS-DOS用Emacsは、
  531: ある種のファイルを@dfn{バイナリファイル}として区別して、
  532: そのまま読み書きします。
  533: (この区別はMS-DOSのものではなく、Emacsがもたらすものです。)
  534: これらには、実行プログラム、圧縮したアーカイブなどが含まれます。
  535: Emacsはファイル名を用いて、バイナリファイルとして扱うべきかどうか決定します。
  536: 変数@code{file-name-buffer-file-type-alist}には、
  537: バイナリファイルを表すファイル名のパターンを定義しておきます。
  538: @code{file-name-buffer-file-type-alist}に指定したバイナリファイルの
  539: パターンにファイル名が一致すると、
  540: Emacsは行末変換だけでなく@emph{すべて}の符号変換を抑制する
  541: コーディングシステム(@pxref{Coding Systems})@code{no-conversion}を使います。
  542: 
  543: @c   In addition, if Emacs recognizes from a file's contents that it uses
  544: @c newline rather than carriage-return linefeed as its line separator, it
  545: @c does not perform conversion when reading or writing that file.  Thus,
  546: @c you can read and edit files from Unix or GNU systems on MS-DOS with no
  547: @c special effort, and they will be left with their Unix-style EOLs.
  548: さらに、Emacsは、ファイルの内容から行区切りとして
  549: 復帰・行送りでなく改行を用いていると判断すると、
  550: ファイルの読み書きにおいて変換を行いません。
  551: したがって、特に努力しなくても、
  552: UNIXやGNUシステムからのファイルをMS-DOS上で読んだり編集でき、
  553: それらのファイルの行末はUNIX流の行末のままです。
  554: 
  555: @findex find-file-text
  556: @findex find-file-binary
  557: @c   You can visit a file and specify whether to treat a file as text or
  558: @c binary using the commands @code{find-file-text} and
  559: @c @code{find-file-binary}.  End-of-line conversion is part of the general
  560: @c coding system conversion mechanism, so another way to control whether to
  561: @c treat a file as text or binary is with the commands for specifying a
  562: @c coding system (@pxref{Specify Coding}).  For example,
  563: @c @kbd{C-x @key{RET} c undecided-unix @key{RET} C-x C-f foobar.txt}
  564: @c visits the file @file{foobar.txt} without converting the EOLs.
  565: コマンド@code{find-file-text}やコマンド@code{find-file-binary}を用いると、
  566: ファイルをテキストとして扱うか
  567: バイナリとして扱うかを指定して訪れることができます。
  568: 行末変換はコーディングシステムの一般的な変換機構の一部なので、
  569: コーディングシステムを指定するコマンド(@pxref{Specify Coding})によって
  570: ファイルをテキストとして扱うかバイナリとして扱うかを指定することもできます。
  571: たとえば、@kbd{C-x @key{RET} c undecided-unix @key{RET} C-x C-f foobar.txt}
  572: とすれば、行末変換をせずにファイル@file{foobar.txt}を訪れることができます。
  573: 
  574: @c   The mode line indicates whether end-of-line translation was used for
  575: @c the current buffer.  Normally a colon appears after the coding system
  576: @c letter near the beginning of the mode line.  If MS-DOS end-of-line
  577: @c translation is in use for the buffer, this character changes to a
  578: @c backslash.
  579: モード行にはカレントバッファで行末変換を行ったかどうか表示されます。
  580: モード行の始めのほうにあるコーディングシステムを表す文字のうしろには、
  581: 通常、コロンが表示されます。
  582: バッファでMS-DOSの行末変換を使っている場合には、
  583: この文字はバックスラッシュに変わります。
  584: 
  585: @c @cindex untranslated file system
  586: @cindex 無変換のファイルシステム
  587: @findex add-untranslated-filesystem
  588: @c   When you use NFS or Samba to access file systems that reside on
  589: @c computers using Unix or GNU systems, Emacs should not perform
  590: @c end-of-line translation on any files in these file systems--not even
  591: @c when you create a new file.  To request this, designate these file
  592: @c systems as @dfn{untranslated} file systems by calling the function
  593: @c @code{add-untranslated-filesystem}.  It takes one argument: the file
  594: @c system name, including a drive letter and optionally a directory.  For
  595: @c example,
  596: NFSやSambaを用いてUNIXやGNUシステムを使った
  597: コンピュータ上のファイルシステムを参照するとき、
  598: これらのファイルシステム上のどのファイルに対しては、
  599: 新規作成時でなくても、Emacsは行末変換を行うべきではありません。
  600: こうするためには、
  601: 該当するファイルシステムを@dfn{無変換}の
  602: ファイルシステムと指定するために、
  603: 関数@code{add-untranslated-filesystem}を呼びます。
  604: この関数は、ファイルシステム名である引数を1つとりますが、
  605: これにはドライブ名やディレクトリ名を含めることもできます。
  606: たとえば、
  607: 
  608: @example
  609: (add-untranslated-filesystem "Z:")
  610: @end example
  611: 
  612: @noindent
  613: @c designates drive Z as an untranslated file system, and
  614: は、ドライブZを無変換のファイルシステムとして指定しますし、
  615: 
  616: @example
  617: (add-untranslated-filesystem "Z:\\foo")
  618: @end example
  619: 
  620: @noindent
  621: @c designates directory @file{\foo} on drive Z as an untranslated file
  622: @c system.
  623: は、ドライブZ上のディレクトリ@file{\foo}を
  624: 無変換のファイルシステムとして指定します。
  625: 
  626: @c   Most often you would use @code{add-untranslated-filesystem} in your
  627: @c @file{_emacs} file, or in @file{site-start.el} so that all the users at
  628: @c your site get the benefit of it.
  629: 個人の@file{_emacs}ファイルや
  630: サイトの全ユーザーに便利なように@file{site-start.el}の中で、
  631: @code{add-untranslated-filesystem}を使うことが多いでしょう。
  632: 
  633: @findex remove-untranslated-filesystem
  634: @c   To countermand the effect of @code{add-untranslated-filesystem}, use
  635: @c the function @code{remove-untranslated-filesystem}.  This function takes
  636: @c one argument, which should be a string just like the one that was used
  637: @c previously with @code{add-untranslated-filesystem}.
  638: @code{add-untranslated-filesystem}の効果を取り消すには、
  639: 関数@code{remote-untranslated-filesystem}を使います。
  640: この関数は、まえに@code{add-untranslated-filesystem}に使ったのと
  641: 同じ文字列を引数としてとります。
  642: 
  643: @node MS-DOS Printing, MS-DOS and MULE, Text and Binary, MS-DOS
  644: @c @section Printing and MS-DOS
  645: @section 印刷とMS-DOS
  646: 
  647: @c   Printing commands, such as @code{lpr-buffer} (@pxref{Hardcopy}) and
  648: @c @code{ps-print-buffer} (@pxref{Postscript}) can work in MS-DOS and
  649: @c MS-Windows by sending the output to one of the printer ports, if a
  650: @c Unix-style @code{lpr} program is unavailable.  This behaviour is
  651: @c controlled by the same variables that control printing with @code{lpr}
  652: @c on Unix (@pxref{Hardcopy}, @pxref{Postscript Variables}), but the
  653: @c defaults for these variables on MS-DOS and MS-Windows are not the same
  654: @c as the defaults on Unix.
  655: @code{lpr-buffer}(@pxref{Hardcopy})や
  656: @code{ps-print-buffer}(@pxref{Postscript})のような印刷コマンドは、
  657: UNIX流のプログラム@code{lpr}がない場合には、
  658: プリンタポートに直接出力を送ればMS-DOSやMS-Windowsでも動作します。
  659: このふるまいは、UNIX上の@code{lpr}での印刷
  660: (@pxref{Hardcopy}、@pxref{Postscript Variables})
  661: を制御する変数と同じ変数で制御されますが、
  662: MS-DOSやMS-Windows上でのこれらの変数のデフォルト値は、
  663: UNIX上での値と同じではありません。
  664: 
  665: @c @vindex printer-name @r{(MS-DOS)}
  666: @vindex printer-name @r{(MS-DOS)}
  667: @c   If you want to use your local printer, printing on it in the usual DOS
  668: @c manner, then set the Lisp variable @code{lpr-command} to @code{""} (its
  669: @c default value) and @code{printer-name} to the name of the printer
  670: @c port---for example, @code{"PRN"}, the usual local printer port (that's
  671: @c the default), or @code{"LPT2"}, or @code{"COM1"} for a serial printer.
  672: @c You can also set @code{printer-name} to a file name, in which case
  673: @c ``printed'' output is actually appended to that file.  If you set
  674: @c @code{printer-name} to @code{"NUL"}, printed output is silently
  675: @c discarded (sent to the system null device).
  676: DOS流の通常の印刷のように、ローカルのプリンタを使いたい場合には、
  677: Lisp変数@code{lpr-command}に@code{""}(デフォルト値)を設定し、
  678: @code{printer-name}にはプリンタポートの名前を設定します。
  679: たとえば、ローカルのプリンタポートならば(デフォルト値の)@code{"PRN"}や
  680: @code{"LPT2"}、シリアルプリンタならば@code{"COM1"}です。
  681: @code{printer-name}にはファイル名も設定できます。
  682: その場合には、『印刷』結果は、そのファイルに追加書きされます。
  683: @code{printer-name}に@code{"NUL"}を設定すると、
  684: 印刷結果は(システムの空デバイスに送られて)黙って捨てられます。
  685: 
  686: @c   On MS-Windows, when the Windows network software is installed, you can
  687: @c also use a printer shared by another machine by setting
  688: @c @code{printer-name} to the UNC share name for that printer--for example,
  689: @c @code{"//joes_pc/hp4si"}.  (It doesn't matter whether you use forward
  690: @c slashes or backslashes here.)  To find out the names of shared printers,
  691: @c run the command @samp{net view} at a DOS command prompt to obtain a list
  692: @c of servers, and @samp{net view @var{server-name}} to see the names of printers
  693: @c (and directories) shared by that server.
  694: MS-Windowsでは、Windowsのネットワークソフトウェアをインストールしてあれば、
  695: @code{printer-name}に、他のマシンとの共用プリンタのUNC共用名
  696: (たとえば@code{"//joes_pc/hp4si"})を設定すれば、
  697: そのプリンタを利用することもできます。
  698: (スラッシュでもバックスラッシュでもかまいません。)
  699: 共用プリンタの名前を調べるには、
  700: DOSコマンドプロンプトで@samp{net view}を実行してサーバー一覧を取得してから、
  701: @samp{net view @var{server-name}}を実行して
  702: サーバーが共有するプリンタ(とディレクトリ)の名前を調べます。
  703: 
  704: @c   If you set @code{printer-name} to a file name, it's best to use an
  705: @c absolute file name.  Emacs changes the working directory according to
  706: @c the default directory of the current buffer, so if the file name in
  707: @c @code{printer-name} is relative, you will end up with several such
  708: @c files, each one in the directory of the buffer from which the printing
  709: @c was done.
  710: @code{printer-name}にファイル名を設定するときには、
  711: 絶対ファイル名を使うのが最良です。
  712: Emacsは、カレントバッファのデフォルトディレクトリに応じて
  713: 作業ディレクトリを変更します。
  714: @code{printer-name}のファイル名が相対的であると、
  715: 印刷を行ったバッファのディレクトリごとに、
  716: そのような名前のファイルができてしまいます。
  717: 
  718: @c @findex print-buffer @r{(MS-DOS)}
  719: @c @findex print-region @r{(MS-DOS)}
  720: @c @vindex lpr-headers-switches @r{(MS-DOS)}
  721: @findex print-buffer @r{(MS-DOS)}
  722: @findex print-region @r{(MS-DOS)}
  723: @vindex lpr-headers-switches @r{(MS-DOS)}
  724: @c   The commands @code{print-buffer} and @code{print-region} call the
  725: @c @code{pr} program, or use special switches to the @code{lpr} program, to
  726: @c produce headers on each printed page.  MS-DOS and MS-Windows don't
  727: @c normally have these programs, so by default, the variable
  728: @c @code{lpr-headers-switches} is set so that the requests to print page
  729: @c headers are silently ignored.  Thus, @code{print-buffer} and
  730: @c @code{print-region} produce the same output as @code{lpr-buffer} and
  731: @c @code{lpr-region}, respectively.  If you do have a suitable @code{pr}
  732: @c program (for example, from GNU Textutils), set
  733: @c @code{lpr-headers-switches} to @code{nil}; Emacs will then call
  734: @c @code{pr} to produce the page headers, and print the resulting output as
  735: @c specified by @code{printer-name}.
  736: コマンド@code{print-buffer}や@code{print-region}は、
  737: 各印刷ページに見出しを付けるために、
  738: @code{pr}プログラムを呼び出したり、
  739: @code{lpr}プログラムに対して特別なフラグを使います。
  740: MS-DOSやMS-Windowsには、通常、これらのコマンドはありませんから、
  741: デフォルトでは、変数@code{lpr-headers-switches}は、
  742: ページ見出しを付ける要求を無視するように設定してあります。
  743: したがって、@code{print-buffer}や@code{print-region}は、
  744: それぞれ、@code{lpr-buffer}や@code{lpr-region}と同じ出力になります。
  745: (たとえばGNU Textutilsなどの)適当な@code{pr}プログラムがあるならば、
  746: @code{lpr-headers-switches}に@code{nil}を設定します。
  747: すると、Emacsはページ見出しを付けるために@code{pr}を呼び出し、
  748: @code{printer-name}の指定に従って出力結果を印刷します。
  749: 
  750: @c @vindex print-region-function @r{(MS-DOS)}
  751: @vindex print-region-function @r{(MS-DOS)}
  752: @c @cindex lpr usage under MS-DOS
  753: @c @vindex lpr-command @r{(MS-DOS)}
  754: @c @vindex lpr-switches @r{(MS-DOS)}
  755: @cindex MS-DOSにおけるlprの使い方
  756: @vindex lpr-command @r{(MS-DOS)}
  757: @vindex lpr-switches @r{(MS-DOS)}
  758: @c   Finally, if you do have an @code{lpr} work-alike, you can set the
  759: @c variable @code{lpr-command} to @code{"lpr"}.  Then Emacs will use
  760: @c @code{lpr} for printing, as on other systems.  (If the name of the
  761: @c program isn't @code{lpr}, set @code{lpr-command} to specify where to
  762: @c find it.)  The variable @code{lpr-switches} has its standard meaning
  763: @c when @code{lpr-command} is not @code{""}.  If the variable
  764: @c @code{printer-name} has a string value, it is used as the value for the
  765: @c @code{-P} option to @code{lpr}, as on Unix.
  766: @code{lpr}と同じ動作をする@code{lpr}がある場合には、
  767: 変数@code{lpr-command}に@code{"lpr"}と設定できます。
  768: すると、他のシステムと同様に、Emacsは@code{lpr}を使って印刷します。
  769: (プログラム名が@code{lpr}でない場合には、
  770: @code{lpr-command}にはプログラムを探す場所を設定する。)
  771: @code{lpr-command}が@code{""}以外の場合には、
  772: 変数@code{lpr-switches}には標準的な意味があります。
  773: 変数@code{printer-name}の値が文字列である場合には、
  774: UNIXの場合と同様に、@code{lpr}のオプション@code{-P}の値として使われます。
  775: 
  776: @c @findex ps-print-buffer @r{(MS-DOS)}
  777: @c @findex ps-spool-buffer @r{(MS-DOS)}
  778: @c @vindex ps-printer-name @r{(MS-DOS)}
  779: @c @vindex ps-lpr-command @r{(MS-DOS)}
  780: @c @vindex ps-lpr-switches @r{(MS-DOS)}
  781: @findex ps-print-buffer @r{(MS-DOS)}
  782: @findex ps-spool-buffer @r{(MS-DOS)}
  783: @vindex ps-printer-name @r{(MS-DOS)}
  784: @vindex ps-lpr-command @r{(MS-DOS)}
  785: @vindex ps-lpr-switches @r{(MS-DOS)}
  786: @c   A parallel set of variables, @code{ps-lpr-command},
  787: @c @code{ps-lpr-switches}, and @code{ps-printer-name} (@pxref{Postscript
  788: @c Variables}), defines how PostScript files should be printed.  These
  789: @c variables are used in the same way as the corresponding variables
  790: @c described above for non-PostScript printing.  Thus, the value of
  791: @c @code{ps-printer-name} is used as the name of the device (or file) to
  792: @c which PostScript output is sent, just as @code{printer-name} is used for
  793: @c non-PostScript printing.  (There are two distinct sets of variables in
  794: @c case you have two printers attached to two different ports, and only one
  795: @c of them is a PostScript printer.)
  796: 同様の一連の変数、@code{ps-lpr-command}、@code{ps-lpr-switches}、
  797: @code{ps-printer-name}(@pxref{Postscript Variables})は、
  798: PostScriptファイルの印刷方法を定義します。
  799: これらの変数は、上に述べた非PostScript印刷用の対応する変数と
  800: 同じように使われます。
  801: つまり、@code{ps-printer-name}の値は、
  802: 非PostScript印刷での@code{printer-name}の使い方と同様に、
  803: PostScript出力の送り先の装置(やファイル)の名前として使われます。
  804: (つまり、別々の2つのポートに2台のプリンタを接続してあり、
  805: その一方がPostScriptプリンタの場合、異なる2組の変数群を使える。)
  806: 
  807: @c   The default value of the variable @code{ps-lpr-command} is @code{""},
  808: @c which causes PostScript output to be sent to the printer port specified
  809: @c by @code{ps-printer-name}, but @code{ps-lpr-command} can also be set to
  810: @c the name of a program which will accept PostScript files.  Thus, if you
  811: @c have a non-PostScript printer, you can set this variable to the name of
  812: @c a PostScript interpreter program (such as Ghostscript).  Any switches
  813: @c that need to be passed to the interpreter program are specified using
  814: @c @code{ps-lpr-switches}.  (If the value of @code{ps-printer-name} is a
  815: @c string, it will be added to the list of switches as the value for the
  816: @c @code{-P} option.  This is probably only useful if you are using
  817: @c @code{lpr}, so when using an interpreter typically you would set
  818: @c @code{ps-printer-name} to something other than a string so it is
  819: @c ignored.)
  820: 変数@code{ps-lpr-command}のデフォルト値は@code{""}であり、
  821: PostScript出力を@code{ps-printer-name}で指定するプリンタポートへ
  822: 送ることを意味します。
  823: しかし、@code{ps-lpr-command}には、PostScriptファイルを受理する
  824: プログラムの名前を設定してもかまいません。
  825: つまり、非PostScriptプリンタがある場合、
  826: この変数に(Ghostscriptなどの)PostScriptインタープリタプログラムの
  827: 名前を設定できます。
  828: インタープリタプログラムに渡す必要があるオプションは、
  829: @code{ps-lpr-switches}を用いて指定します。
  830: (@code{ps-printer-name}の値が文字列の場合、その値は、
  831: オプション@code{-P}の値として、オプション列に付加される。
  832: これは、@code{lpr}を使う場合にだけ有用であろう。
  833: というのは、インタープリタを使う場合、典型的には、
  834: @code{ps-printer-name}には文字列以外を設定して無視させる。)
  835: 
  836: @c   For example, to use Ghostscript for printing on an Epson printer
  837: @c connected to the @samp{LPT2} port, put this in your @file{_emacs} file:
  838: たとえば、ポート@samp{LPT2}に接続したEpsonプリンタに印刷するために
  839: Ghostscriptを使うには、つぎの内容を個人のファイル@file{_emacs}に入れます。
  840: 
  841: @example
  842: @c (setq ps-printer-name t)  ; Ghostscript doesn't understand -P
  843: (setq ps-printer-name t)  ; Ghostscriptは -P を理解しない
  844: (setq ps-lpr-command "c:/gs/gs386")
  845: (setq ps-lpr-switches '("-q" "-dNOPAUSE"
  846: 			"-sDEVICE=epson"
  847: 			"-r240x72"
  848: 			"-sOutputFile=LPT2"
  849: 			"-Ic:/gs"))
  850: @end example
  851: 
  852: @noindent
  853: @c (This assumes that Ghostscript is installed in the @file{"c:/gs"}
  854: @c directory.)
  855: (この例では、
  856: ディレクトリ@file{"c:/gs"}にGhostscriptをインストールしてあると仮定。)
  857: 
  858: @vindex dos-printer
  859: @vindex dos-ps-printer
  860: @c   For backwards compatibility, the value of @code{dos-printer}
  861: @c (@code{dos-ps-printer}), if it has a value, overrides the value of
  862: @c @code{printer-name} (@code{ps-printer-name}), on MS-DOS and MS-Windows
  863: @c only.
  864: MS-DOSとMS-Windowsでは、後方互換のために、
  865: @code{dos-printer}(や@code{dos-ps-printer})の値を設定してあると、
  866: @code{printer-name}(や@code{ps-printer-name})の値を上書きします。
  867: 
  868: 
  869: @node MS-DOS and MULE, MS-DOS Processes, MS-DOS Printing, MS-DOS
  870: @c @section International Support on MS-DOS
  871: @c @cindex international support @r{(MS-DOS)}
  872: @section MS-DOSでの国際化対応
  873: @cindex 国際化対応@r{(MS-DOS)}
  874: 
  875: @c   Emacs on MS-DOS supports the same international character sets as it
  876: @c does on Unix and other platforms (@pxref{International}), including
  877: @c coding systems for converting between the different character sets.
  878: @c However, due to incompatibilities between MS-DOS/MS-Windows and Unix,
  879: @c there are several DOS-specific aspects of this support that users should
  880: @c be aware of.  This section describes these aspects.
  881: MS-DOS上のEmacsは、UNIXや他のプラットフォーム上と同じ
  882: 国際化文字集合を扱えます(@pxref{International})。
  883: これには、異なる文字集合のあいだの変換を行うコーディングシステムも含みます。
  884: しかしながら、MS-DOS/MS-WindowsとUNIXとの非互換性に起因する
  885: DOSに固有な特色があり、ユーザーは理解しておく必要があります。
  886: 本節では、これらの特色について述べます。
  887: 
  888: @table @kbd
  889: @item M-x dos-codepage-setup
  890: @c Set up Emacs display and coding systems as appropriate for the current
  891: @c DOS codepage.
  892: Emacs画面とコーディングシステムを
  893: カレントDOSコードページに適したものに設定する。
  894: 
  895: @item M-x codepage-setup
  896: @c Create a coding system for a certain DOS codepage.
  897: 特定のDOSコードページ用のコーディングシステムを作成する。
  898: @end table
  899: 
  900: @c @cindex codepage, MS-DOS
  901: @c @cindex DOS codepages
  902: @cindex コードページ、MS-DOS
  903: @cindex DOSコードページ
  904: @c   MS-DOS is designed to support one character set of 256 characters at
  905: @c any given time, but gives you a variety of character sets to choose
  906: @c from.  The alternative character sets are known as @dfn{DOS codepages}.
  907: @c Each codepage includes all 128 ASCII characters, but the other 128
  908: @c characters (codes 128 through 255) vary from one codepage to another.
  909: @c Each DOS codepage is identified by a 3-digit number, such as 850, 862,
  910: @c etc.
  911: MS-DOSは、一度には256文字から成る単一の文字集合を扱えるように
  912: 設計されていますが、さまざまな文字集合から選択できます。
  913: 代替文字集合は、@dfn{DOSコードページ}と呼ばれます。
  914: 各コードページは、128個の全ASCII文字を含みますが、
  915: 残りの128文字(コード128〜255)は、コードページごとに異なります。
  916: 各DOSコードページは、850や862などの3桁の数字で識別します。
  917: 
  918: @c   In contrast to X Windows, which lets you use several fonts at the same
  919: @c time, MS-DOS doesn't allow use of several codepages in a single session.
  920: @c Instead, MS-DOS loads a single codepage at system startup, and you must
  921: @c reboot MS-DOS to change it@footnote{Normally, one particular codepage is
  922: @c burnt into the display memory, while other codepages can be installed by
  923: @c modifying system configuration files, such as @file{CONFIG.SYS}, and
  924: @c rebooting.}.  Much the same limitation applies when you run DOS
  925: @c executables on other systems such as MS-Windows.
  926: 同時に複数のフォントを使えるXウィンドウに比べると、
  927: MS-DOSでは1つのセッションでは複数のコードページを使えません。
  928: MS-DOSはシステムブート時に単一のコードページをロードします。
  929: コードページを変更するにはMS-DOSをリブートする必要があります
  930: @footnote{通常、1つの特定のコードページはディスプレイメモリに組み込んであり、
  931: 他のコードページは、@file{CONFIG.SYS}などの
  932: システム設定ファイルを変更してリブートするとインストールできる。}。
  933: MS-Windowsなどの他のシステムでDOSプログラムを実行する場合にも、
  934: 同様の制約が課せられます。
  935: 
  936: @c @cindex unibyte operation @r{(MS-DOS)}
  937: @cindex unibyte operation @r{(MS-DOS)}
  938: @c   If you invoke Emacs on MS-DOS with the @samp{--unibyte} option
  939: @c (@pxref{Initial Options}), Emacs does not perform any conversion of
  940: @c non-ASCII characters.  Instead, it reads and writes any non-ASCII
  941: @c characters verbatim, and sends their 8-bit codes to the display
  942: @c verbatim.  Thus, unibyte Emacs on MS-DOS supports the current codepage,
  943: @c whatever it may be, but cannot even represent any other characters.
  944: MS-DOS上でオプション@samp{--unibyte}
  945: (@pxref{Initial Options})を指定してEmacsを起動すると、
  946: Emacsは、いかなる変換も非ASCII文字には行いません。
  947: 非ASCII文字はそのまま読み書きし、
  948: 画面には8ビットコードをそのまま送ります。
  949: つまり、MS-DOS上のユニバイトEmacsは、
  950: なんであれカレントコードページを使いますが、
  951: それ以外の文字を表現することはできません。
  952: 
  953: @vindex dos-codepage
  954: @c   For multibyte operation on MS-DOS, Emacs needs to know which
  955: @c characters the chosen DOS codepage can display.  So it queries the
  956: @c system shortly after startup to get the chosen codepage number, and
  957: @c stores the number in the variable @code{dos-codepage}.  Some systems
  958: @c return the default value 437 for the current codepage, even though the
  959: @c actual codepage is different.  (This typically happens when you use the
  960: @c codepage built into the display hardware.)  You can specify a different
  961: @c codepage for Emacs to use by setting the variable @code{dos-codepage} in
  962: @c your init file.
  963: MS-DOS上でのマルチバイト操作には、
  964: Emacsは、選択されているDOSコードページで表示できる文字群を
  965: 知っておく必要があります。
  966: そのため、起動後、選択しているコードページ番号をシステムに問い合わせ、
  967: 変数@code{dos-codepage}にその番号を保存します。
  968: 実際に使っているコードページとは異なっていても、
  969: カレントコードページのデフォルト値437を返すシステムもあります。
  970: (典型的には、ディスプレイ装置に組み込まれたコードページを使用すると
  971: 発生する。)
  972: 個人の初期化ファイルで変数@code{dos-codepage}を設定すれば、
  973: Emacsが使うコードページ(番号)を別のものに指定できる。
  974: 
  975: @c @cindex language environment, automatic selection on @r{MS-DOS}
  976: @cindex 言語環境、@r{MS-DOS}での自動選択
  977: @c   Multibyte Emacs supports only certain DOS codepages: those which can
  978: @c display Far-Eastern scripts, like the Japanese codepage 932, and those
  979: @c that encode a single ISO 8859 character set.
  980: マルチバイトEmacsは、特定のDOSコードページだけを扱えます。
  981: これらには、日本語用コードページ932のような極東の文字を表示できものや、
  982: 単一のISO 8859文字集合を符号化できるものが含まれます。
  983: 
  984: @c   The Far-Eastern codepages can directly display one of the MULE
  985: @c character sets for these countries, so Emacs simply sets up to use the
  986: @c appropriate terminal coding system that is supported by the codepage.
  987: @c The special features described in the rest of this section mostly
  988: @c pertain to codepages that encode ISO 8859 character sets.
  989: 極東用コードページは、
  990: それらの国々用のMULE文字集合の1つを直接表示できますから、
  991: Emacsは、コードページで扱える
  992: 適切な端末コーディングシステムを設定するだけです。
  993: 本節の残りで述べる特別な機能は、
  994: ISO 8859文字集合を符号化するコードページに関することです。
  995: 
  996: @c   For the codepages which correspond to one of the ISO character sets,
  997: @c Emacs knows the character set name based on the codepage number.  Emacs
  998: @c automatically creates a coding system to support reading and writing
  999: @c files that use the current codepage, and uses this coding system by
 1000: @c default.  The name of this coding system is @code{cp@var{nnn}}, where
 1001: @c @var{nnn} is the codepage number.@footnote{The standard Emacs coding
 1002: @c systems for ISO 8859 are not quite right for the purpose, because
 1003: @c typically the DOS codepage does not match the standard ISO character
 1004: @c codes.  For example, the letter @samp{@,{c}} (@samp{c} with cedilla) has
 1005: @c code 231 in the standard Latin-1 character set, but the corresponding
 1006: @c DOS codepage 850 uses code 135 for this glyph.}
 1007: ISO文字集合の1つに対応したコードページに対しては、
 1008: Emacsはコードページ番号に基づいた文字集合名を知っています。
 1009: Emacsは、カレントコードページを用いたファイルの読み書きを扱う
 1010: コーディングシステムを自動的に作成し、
 1011: デフォルトでこのコーディングシステムを使います。
 1012: コードページ番号を@var{nnn}とすると、このようなコーディングシステムの
 1013: 名前は@code{cp@var{nnn}}です。
 1014: @footnote{ISO 8859用のEmacsの標準コーディングシステムは、
 1015: この目的には正しくない。
 1016: というのは、典型的なDOSコードページは、標準のISO文字集合に一致しない。
 1017: たとえば、文字@samp{@,{c}}(セディーユ付きの@samp{c})は、
 1018: 標準のLatin-1文字集合ではコード231であるが、
 1019: 対応するDOSコードページ850ではこの文字はコード135である。}
 1020: 
 1021: @c @cindex mode line @r{(MS-DOS)}
 1022: @cindex モード行@r{(MS-DOS)}
 1023: @c   All the @code{cp@var{nnn}} coding systems use the letter @samp{D} (for
 1024: @c ``DOS'') as their mode-line mnemonic.  Since both the terminal coding
 1025: @c system and the default coding system for file I/O are set to the proper
 1026: @c @code{cp@var{nnn}} coding system at startup, it is normal for the mode
 1027: @c line on MS-DOS to begin with @samp{-DD\-}.  @xref{Mode Line}.
 1028: @c Far-Eastern DOS terminals do not use the @code{cp@var{nnn}} coding
 1029: @c systems, and thus their initial mode line looks like on Unix.
 1030: すべての@code{cp@var{nnn}}コーディングシステムは、
 1031: モード行の表示に(『DOS』の)文字@samp{D}を使います。
 1032: 端末コーディングシステムとファイル入出力用のデフォルトの
 1033: コーディングシステムは、起動時に、
 1034: 正しく@code{cp@var{nnn}}コーディングシステムに設定されますから、
 1035: MS-DOSでは、モード行は普通@samp{-DD\-}で始まります。
 1036: @xref{Mode Line}。
 1037: 極東用DOS端末は、@code{cp@var{nnn}}コーディングシステムを使用せず、
 1038: そのため、初期のモード行はUNIXのようになります。
 1039: 
 1040: @c   Since the codepage number also indicates which script you are using,
 1041: @c Emacs automatically runs @code{set-language-environment} to select the
 1042: @c language environment for that script (@pxref{Language Environments}).
 1043: コードページ番号は、使用する文字群を指定しますから、
 1044: Emacsは、その文字群用の言語環境を選択するために
 1045: @code{set-language-environment}を自動的に実行します
 1046: (@pxref{Language Environments})。
 1047: 
 1048: @c   If a buffer contains a character belonging to some other ISO 8859
 1049: @c character set, not the one that the chosen DOS codepage supports, Emacs
 1050: @c displays it using a sequence of ASCII characters.  For example, if the
 1051: @c current codepage doesn't have a glyph for the letter @samp{@`o} (small
 1052: @c @samp{o} with a grave accent), it is displayed as @samp{@{`o@}}, where
 1053: @c the braces serve as a visual indication that this is a single character.
 1054: @c (This may look awkward for some non-Latin characters, such as those from
 1055: @c Greek or Hebrew alphabets, but it is still readable by a person who
 1056: @c knows the language.)  Even though the character may occupy several
 1057: @c columns on the screen, it is really still just a single character, and
 1058: @c all Emacs commands treat it as one.
 1059: バッファ内に異なるISO 8859文字集合に属する文字、
 1060: すなわち、選択しているDOSコードページで扱えない文字が含まれる場合、
 1061: Emacsはその文字をASCII文字の列で表示します。
 1062: たとえば、カレントコードページに文字@samp{@`o}
 1063: (アクサングレーブ付きの小文字の@samp{o})の字形がないときには、
 1064: 中括弧で囲って1文字であることを表して、
 1065: @samp{@{`o@}}と表示します。
 1066: (このようにすると、ギリシャ文字やヘブライ文字などの非Latin文字のなかには、
 1067: とても見難くなるのもがあるが、その言語を知っている人には
 1068: 少なくとも読める。)
 1069: 1文字でも画面上は数桁を占めますが、
 1070: 実際には単一の文字であり、Emacsのすべてのコマンドも1文字として扱います。
 1071: 
 1072: @vindex dos-unsupported-character-glyph
 1073: @c   Not all characters in DOS codepages correspond to ISO 8859
 1074: @c characters---some are used for other purposes, such as box-drawing
 1075: @c characters and other graphics.  Emacs cannot represent these characters
 1076: @c internally, so when you read a file that uses these characters, they are
 1077: @c converted into a particular character code, specified by the variable
 1078: @c @code{dos-unsupported-character-glyph}.
 1079: DOSコードページ内のすべての文字がISO 8859文字に対応するわけではなく、
 1080: 箱を描くための文字や他の図形用文字もあります。
 1081: Emacs内部ではこれらの文字を表現できませんので、
 1082: これらの文字を含んだファイルを読み込むと、
 1083: これらの文字は、変数@code{dos-unsupported-character-glyph}で指定した
 1084: 特定の文字コードに変換されます。
 1085: 
 1086: @c   Emacs supports many other characters sets aside from ISO 8859, but it
 1087: @c cannot display them on MS-DOS.  So if one of these multibyte characters
 1088: @c appears in a buffer, Emacs on MS-DOS displays them as specified by the
 1089: @c @code{dos-unsupported-character-glyph} variable; by default, this glyph
 1090: @c is an empty triangle.  Use the @kbd{C-u C-x =} command to display the
 1091: @c actual code and character set of such characters.  @xref{Position Info}.
 1092: Emacsは、ISO 8859以外の他の多く文字集合を扱えますが、
 1093: それらをMS-DOS上では表示できません。
 1094: そのようなマルチバイト文字がバッファ内にあると、
 1095: MS-DOS上のEmacsは、変数@code{dos-unsupported-character-glyph}の
 1096: 指定どおりに表示します。
 1097: デフォルトでは、その字形は、白抜きの三角形です。
 1098: コマンド@kbd{C-u C-x =}を使って、そのような文字の
 1099: 実際の文字コードと文字集合を表示してください。
 1100: @xref{Position Info}。
 1101: 
 1102: @findex codepage-setup
 1103: @c   By default, Emacs defines a coding system to support the current
 1104: @c codepage.  To define a coding system for some other codepage (e.g., to
 1105: @c visit a file written on a DOS machine in another country), use the
 1106: @c @kbd{M-x codepage-setup} command.  It prompts for the 3-digit code of
 1107: @c the codepage, with completion, then creates the coding system for the
 1108: @c specified codepage.  You can then use the new coding system to read and
 1109: @c write files, but you must specify it explicitly for the file command
 1110: @c when you want to use it (@pxref{Specify Coding}).
 1111: デフォルトでは、Emacsはカレントコードページを扱えるコーディングシステムを
 1112: 定義します。
 1113: (他国のDOSマシンで書いたファイルを訪問するなどの)
 1114: 他のコードページ用のコーディングシステムを定義するには、
 1115: コマンド@kbd{M-x codepage-setup}を使います。
 1116: これは、3桁のコードページ番号を問い合わせてきますが、補完を使えます。
 1117: そして、指定したコードページ用のコーディングシステムを作成します。
 1118: これで、新たなコーディングシステムを使ってファイルを読み書きできますが、
 1119: このコーディングシステムを使うには、
 1120: ファイルコマンドで明示する必要があります(@pxref{Specify Coding})。
 1121: 
 1122: @c   These coding systems are also useful for visiting a file encoded using
 1123: @c a DOS codepage, using Emacs running on some other operating system.
 1124: これらのコーディングシステムは、
 1125: DOSコードページで符号化したファイルを
 1126: 他のオペレーティングシステム上のEmacsで訪問する場合にも利用できます。
 1127: 
 1128: @node MS-DOS Processes, Windows Processes, MS-DOS and MULE, MS-DOS
 1129: @c @section Subprocesses on MS-DOS
 1130: @section サブプロセス(MS-DOS)
 1131: 
 1132: @c @cindex compilation under MS-DOS
 1133: @c @cindex inferior processes under MS-DOS
 1134: @cindex コンパイル(MS-DOS)
 1135: @cindex 下位プロセス(MS-DOS)
 1136: @c @findex compile @r{(MS-DOS)}
 1137: @c @findex grep @r{(MS-DOS)}
 1138: @findex compile @r{(MS-DOS)}
 1139: @findex grep @r{(MS-DOS)}
 1140: @c   Because MS-DOS is a single-process ``operating system,''
 1141: @c asynchronous subprocesses are not available.  In particular, Shell
 1142: @c mode and its variants do not work.  Most Emacs features that use
 1143: @c asynchronous subprocesses also don't work on MS-DOS, including
 1144: @c spelling correction and GUD.  When in doubt, try and see; commands that
 1145: @c don't work print an error message saying that asynchronous processes
 1146: @c aren't supported.
 1147: MS-DOSはシングルプロセスの『オペレーティングシステム』なので、
 1148: 非同期なサブプロセスは利用できません。
 1149: 特に、シェル(shell)モードやその派生モードは動きません。
 1150: 綴りの修正やGUDなどの非同期のサブプロセスを用いたEmacsの機能のほとんどは、
 1151: MS-DOSでは動きません。
 1152: 疑うならば試してみてください。
 1153: 動作不能なコマンドは、「非同期サブプロセスを使えない」旨の
 1154: エラーメッセージを出力します。
 1155: 
 1156: @c   Compilation under Emacs with @kbd{M-x compile}, searching files with
 1157: @c @kbd{M-x grep} and displaying differences between files with @kbd{M-x
 1158: @c diff} do work, by running the inferior processes synchronously.  This
 1159: @c means you cannot do any more editing until the inferior process
 1160: @c finishes.
 1161: MS-DOS用Emacsでも、
 1162: @kbd{M-x compile}によるコンパイル、
 1163: @kbd{M-x grep}によるファイルの探索、
 1164: @kbd{M-x diff}によるファイルの比較は動作しますが、
 1165: これらは下位プロセスを同期して走らせます。
 1166: つまり、下位プロセスが終了するまではいっさい編集はできません。
 1167: 
 1168: @c   By contrast, Emacs compiled as native Windows application
 1169: @c @strong{does} support asynchronous subprocesses.  @xref{Windows
 1170: @c Processes}.
 1171: 対照的に、Windows専用にコンパイルしたEmacsでは、
 1172: 非同期プロセスを使えます。
 1173: @xref{Windows Processes}。
 1174: 
 1175: @c @cindex printing under MS-DOS
 1176: @cindex 印刷(MS-DOS)
 1177: @c   Printing commands, such as @code{lpr-buffer} (@pxref{Hardcopy}) and
 1178: @c @code{ps-print-buffer} (@pxref{Postscript}), work in MS-DOS by sending
 1179: @c the output to one of the printer ports.  @xref{MS-DOS Printing}.
 1180: @code{lpr-buffer}(@pxref{Hardcopy})や
 1181: @code{ps-print-buffer}(@pxref{Postscript})のような印刷コマンドは、
 1182: MS-DOSではプリンタポートの1つに出力を送ることで動作します。
 1183: @xref{MS-DOS Printing}。
 1184: 
 1185: @c   When you run a subprocess synchronously on MS-DOS, make sure the
 1186: @c program terminates and does not try to read keyboard input.  If the
 1187: @c program does not terminate on its own, you will be unable to terminate
 1188: @c it, because MS-DOS provides no general way to terminate a process.
 1189: @c Pressing @kbd{C-c} or @kbd{C-@key{BREAK}} might sometimes help in these
 1190: @c cases.
 1191: MS-DOSで同期的にサブプロセスを動かす場合には、
 1192: プログラムが確実に終了し、しかも、キーボードからまったく入力しないことを
 1193: 確認してください。
 1194: MS-DOSにはプロセスを終了させる一般的な方法がないので、
 1195: プログラムがみずから終了できない場合には、
 1196: それを終了させることができなくなります。
 1197: このような場合、
 1198: @kbd{C-c}や@kbd{C-@key{BREAK}}を押すと助かる場合もあります。
 1199: 
 1200: @c   Accessing files on other machines is not supported on MS-DOS.  Other
 1201: @c network-oriented commands such as sending mail, Web browsing, remote
 1202: @c login, etc., don't work either, unless network access is built into
 1203: @c MS-DOS with some network redirector.
 1204: MS-DOSでは、他のマシンのファイルを参照することはできません。
 1205: MS-DOSにネットワーク機能が組み込まれていなければ、
 1206: メイルの送信、Webの閲覧、リモートログインなどの
 1207: ネットワーク向けのコマンドも使えません。
 1208: 
 1209: @c @cindex directory listing on MS-DOS
 1210: @c @vindex dired-listing-switches @r{(MS-DOS)}
 1211: @cindex ディレクトリの一覧(MS-DOS)
 1212: @vindex dired-listing-switches @r{(MS-DOS)}
 1213: @c   Dired on MS-DOS uses the @code{ls-lisp} package where other
 1214: @c platforms use the system @code{ls} command.  Therefore, Dired on
 1215: @c MS-DOS supports only some of the possible options you can mention in
 1216: @c the @code{dired-listing-switches} variable.  The options that work are
 1217: @c @samp{-A}, @samp{-a}, @samp{-c}, @samp{-i}, @samp{-r}, @samp{-S},
 1218: @c @samp{-s}, @samp{-t}, and @samp{-u}.
 1219: MS-DOSでのdiredは、
 1220: 他のシステムではシステムの@code{ls}コマンドを使う場面で
 1221: パッケージ@code{ls-lisp}を使います。
 1222: したがって、MS-DOSのdiredでは
 1223: 変数@code{dired-listing-switches}に設定できるオプションは限られます。
 1224: 使えるオプションは、
 1225: @samp{-A}、@samp{-a}、@samp{-c}、@samp{-i}、@samp{-r}、@samp{-S}、
 1226: @samp{-s}、@samp{-t}、@samp{-u}です。
 1227: 
 1228: @node Windows Processes, Windows System Menu, MS-DOS Processes, MS-DOS
 1229: @c @section Subprocesses on Windows 95 and NT
 1230: @section サブプロセス(Windows 95、NT)
 1231: 
 1232: @c Emacs compiled as a native Windows application (as opposed to the DOS
 1233: @c version) includes full support for asynchronous subprocesses.
 1234: @c In the Windows version, synchronous and asynchronous subprocesses work
 1235: @c fine on both
 1236: @c Windows 95 and Windows NT as long as you run only 32-bit Windows
 1237: @c applications.  However, when you run a DOS application in a subprocess,
 1238: @c you may encounter problems or be unable to run the application at all;
 1239: @c and if you run two DOS applications at the same time in two
 1240: @c subprocesses, you may have to reboot your system.
 1241: (DOS版と対比して)Windows専用にコンパイルしたEmacsでは、
 1242: 非同期のサブプロセスを完全に使えます。
 1243: Windows版では、32ビットのWindowsアプリケーションを実行している限りは、
 1244: 同期であれ非同期であれサブプロセスはうまく動作します。
 1245: しかし、サブプロセスでDOSアプリケーションを実行すると、
 1246: アプリケーションの実行に問題を生じたり実行できなかったりします。
 1247: さらに、2つのDOSアプリケーションを同時に2つのサブプロセスで実行すると、
 1248: システムをリブートしなければならなくなります。
 1249: 
 1250: @c Since the standard command interpreter (and most command line utilities)
 1251: @c on Windows 95 are DOS applications, these problems are significant when
 1252: @c using that system.  But there's nothing we can do about them; only
 1253: @c Microsoft can fix them.
 1254: Windows 95の標準のコマンドインタープリタ
 1255: (および、ほとんどのコマンド行ユーティリティ)はDOSアプリケーションなので、
 1256: この種のシステムを使う場合には上記の問題は重要になります。
 1257: しかし、これに関してわれわれにできることは何もなく、
 1258: Microsoftだけが修正できるのです。
 1259: 
 1260: @c If you run just one DOS application subprocess, the subprocess should
 1261: @c work as expected as long as it is ``well-behaved'' and does not perform
 1262: @c direct screen access or other unusual actions.  If you have a CPU
 1263: @c monitor application, your machine will appear to be 100% busy even when
 1264: @c the DOS application is idle, but this is only an artifact of the way CPU
 1265: @c monitors measure processor load.
 1266: DOSアプリケーションのサブプロセスを1つだけ実行するならば、
 1267: 『行儀がよく』て、しかも、画面を直接操作するなどの
 1268: 非標準的な動作をしない限りは、サブプロセスは予想どおりに動作するはずです。
 1269: CPUモニタ(監視)アプリケーションを使うと、
 1270: DOSアプリケーションが停止しているときでさえも、
 1271: マシンは100%ビジーになりますが、
 1272: これはCPUモニタがプロセッサの負荷を調べる方法に起因します。
 1273: 
 1274: @c You must terminate the DOS application before you start any other DOS
 1275: @c application in a different subprocess.  Emacs is unable to interrupt or
 1276: @c terminate a DOS subprocess.  The only way you can terminate such a
 1277: @c subprocess is by giving it a command that tells its program to exit.
 1278: 別のサブプロセスでDOSアプリケーションを実行する場合には、
 1279: まえもってDOSアプリケーションを終了しておく必要があります。
 1280: Emacsは、DOSのサブプロセスに割り込んだり停止させることができません。
 1281: このようなサブプロセスを終了する唯一の方法は、
 1282: そのプログラムに終了を指示するコマンドを与えることです。
 1283: 
 1284: @c If you attempt to run two DOS applications at the same time in separate
 1285: @c subprocesses, the second one that is started will be suspended until the
 1286: @c first one finishes, even if either or both of them are asynchronous.
 1287: 別々のサブプロセスにおいて2つのDOSアプリケーションを同時に実行しようとすると、
 1288: 一方あるいは両方が非同期であるとしても、
 1289: 2番目に起動したものは最初のものが終了するまで休止してしまいます。
 1290: 
 1291: @c If you can go to the first subprocess, and tell it to exit, the second
 1292: @c subprocess should continue normally.  However, if the second subprocess
 1293: @c is synchronous, Emacs itself will be hung until the first subprocess
 1294: @c finishes.  If it will not finish without user input, then you have no
 1295: @c choice but to reboot if you are running on Windows 95.  If you are
 1296: @c running on Windows NT, you can use a process viewer application to kill
 1297: @c the appropriate instance of ntvdm instead (this will terminate both DOS
 1298: @c subprocesses).
 1299: 最初のサブプロセスを操作できて終了を指示できるならば、
 1300: 2番目のサブプロセスは正常に実行を継続するはずです。
 1301: しかし、2番目が同期サブプロセスであれば、
 1302: 最初のサブプロセスが終了するまではEmacs自体が固まってしまいます。
 1303: ユーザー入力なしに終了できない場合には、
 1304: Windows 95を使っている限りリブート以外の選択はありません。
 1305: Windows NTであれば、プロセスを調べるアプリケーションを使って、
 1306: 適当なntvdmを終了させます(するとDOSの2つのサブプロセスも終了します)。
 1307: 
 1308: @c If you have to reboot Windows 95 in this situation, do not use the
 1309: @c @code{Shutdown} command on the @code{Start} menu; that usually hangs the
 1310: @c system.  Instead, type @kbd{CTL-ALT-@key{DEL}} and then choose
 1311: @c @code{Shutdown}.  That usually works, although it may take a few minutes
 1312: @c to do its job.
 1313: このような状況でWindows 95をリブートすることが必要になったときには、
 1314: @code{Start}メニューの中の@code{Shutdown}コマンドを使ってはいけません。
 1315: たいていの場合、システムが固まってしまいます。
 1316: かわりに、@kbd{CTL-ALT-@key{DEL}}を打鍵して@code{Shutdown}を選びます。
 1317: 処理に数分かかる場合もありますが、多くの場合、機能してくれます。
 1318: 
 1319: @node Windows System Menu,  , Windows Processes, MS-DOS
 1320: @c @section Using the System Menu on Windows
 1321: @section Windowsのシステムメニューの利用
 1322: 
 1323: @c Emacs compiled as a native Windows application normally turns off the
 1324: @c Windows feature that tapping the @key{ALT}
 1325: @c key invokes the Windows menu.  The reason is that the @key{ALT} also
 1326: @c serves as @key{META} in Emacs.  When using Emacs, users often press the
 1327: @c @key{META} key temporarily and then change their minds; if this has the
 1328: @c effect of bringing up the Windows menu, it alters the meaning of
 1329: @c subsequent commands.  Many users find this frustrating. 
 1330: Windows専用にコンパイルしたEmacsでは、
 1331: @key{ALT}キーを押してWindowsのメニューを立ち上げる機能を切ってあります。
 1332: これは、Emacsでは@key{ALT}は@key{META}の働きをするからです。
 1333: Emacsを利用しているときには、
 1334: ユーザーはしばしばいったん@key{META}キーを押してから何もせずに放します。
 1335: この動作でWindowsのメニューが立ち上がってしまうと、
 1336: 以降のコマンドの意味が変ってしまいます。
 1337: 多くのユーザーにはこれでは邪魔でしょう。
 1338: 
 1339: @vindex w32-pass-alt-to-system
 1340: @c You can reenable Windows's default handling of tapping the @key{ALT} key
 1341: @c by setting @code{w32-pass-alt-to-system} to a non-@code{nil} value.
 1342: @code{w32-pass-alt-to-system}に@code{nil}以外の値を設定すれば、
 1343: @key{ALT}キーを押したときの処理はWindowsのデフォルトに戻ります。
 1344: 

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>