aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEli Zaretskii2006-05-06 14:12:15 +0000
committerEli Zaretskii2006-05-06 14:12:15 +0000
commit234c95a957d1b075a67c327d22f0ad683b1e2fbb (patch)
treecf4cc92bb5cf9b942a8cdafdd6f91d3b48f61f60
parent1bbe7139b66626bf8fe6f758d15264177eb1b85f (diff)
downloademacs-234c95a957d1b075a67c327d22f0ad683b1e2fbb.tar.gz
emacs-234c95a957d1b075a67c327d22f0ad683b1e2fbb.zip
(MS-DOS, MS-DOS Keyboard, MS-DOS Mouse)
(MS-DOS Display, MS-DOS File Names, MS-DOS Printing) (MS-DOS and MULE, MS-DOS Processes) [ifnottex]: Conditional xref's for on-line manual.
-rw-r--r--man/msdog-xtra.texi251
1 files changed, 190 insertions, 61 deletions
diff --git a/man/msdog-xtra.texi b/man/msdog-xtra.texi
index f72fe6e5add..bf4dd288548 100644
--- a/man/msdog-xtra.texi
+++ b/man/msdog-xtra.texi
@@ -11,18 +11,29 @@
11 11
12 This section briefly describes the peculiarities of using Emacs on 12 This section briefly describes the peculiarities of using Emacs on
13the MS-DOS ``operating system'' (also known as ``MS-DOG''). 13the MS-DOS ``operating system'' (also known as ``MS-DOG'').
14@iftex
14Information about Emacs and Microsoft's current operating system 15Information about Emacs and Microsoft's current operating system
15Windows (also known as ``Losedows) is in the main Emacs manual 16Windows (also known as ``Losedows) is in the main Emacs manual
16(@pxref{Microsoft Systems,,, emacs, the Emacs Manual}). 17(@pxref{Microsoft Systems,,, emacs, the Emacs Manual}).
18@end iftex
19@ifnottex
20Information about peculiarities common to MS-DOS and Microsoft's
21current operating systems Windows (also known as ``Losedows) is in
22@ref{Microsoft Windows}.
23@end ifnottex
17 24
18 If you build Emacs for MS-DOS, the binary will also run on Windows 25 If you build Emacs for MS-DOS, the binary will also run on Windows
193.X, Windows NT, Windows 9X/ME, Windows 2000, or OS/2 as a DOS 263.X, Windows NT, Windows 9X/ME, Windows 2000, or OS/2 as a DOS
20application; all of this chapter applies for all of those systems, if 27application; all of this chapter applies for all of those systems, if
21you use an Emacs that was built for MS-DOS. 28you use an Emacs that was built for MS-DOS.
22 29
30@iftex
23 @xref{Text and Binary,,,emacs, the Emacs Manual}, for information 31 @xref{Text and Binary,,,emacs, the Emacs Manual}, for information
24about Emacs' special handling of text files under MS-DOS (and 32@end iftex
25Windows). 33@ifnottex
34 @xref{Text and Binary}, for information
35@end ifnottex
36about Emacs' special handling of text files under MS-DOS (and Windows).
26 37
27@menu 38@menu
28* Keyboard: MS-DOS Keyboard. Keyboard conventions on MS-DOS. 39* Keyboard: MS-DOS Keyboard. Keyboard conventions on MS-DOS.
@@ -52,11 +63,21 @@ as @kbd{C-d} for the same reasons.
52character, just like @kbd{C-g}. This is because Emacs cannot detect 63character, just like @kbd{C-g}. This is because Emacs cannot detect
53that you have typed @kbd{C-g} until it is ready for more input. As a 64that you have typed @kbd{C-g} until it is ready for more input. As a
54consequence, you cannot use @kbd{C-g} to stop a running command 65consequence, you cannot use @kbd{C-g} to stop a running command
55(@pxref{Quitting,,,emacs, the Emacs Manual}). By contrast, 66@iftex
56@kbd{C-@key{BREAK}} @emph{is} detected as soon as you type it (as 67(@pxref{Quitting,,,emacs, the Emacs Manual}).
57@kbd{C-g} is on other systems), so it can be used to stop a running 68@end iftex
58command and for emergency escape (@pxref{Emergency Escape,,,emacs, the 69@ifnottex
59Emacs Manual}). 70(@pxref{Quitting}).
71@end ifnottex
72By contrast, @kbd{C-@key{BREAK}} @emph{is} detected as soon as you
73type it (as @kbd{C-g} is on other systems), so it can be used to stop
74a running command and for emergency escape
75@iftex
76(@pxref{Emergency Escape,,,emacs, the Emacs Manual}).
77@end iftex
78@ifnottex
79(@pxref{Emergency Escape}).
80@end ifnottex
60 81
61@cindex Meta (under MS-DOS) 82@cindex Meta (under MS-DOS)
62@cindex Hyper (under MS-DOS) 83@cindex Hyper (under MS-DOS)
@@ -94,17 +115,29 @@ following line into your @file{_emacs} file:
94@cindex mouse support under MS-DOS 115@cindex mouse support under MS-DOS
95 Emacs on MS-DOS supports a mouse (on the default terminal only). 116 Emacs on MS-DOS supports a mouse (on the default terminal only).
96The mouse commands work as documented, including those that use menus 117The mouse commands work as documented, including those that use menus
97and the menu bar (@pxref{Menu Bar,,,emacs, the Emacs Manual}). Scroll 118and the menu bar
98bars don't work in MS-DOS Emacs. PC mice usually have only two 119@iftex
99buttons; these act as @kbd{Mouse-1} and @kbd{Mouse-2}, but if you 120(@pxref{Menu Bar,,,emacs, the Emacs Manual}).
121@end iftex
122@ifnottex
123(@pxref{Menu Bar}).
124@end ifnottex
125 Scroll bars don't work in MS-DOS Emacs. PC mice usually have only
126two buttons; these act as @kbd{Mouse-1} and @kbd{Mouse-2}, but if you
100press both of them together, that has the effect of @kbd{Mouse-3}. If 127press both of them together, that has the effect of @kbd{Mouse-3}. If
101the mouse does have 3 buttons, Emacs detects that at startup, and all 128the mouse does have 3 buttons, Emacs detects that at startup, and all
102the 3 buttons function normally, as on X. 129the 3 buttons function normally, as on X.
103 130
104 Help strings for menu-bar and pop-up menus are displayed in the echo 131 Help strings for menu-bar and pop-up menus are displayed in the echo
105area when the mouse pointer moves across the menu items. Highlighting 132area when the mouse pointer moves across the menu items. Highlighting
106of mouse-sensitive text (@pxref{Mouse References,,,emacs, the Emacs 133of mouse-sensitive text
107Manual}) is also supported. 134@iftex
135(@pxref{Mouse References,,,emacs, the Emacs Manual})
136@end iftex
137@ifnottex
138(@pxref{Mouse References})
139@end ifnottex
140is also supported.
108 141
109@cindex mouse, set number of buttons 142@cindex mouse, set number of buttons
110@findex msdos-set-mouse-buttons 143@findex msdos-set-mouse-buttons
@@ -126,7 +159,13 @@ file:
126 Emacs built for MS-DOS supports clipboard operations when it runs on 159 Emacs built for MS-DOS supports clipboard operations when it runs on
127Windows. Commands that put text on the kill ring, or yank text from 160Windows. Commands that put text on the kill ring, or yank text from
128the ring, check the Windows clipboard first, just as Emacs does on the 161the ring, check the Windows clipboard first, just as Emacs does on the
129X Window System (@pxref{Mouse Commands,,,emacs, the Emacs Manual}). 162X Window System
163@iftex
164(@pxref{Mouse Commands,,,emacs, the Emacs Manual}).
165@end iftex
166@ifnottex
167(@pxref{Mouse Commands}).
168@end ifnottex
130Only the primary selection and the cut buffer are supported by MS-DOS 169Only the primary selection and the cut buffer are supported by MS-DOS
131Emacs on Windows; the secondary selection always appears as empty. 170Emacs on Windows; the secondary selection always appears as empty.
132 171
@@ -158,11 +197,21 @@ it does support multiple faces, each of which can specify a foreground
158and a background color. Therefore, you can get the full functionality 197and a background color. Therefore, you can get the full functionality
159of Emacs packages that use fonts (such as @code{font-lock}, Enriched 198of Emacs packages that use fonts (such as @code{font-lock}, Enriched
160Text mode, and others) by defining the relevant faces to use different 199Text mode, and others) by defining the relevant faces to use different
161colors. Use the @code{list-colors-display} command (@pxref{Frame 200colors. Use the @code{list-colors-display} command
162Parameters,,,emacs, the Emacs Manual}) and the 201@iftex
163@code{list-faces-display} command (@pxref{Faces,,,emacs, the Emacs 202(@pxref{Frame Parameters,,,emacs, the Emacs Manual})
164Manual}) to see what colors and faces are available and what they look 203@end iftex
165like. 204@ifnottex
205(@pxref{Frame Parameters})
206@end ifnottex
207and the @code{list-faces-display} command
208@iftex
209(@pxref{Faces,,,emacs, the Emacs Manual})
210@end iftex
211@ifnottex
212(@pxref{Faces})
213@end ifnottex
214to see what colors and faces are available and what they look like.
166 215
167 @xref{MS-DOS and MULE}, later in this chapter, for information on 216 @xref{MS-DOS and MULE}, later in this chapter, for information on
168how Emacs displays glyphs and characters that aren't supported by the 217how Emacs displays glyphs and characters that aren't supported by the
@@ -173,8 +222,14 @@ native font built into the DOS display.
173is for compatibility with other systems, where the box cursor is the 222is for compatibility with other systems, where the box cursor is the
174default in Emacs. This default shape can be changed to a bar by 223default in Emacs. This default shape can be changed to a bar by
175specifying the @code{cursor-type} parameter in the variable 224specifying the @code{cursor-type} parameter in the variable
176@code{default-frame-alist} (@pxref{Creating Frames,,,emacs, the Emacs 225@code{default-frame-alist}
177Manual}). The MS-DOS terminal doesn't support a vertical-bar cursor, 226@iftex
227(@pxref{Creating Frames,,,emacs, the Emacs Manual}).
228@end iftex
229@ifnottex
230(@pxref{Creating Frames}).
231@end ifnottex
232The MS-DOS terminal doesn't support a vertical-bar cursor,
178so the bar cursor is horizontal, and the @code{@var{width}} parameter, 233so the bar cursor is horizontal, and the @code{@var{width}} parameter,
179if specified by the frame parameters, actually determines its height. 234if specified by the frame parameters, actually determines its height.
180For this reason, the @code{bar} and @code{hbar} cursor types produce 235For this reason, the @code{bar} and @code{hbar} cursor types produce
@@ -193,10 +248,16 @@ begins at the top of the character cell.
193@cindex frames on MS-DOS 248@cindex frames on MS-DOS
194 The MS-DOS terminal can only display a single frame at a time. The 249 The MS-DOS terminal can only display a single frame at a time. The
195Emacs frame facilities work on MS-DOS much as they do on text-only 250Emacs frame facilities work on MS-DOS much as they do on text-only
196terminals (@pxref{Frames,,,emacs, the Emacs Manual}). When you run 251terminals
197Emacs from a DOS window on MS-Windows, you can make the visible frame 252@iftex
198smaller than the full screen, but Emacs still cannot display more than 253(@pxref{Frames,,,emacs, the Emacs Manual}).
199a single frame at a time. 254@end iftex
255@ifnottex
256(@pxref{Frames}).
257@end ifnottex
258When you run Emacs from a DOS window on MS-Windows, you can make the
259visible frame smaller than the full screen, but Emacs still cannot
260display more than a single frame at a time.
200 261
201@cindex frame size under MS-DOS 262@cindex frame size under MS-DOS
202@findex mode4350 263@findex mode4350
@@ -253,21 +314,32 @@ knows enough about these limitations to handle file names that were
253meant for other operating systems. For instance, leading dots 314meant for other operating systems. For instance, leading dots
254@samp{.} in file names are invalid in MS-DOS, so Emacs transparently 315@samp{.} in file names are invalid in MS-DOS, so Emacs transparently
255converts them to underscores @samp{_}; thus your default init file 316converts them to underscores @samp{_}; thus your default init file
256(@pxref{Init File,,,emacs, the Emacs Manual}) is called @file{_emacs} 317@iftex
257on MS-DOS. Excess characters before or after the period are generally 318(@pxref{Init File,,,emacs, the Emacs Manual})
258ignored by MS-DOS itself; thus, if you visit the file 319@end iftex
259@file{LongFileName.EvenLongerExtension}, you will silently get 320@ifnottex
260@file{longfile.eve}, but Emacs will still display the long file name 321(@pxref{Init File})
261on the mode line. Other than that, it's up to you to specify file 322@end ifnottex
262names which are valid under MS-DOS; the transparent conversion as 323is called @file{_emacs} on MS-DOS. Excess characters before or after
324the period are generally ignored by MS-DOS itself; thus, if you visit
325the file @file{LongFileName.EvenLongerExtension}, you will silently
326get @file{longfile.eve}, but Emacs will still display the long file
327name on the mode line. Other than that, it's up to you to specify
328file names which are valid under MS-DOS; the transparent conversion as
263described above only works on file names built into Emacs. 329described above only works on file names built into Emacs.
264 330
265@cindex backup file names on MS-DOS 331@cindex backup file names on MS-DOS
266 The above restrictions on the file names on MS-DOS make it almost 332 The above restrictions on the file names on MS-DOS make it almost
267impossible to construct the name of a backup file (@pxref{Backup 333impossible to construct the name of a backup file
268Names,,,emacs, the Emacs Manual}) without losing some of the original 334@iftex
269file name characters. For example, the name of a backup file for 335(@pxref{Backup Names,,,emacs, the Emacs Manual})
270@file{docs.txt} is @file{docs.tx~} even if single backup is used. 336@end iftex
337@ifnottex
338(@pxref{Backup Names})
339@end ifnottex
340without losing some of the original file name characters. For
341example, the name of a backup file for @file{docs.txt} is
342@file{docs.tx~} even if single backup is used.
271 343
272@cindex file names under Windows 95/NT 344@cindex file names under Windows 95/NT
273@cindex long file names in DOS box under Windows 95/NT 345@cindex long file names in DOS box under Windows 95/NT
@@ -301,14 +373,25 @@ using an actual directory named @file{/dev} on any disk.
301@subsection Printing and MS-DOS 373@subsection Printing and MS-DOS
302 374
303 Printing commands, such as @code{lpr-buffer} 375 Printing commands, such as @code{lpr-buffer}
304(@pxref{Printing,,,emacs, the Emacs Manual}) and 376@iftex
305@code{ps-print-buffer} (@pxref{PostScript,,,emacs, the Emacs Manual}) 377(@pxref{Printing,,,emacs, the Emacs Manual}) and @code{ps-print-buffer}
378(@pxref{PostScript,,,emacs, the Emacs Manual})
379@end iftex
380@ifnottex
381(@pxref{Printing}) and @code{ps-print-buffer} (@pxref{PostScript})
382@end ifnottex
306can work on MS-DOS by sending the output to one of the printer ports, 383can work on MS-DOS by sending the output to one of the printer ports,
307if a Posix-style @code{lpr} program is unavailable. The same Emacs 384if a Posix-style @code{lpr} program is unavailable. The same Emacs
308variables control printing on all systems, but in some cases they have 385variables control printing on all systems, but in some cases they have
309different default values on MS-DOS. 386different default values on MS-DOS.
310 387
311@xref{MS-Windows Printing,,,emacs, the Emacs Manual}, for details. 388@iftex
389@xref{Windows Printing,,,emacs, the Emacs Manual},
390@end iftex
391@ifnottex
392@xref{Windows Printing},
393@end ifnottex
394for details about setting up printing to a networked printer.
312 395
313 Some printers expect DOS codepage encoding of non-@acronym{ASCII} text, even 396 Some printers expect DOS codepage encoding of non-@acronym{ASCII} text, even
314though they are connected to a Windows machine which uses a different 397though they are connected to a Windows machine which uses a different
@@ -334,12 +417,18 @@ coding system with @kbd{M-x codepage-setup}.
334@cindex international support @r{(MS-DOS)} 417@cindex international support @r{(MS-DOS)}
335 418
336 Emacs on MS-DOS supports the same international character sets as it 419 Emacs on MS-DOS supports the same international character sets as it
337does on GNU, Unix and other platforms (@pxref{International,,,emacs, 420does on GNU, Unix and other platforms
338the Emacs Manual}), including coding systems for converting between 421@iftex
339the different character sets. However, due to incompatibilities 422(@pxref{International,,,emacs, the Emacs Manual}),
340between MS-DOS/MS-Windows and other systems, there are several 423@end iftex
341DOS-specific aspects of this support that you should be aware of. 424@ifnottex
342This section describes these aspects. 425(@pxref{International}),
426@end ifnottex
427including coding systems for converting between the different
428character sets. However, due to incompatibilities between
429MS-DOS/MS-Windows and other systems, there are several DOS-specific
430aspects of this support that you should be aware of. This section
431describes these aspects.
343 432
344 The description below is largely specific to the MS-DOS port of 433 The description below is largely specific to the MS-DOS port of
345Emacs, especially where it talks about practical implications for 434Emacs, especially where it talks about practical implications for
@@ -380,12 +469,18 @@ executables on other systems such as MS-Windows.
380 469
381@cindex unibyte operation @r{(MS-DOS)} 470@cindex unibyte operation @r{(MS-DOS)}
382 If you invoke Emacs on MS-DOS with the @samp{--unibyte} option 471 If you invoke Emacs on MS-DOS with the @samp{--unibyte} option
383(@pxref{Initial Options,,,emacs, the Emacs Manual}), Emacs does not 472@iftex
384perform any conversion of non-@acronym{ASCII} characters. Instead, it 473(@pxref{Initial Options,,,emacs, the Emacs Manual}),
385reads and writes any non-@acronym{ASCII} characters verbatim, and 474@end iftex
386sends their 8-bit codes to the display verbatim. Thus, unibyte Emacs 475@ifnottex
387on MS-DOS supports the current codepage, whatever it may be, but 476(@pxref{Initial Options}),
388cannot even represent any other characters. 477@end ifnottex
478Emacs does not perform any conversion of non-@acronym{ASCII}
479characters. Instead, it reads and writes any non-@acronym{ASCII}
480characters verbatim, and sends their 8-bit codes to the display
481verbatim. Thus, unibyte Emacs on MS-DOS supports the current
482codepage, whatever it may be, but cannot even represent any other
483characters.
389 484
390@vindex dos-codepage 485@vindex dos-codepage
391 For multibyte operation on MS-DOS, Emacs needs to know which 486 For multibyte operation on MS-DOS, Emacs needs to know which
@@ -426,15 +521,26 @@ DOS codepage 850 uses code 135 for this glyph.}
426(for ``DOS'') as their mode-line mnemonic. Since both the terminal 521(for ``DOS'') as their mode-line mnemonic. Since both the terminal
427coding system and the default coding system for file I/O are set to 522coding system and the default coding system for file I/O are set to
428the proper @code{cp@var{nnn}} coding system at startup, it is normal 523the proper @code{cp@var{nnn}} coding system at startup, it is normal
429for the mode line on MS-DOS to begin with @samp{-DD\-}. @xref{Mode 524for the mode line on MS-DOS to begin with @samp{-DD\-}.
430Line,,,emacs, the Emacs Manual}. Far-Eastern DOS terminals do not use 525@iftex
431the @code{cp@var{nnn}} coding systems, and thus their initial mode 526@xref{Mode Line,,,emacs, the Emacs Manual}.
432line looks like the Emacs default. 527@end iftex
528@ifnottex
529@xref{Mode Line}.
530@end ifnottex
531Far-Eastern DOS terminals do not use the @code{cp@var{nnn}} coding
532systems, and thus their initial mode line looks like the Emacs
533default.
433 534
434 Since the codepage number also indicates which script you are using, 535 Since the codepage number also indicates which script you are using,
435Emacs automatically runs @code{set-language-environment} to select the 536Emacs automatically runs @code{set-language-environment} to select the
436language environment for that script (@pxref{Language 537language environment for that script
437Environments,,,emacs, the Emacs Manual}). 538@iftex
539(@pxref{Language Environments,,,emacs, the Emacs Manual}).
540@end iftex
541@ifnottex
542(@pxref{Language Environments}).
543@end ifnottex
438 544
439 If a buffer contains a character belonging to some other ISO 8859 545 If a buffer contains a character belonging to some other ISO 8859
440character set, not the one that the chosen DOS codepage supports, Emacs 546character set, not the one that the chosen DOS codepage supports, Emacs
@@ -467,8 +573,13 @@ cannot display them on MS-DOS. So if one of these multibyte characters
467appears in a buffer, Emacs on MS-DOS displays them as specified by the 573appears in a buffer, Emacs on MS-DOS displays them as specified by the
468@code{dos-unsupported-character-glyph} variable; by default, this glyph 574@code{dos-unsupported-character-glyph} variable; by default, this glyph
469is an empty triangle. Use the @kbd{C-u C-x =} command to display the 575is an empty triangle. Use the @kbd{C-u C-x =} command to display the
470actual code and character set of such characters. @xref{Position 576actual code and character set of such characters.
471Info,,,emacs, the Emacs Manual}. 577@iftex
578@xref{Position Info,,,emacs, the Emacs Manual}.
579@end iftex
580@ifnottex
581@xref{Position Info}.
582@end ifnottex
472 583
473@findex codepage-setup 584@findex codepage-setup
474 By default, Emacs defines a coding system to support the current 585 By default, Emacs defines a coding system to support the current
@@ -478,7 +589,13 @@ visit a file written on a DOS machine in another country), use the
478the codepage, with completion, then creates the coding system for the 589the codepage, with completion, then creates the coding system for the
479specified codepage. You can then use the new coding system to read and 590specified codepage. You can then use the new coding system to read and
480write files, but you must specify it explicitly for the file command 591write files, but you must specify it explicitly for the file command
481when you want to use it (@pxref{Text Coding,,,emacs, the Emacs Manual}). 592when you want to use it
593@iftex
594(@pxref{Text Coding,,,emacs, the Emacs Manual}).
595@end iftex
596@ifnottex
597(@pxref{Text Coding}).
598@end ifnottex
482 599
483 These coding systems are also useful for visiting a file encoded using 600 These coding systems are also useful for visiting a file encoded using
484a DOS codepage, using Emacs running on some other operating system. 601a DOS codepage, using Emacs running on some other operating system.
@@ -522,15 +639,27 @@ the @kbd{M-x eshell} command. This invokes the Eshell package that
522implements a Posix-like shell entirely in Emacs Lisp. 639implements a Posix-like shell entirely in Emacs Lisp.
523 640
524 By contrast, Emacs compiled as a native Windows application 641 By contrast, Emacs compiled as a native Windows application
525@strong{does} support asynchronous subprocesses. @xref{Windows 642@strong{does} support asynchronous subprocesses.
526Processes,,,emacs, the Emacs Manual}. 643@iftex
644@xref{Windows Processes,,,emacs, the Emacs Manual}.
645@end iftex
646@ifnottex
647@xref{Windows Processes}.
648@end ifnottex
527 649
528@cindex printing under MS-DOS 650@cindex printing under MS-DOS
529 Printing commands, such as @code{lpr-buffer} 651 Printing commands, such as @code{lpr-buffer}
652@iftex
530(@pxref{Printing,,,emacs, the Emacs Manual}) and 653(@pxref{Printing,,,emacs, the Emacs Manual}) and
531@code{ps-print-buffer} (@pxref{PostScript,,,emacs, the Emacs Manual}), 654@code{ps-print-buffer} (@pxref{PostScript,,,emacs, the Emacs Manual}),
532work in MS-DOS by sending the output to one of the printer ports. 655work in MS-DOS by sending the output to one of the printer ports.
533@xref{MS-DOS Printing,,,emacs, the Emacs Manual}. 656@xref{MS-DOS Printing,,,emacs, the Emacs Manual}.
657@end iftex
658@ifnottex
659(@pxref{Printing}) and @code{ps-print-buffer} (@pxref{PostScript}),
660work in MS-DOS by sending the output to one of the printer ports.
661@xref{MS-DOS Printing}.
662@end ifnottex
534 663
535 When you run a subprocess synchronously on MS-DOS, make sure the 664 When you run a subprocess synchronously on MS-DOS, make sure the
536program terminates and does not try to read keyboard input. If the 665program terminates and does not try to read keyboard input. If the