1{\rtf1\ansi \deff0{\fonttbl{\f0\froman Tms Rmn;}{\f1\froman Symbol;}{\f2\fswiss Helv;}{\f3\froman Times New Roman;}{\f4\fswiss Arial;}{\f5\froman Roman PS;}{\f6\fswiss Sans Serif PS;}{\f7\fmodern Sans Serif 10cpi;}
2{\f8\fmodern Sans Serif 12cpi;}{\f9\fmodern Courier;}{\f10\fnil Preview;}{\f11\fswiss DIGITAL;}{\f12\fmodern Terminal;}{\f13\froman Roman;}{\f14\fscript Script;}{\f15\fmodern Modern;}{\f16\fnil 8514oem;}{\f17\fnil 8514fix;}{\f18\fswiss System;}
3{\f19\fmodern Sans Serif 6cpi;}{\f20\fmodern Sans Serif 5cpi;}{\f21\fmodern Sans Serif 17cpi;}{\f22\fmodern Roman 6cpi;}{\f23\fmodern Roman 5cpi;}{\f24\fmodern Roman 17cpi;}{\f25\fmodern Roman 12cpi;}{\f26\fmodern Roman 10cpi;}{\f27\fmodern Courier New;}}
4{\colortbl;\red0\green0\blue0;\red0\green0\blue255;\red0\green255\blue255;\red0\green255\blue0;\red255\green0\blue255;\red255\green0\blue0;\red255\green255\blue0;\red255\green255\blue255;}{\stylesheet{\s244 \f4\fs16\up6
5\sbasedon0\snext0 footnote reference;}{\s245 \f4\fs20 \sbasedon0\snext245 footnote text;}{\s246\li720 \i\f4\fs20 \sbasedon0\snext255 heading 9;}{\s247\li720 \i\f4\fs20 \sbasedon0\snext255 heading 8;}{\s248\li720 \i\f4\fs20 \sbasedon0\snext255 heading 7;}{
6\s249\li720 \f4\fs20\ul \sbasedon0\snext255 heading 6;}{\s250\li720 \b\f4\fs20 \sbasedon0\snext255 heading 5;}{\s251\sa120\tx2880 \b\f4\fs20 \sbasedon0\snext255 heading 4;}{\s252\sa120\tx2880 \b\f4 \sbasedon0\snext255 heading 3;}{\s253\sa240\tx2880
7\b\f4\cf2 \sbasedon0\snext0 heading 2;}{\s254\qc\sa240 \b\f4\fs30\cf2 \sbasedon0\snext0 heading 1;}{\s255\li720 \f4\fs20 \sbasedon0\snext255 Normal Indent;}{\f4\fs20 \snext0 Normal;}{\s2\fi-2520\li2880\sa120\tx2880 \f4\fs20 \sbasedon0\snext2 Func List;}{
8\s3\fi-2880\li2880\sa120\tqr\tx720\tx900\tx2880 \f4\fs20 \sbasedon2\snext3 Binding;}{\s4\fi-2160\li2880\sa120\tx2880 \f27\fs18 \sbasedon0\snext4 Example;}{\s5\sa240\tx2880 \f4\fs20\cf2 \sbasedon0\snext5 Title;}{\s6\sa120 \f4\fs20
9\sbasedon0\snext6 Main Text;}{\s7\fi-1080\li1440\sa120\tx1440\tx2880 \f4\fs20 \sbasedon2\snext7 Char List;}{\s8\fi-360\li360\sa120\tx360\tx1440\tx2880\tx3600\tx4320 \f4\fs20 \sbasedon0\snext8 Steps;}{\s9\sa120\tx180\tx1980\tx3780\tx5580\tx8550 \f4\fs20
10\sbasedon6\snext9 Glossary;}{\s10\fi-2520\li2880\sa120\sl120\tx2880 \f4\fs20 \sbasedon2\snext10 interline;}{\s11\li360\sa120\tx2880 \f4\fs20 \sbasedon6\snext11 Jump List;}{\s12\fi-720\li720\sa120 \f4\fs20 \sbasedon6\snext12 Note;}{
11\s13\fi-2880\li2880\sa120\tx900\tx2880 \f4\fs20 \sbasedon3\snext13 FunctionDesc;}{\s14\fi-900\li900\sa120\tqr\tx720\tx900 \f4\fs20 \sbasedon3\snext14 BindingShort;}}{\info{\title MicroEmacs main help topic file}{\author Pierre Perret}
12{\operator Pierre & Beatrice Perret}{\creatim\yr1991\mo12\dy6\hr14\min36}{\revtim\yr1992\mo10\dy12\hr20\min33}{\version218}{\edmins6612}{\nofpages0}{\nofwords65537}{\nofchars65536}{\vern8368}}\paperh31680\widowctrl\ftnbj\hyphhotz0 \sectd \linex0\endnhere
13\pard\plain \s254\qc \b\f4\fs30\cf2 {\plain \f4\fs16\up6 ${\footnote \pard\plain \s245 \f4\fs20 {\fs16\up6 $} Index}} {\plain \f4\fs16\up6 #{\footnote \pard\plain \s245 \f4\fs20 {\fs16\up6 #} MainIndex}} {\plain \f4\fs16\up6 +{\footnote \pard\plain \s245
14\f4\fs20 {\fs16\up6 +} Index:0000}} MicroEMACS 4.0 for MS-Windows
15\par \pard \s254\qc\sa240 Index
16\par \pard\plain \s11\li360\sa120\tx2880 \f4\fs20 {\uldb Introduction}{\v Introduction}
17\par \pard \s11\li360\tx2880 {\uldb Keyboard}{\v Keyboard}
18\par {\uldb Procedures}{\v Procedures}
19\par {\uldb Modes of Operation}{\v ModesOfOperation}
20\par {\uldb Macro Language}{\v MacroLanguage}
21\par {\uldb Start-up}{\v Startup}
22\par {\uldb Memory Usage}{\v MemoryUsage}
23\par \pard \s11\li360\sa120\tx2880 {\uldb MS-Windows Specifics}{\v Ms_WindowsSpecifics}
24\par {\uldb Glossary}{\v Glossary}
25\par \pard \s11\li360\tx2880 {\uldb History}{\v History}
26\par {\uldb Support}{\v Support}
27\par \pard \s11\li360\sa120\tx2880 {\uldb Copyright}{\v Copyright}
28\par \pard\plain \s253\sa240\tx2880 \b\f4\cf2 {\plain \f4\cf2 \page }{\plain \f4\fs16\up6 ${\footnote \pard\plain \s245 \f4\fs20 {\fs16\up6 $} Introduction}} {\plain \f4\fs16\up6 #{\footnote \pard\plain \s245 \f4\fs20 {\fs16\up6 #} Introduction}} {\plain
29\f4\fs16\up6 +{\footnote \pard\plain \s245 \f4\fs20 {\fs16\up6 +} Index:0005}} {\plain \f4\fs16\up6 K{\footnote \pard\plain \s245 \f4\fs20 {\fs16\up6 K} intro;introduction;beginning;basics}} Introduction
30\par \pard\plain \f4\fs20 MicroEMACS is a tool for creating and changing documents, programs, and other text files. It is both relatively easy for the novice to use, but also very powerful in the hands of an expert.
31MicroEMACS can be extensively customized for the needs of the individual user.
32\par \pard\plain \s6\sa120 \f4\fs20 MicroEMACS allows several files to be edited at the same time. The display can be split into different {\ul windows}{\v Window} and {\ul screens}{\v Screen}, and text may be moved freely from one window on any s
33creen to the next. Depending on the type of file being edited, MicroEMACS can change how it behaves to make editing simple. Editing standard text files, program files and word processing documents are all possible at the same time.
34\par There are extensive capabilities to make word processing and editing easier. These include commands for string searching and replacing, paragraph reformatting and deleting, automatic word wrapping, word move and deletes, easy case controlling, and automat
35ic word counts.
36\par For complex and repetitive editing tasks editing {\ul macros}{\v Macro} can be written. These macros allow the user a great degree of flexibility in determining how MicroEMACS behaves. Also, any and all the {\ul commands}{\v Command}
37 can be used by any keystroke by changing, or {\ul rebinding}{\v Binding}, what commands various keys invoke.
38\par Special features are also available to perform a diverse set of operations such as file encryption, automatic backup file generation, entabbing and detabbing lines, executing operating system commands and fil
39tering of text through other programs (like SORT to allow sorting text).
40\par \pard\plain \s253\sa240\tx2880 \b\f4\cf2 {\plain \f4\fs16 \page }{\plain \f4\fs16\up6 ${\footnote \pard\plain \s245 \f4\fs20 {\fs16\up6 $} History}}{\plain \f4\fs16  }{\plain \f4\fs16\up6 #{\footnote \pard\plain \s245 \f4\fs20 {\fs16\up6 #} History}}
41{\plain \f4\fs16\up6 +{\footnote \pard\plain \s245 \f4\fs20 {\fs16\up6 +} Index:9010}} {\plain \f4\fs16\up6 K{\footnote \pard\plain \s245 \f4\fs20 {\fs16\up6 K} history;author;credits}} History
42\par \pard\plain \s6\sa120 \f4\fs20 EMACS was originally a text editor written by Richard Stallman at MIT in the early 1970s for Digital Equipment computers. Various versions, rewrites and clones have made an appearance since.
43\par This version of MicroEMACS is derived from code written by David G. Conroy in 1985. Later modifications were performed by Steve Wilhite and George Jones. In December of 1985 {\uldb Daniel Lawrence}{\v DanielLawrence}
44 picked up the then current source (version 2.0) and made extensive modifications and additions to it over the course of the next six years.
45\par In November 1990, {\uldb Pierre Perret}{\v PierrePerret}
46 produced a port of MicroEMACS 3.10e to the Microsoft Windows 3.0 environment (BETA version 0.6a which never enjoyed a full release). The first public version, 1.0, based on MicroEMACS 3.11c, was released in April 1992.
47\par Update 1.1 included bug fixes, port to Windows NT, support of scroll bars and drag and drop mechanism. It was the first release to include a complete help file.
48\par The new version 4.0 of MicroEMACS incorporates the port of the editor to MS-Windows, adding many new features, among which the capabilities to highlight selected regions of  text, and to undo arbitrary editing changes.
49\par \pard\plain \s253\sa240\tx2880 \b\f4\cf2 {\plain \f4\fs16 \page }{\plain \f4\fs16\up6 ${\footnote \pard\plain \s245 \f4\fs20 {\fs16\up6 $} Support} #{\footnote \pard\plain \s245 \f4\fs20 {\fs16\up6 #} Support}} {\plain \f4\fs16\up6 +{\footnote
50\pard\plain \s245 \f4\fs20 {\fs16\up6 +} Index:9020}} {\plain \f4\fs16\up6 K{\footnote \pard\plain \s245 \f4\fs20 {\fs16\up6 K} support;bugs;author;credits;licence;updates}} Support
51\par \pard\plain \s6\sa120 \f4\fs20 Updates and support for the current version are available. Commercial support and usage and resale licences are also available.
52\par For questions regarding the official MicroEMACS editor, contact {\uldb Daniel Lawrence}{\v DanielLawrence}. For technical questions specific to the port of MicroEMACS to the Microsoft Windows environment, contact {\uldb Pierre Perret}{\v PierrePerret}.
53
54\par The home BBS of MicroEMACS is "{\uldb The Programmer's Room}{\v TheProgrammersRoom}".
55\par \pard\plain \s251\sa120\tx2880 \b\f4\fs20 {\plain \f4\fs16 \page }{\plain \f4\fs16\up6 ${\footnote \pard\plain \s245 \f4\fs20 {\fs16\up6 $} Bulletin Board System}}{\plain \f4\fs16  }{\plain \f4\fs16\up6 #{\footnote \pard\plain \s245 \f4\fs20 {\fs16\up6 #}
56 TheProgrammersRoom}} {\plain \f4\fs16\up6 +{\footnote \pard\plain \s245 \f4\fs20 {\fs16\up6 +} Index:9500}} {\plain \f4\fs16\up6 K{\footnote \pard\plain \s245 \f4\fs20 {\fs16\up6 K} BBS;bulletin board;home;support;author;updates;programmer's room;modem}}
57 Bulletin Board System
58\par \pard\plain \s6\sa120 \f4\fs20 The latest executables, sources and documentations can be obtained from:
59\par \pard\plain \s7\fi-1080\li1440\tx1440\tx2880 \f4\fs20 {\b The Programmer's Room
60\par \tab }(317) 742-5533
61\par \tab 486/33 running FREEBSD
62\par \tab Interntet: aquest.com
63\par \tab 19,200 bps (US Robotics HST)
64\par \pard \s7\fi-1080\li1440\sa120\tx1440\tx2880 \tab (317) 742-5533  no parity  8 data bits  no stop bits
65\par \pard\plain \s6\sa120 \f4\fs20 \page {\fs16\up6 ${\footnote \pard\plain \s245 \f4\fs20 {\fs16\up6 $} Daniel Lawrence}} {\fs16\up6 #{\footnote \pard\plain \s245 \f4\fs20 {\fs16\up6 #} DanielLawrence}} {\fs16\up6 +{\footnote \pard\plain \s245 \f4\fs20 {
66\fs16\up6 +} Index:9510}} {\fs16\up6 K{\footnote \pard\plain \s245 \f4\fs20 {\fs16\up6 K} Lawrence;author;standard;address}} The current MicroEMACS author can be contacted by writing to:
67\par \pard\plain \s7\fi-1080\li1440\tqr\tx1260\tx1440\tx2880 \f4\fs20 \tab USMAIL:\tab {\b Daniel Lawrence}
68\par \tab  \tab 617 New York Street
69\par \pard \s7\fi-1080\li1440\sa120\tqr\tx1260\tx1440\tx2880 \tab  \tab Lafayette, IN 47901
70\par \tab Internet:\tab dan@aquest.com
71\par      phone:\tab (317) 742-5153 (Please evenings only)
72\par \pard \s7\fi-1440\li1440\tqr\tx1260\tx1440\tx2880 {\uldb The Programmer's Room}{\v TheProgrammersRoom} BBS:
73\par \pard \s7\fi-1440\li1440\sa120\tqr\tx1260\tx1440\tx2880 \tab  \tab Daniel Lawrence
74\par \pard\plain \s6\sa120 \f4\fs20 \page {\fs16\up6 ${\footnote \pard\plain \s245 \f4\fs20 {\fs16\up6 $} Pierre Perret}} {\fs16\up6 #{\footnote \pard\plain \s245 \f4\fs20 {\fs16\up6 #} PierrePerret}} {\fs16\up6 +{\footnote \pard\plain \s245 \f4\fs20 {
75\fs16\up6 +} Index:9510}} {\fs16\up6 K{\footnote \pard\plain \s245 \f4\fs20 {\fs16\up6 K} Perret;author;Microsoft Windows;MS Windows;address}} The author of the port of MicroEMACS to the Microsoft Windows environment can be contacted by writing to:
76\par \pard\plain \s7\fi-1080\li1440\tqr\tx1260\tx1440\tx2880 \f4\fs20 \tab USMAIL:\tab {\b Pierre Perret}
77\par \tab  \tab 4326 W Michigan Ave
78\par \pard \s7\fi-1080\li1440\sa120\tqr\tx1260\tx1440\tx2880 \tab  \tab Glendale, AZ 85308
79\par \tab Internet:\tab P.Perret@az05.bull.com
80\par \pard \s7\fi-1440\li1440\sa120\tqr\tx1260\tx1440\tx2880 \tab CompuServe:\tab 73757,2337
81\par \pard \s7\fi-1440\li1440\tqr\tx1260\tx1440\tx2880 {\uldb The Programmer's Room}{\v TheProgrammersRoom} BBS:
82\par \pard \s7\fi-1440\li1440\sa120\tqr\tx1260\tx1440\tx2880 \tab  \tab Pierre Perret
83\par \pard\plain \s253\sa240\tx2880 \b\f4\cf2 {\plain \f4\fs16 \page }{\plain \f4\fs16\up6 ${\footnote \pard\plain \s245 \f4\fs20 {\fs16\up6 $} Copyright}}{\plain \f4\fs16  }{\plain \f4\fs16\up6 #{\footnote \pard\plain \s245 \f4\fs20 {\fs16\up6 #} Copyright}}
84{\plain \f4\fs16\up6 +{\footnote \pard\plain \s245 \f4\fs20 {\fs16\up6 +} Index:9030}} {\plain \f4\fs16\up6 K{\footnote \pard\plain \s245 \f4\fs20 {\fs16\up6 K} copyright;licence;author;credits}} Copyright
85\par \pard\plain \s6\sa120 \f4\fs20 MicroEMACS is Copyright \'a9 1988 thru 1996 by {\uldb Daniel M. Lawrence}{\v DanielLawrence}
86. MicroEMACS 4.0 can be copied and distributed freely for any non-commercial purposes. Commercial users may use MicroEMACS 4.0 in house. Shareware distributors may redistribute MicroEMACS 4.0 for media costs only. MicroEMACS 4.0 can only be incorporated i
87nto commercial software or resold with the permission of the current author.
88\par This help file was originally authored by {\uldb Pierre Perret}{\v PierrePerret}.
89\par \pard\plain \s254\qc\sa240 \b\f4\fs30\cf2 {\fs16 \page }{\plain \f4\fs16\up6 ${\footnote \pard\plain \s245 \f4\fs20 {\fs16\up6 $} Keyboard}}{\fs16  }{\fs16\up6 #{\footnote \pard\plain \s245 \f4\fs20 {\fs16\up6 #} Keyboard}} {\fs16\up6 +{\footnote
90\pard\plain \s245 \f4\fs20 {\fs16\up6 +} Index:2010}} {\plain \f4\fs16\up6 K{\footnote \pard\plain \s245 \f4\fs20 {\fs16\up6 K} keyboard;binding}} Keyboard
91\par \pard\plain \s6\sa120 \f4\fs20 All the MicroEMACS documentation talks about {\ul commands}{\v Command} and the {\uldb keystrokes}{\v Keystroke} needed to use them. Each MicroEMACS command has a name, and most of them are {\ul bound}{\v Binding}
92 to a sequence of keys. Some of them are bound to {\uldb mouse actions}{\v MouseAction}. The following commands are useful when looking for a binding:
93\par \pard\plain \s3\fi-2880\li2880\tqr\tx720\tx900\tx2880 \f4\fs20 \tab {\ul M-?}{\v Keystroke}\tab {\uldb apropos}{\v apropos}\tab looks up commands
94\par \tab  \tab {\uldb describe-bindings}{\v describe_bindings}\tab lists all the bindings
95\par \pard \s3\fi-2880\li2880\sa120\tqr\tx720\tx900\tx2880 \tab {\ul ^X?}{\v Keystroke}\tab {\uldb describe-key}{\v describe_key}\tab displays the command bound to a keystroke
96\par \pard\plain \s6\sa120 \f4\fs20 In this help file, when a command is mentioned, its default key binding is often shown. Note that these bindings can be {\uldb modified}{\v CustomizingCommandKeys}, in particular by the {\uldb start-up file}{\v StartupFile}.
97
98\par Keystrokes for commands include one of several prefixes, and a command character. Command keystrokes look like these:
99\par \pard\plain \s14\fi-900\li900\tqr\tx720\tx900 \f4\fs20 \tab {\ul ^A}{\v Keystroke}\tab hold down Ctrl, press 'A'
100\par \tab {\ul M-A}{\v Keystroke}\tab press the {\ul meta key}{\v MetaKey}, release it and press 'A'
101\par \tab {\ul ^XA}{\v Keystroke}\tab hold down Ctrl, press 'X', release, press 'A'
102\par \tab {\ul ^X^A}{\v Keystroke}\tab hold down Ctrl, press 'X', release, hold Ctrl, press 'A'
103\par \tab {\ul A-C}{\v Keystroke}\tab hold down Alt, press 'C'
104\par \tab {\ul S-FN1}{\v Keystroke}\tab hold down Shift, press function key F1
105\par \pard \s14\fi-900\li900\sa120\tqr\tx720\tx900 \tab {\ul FN^1}{\v Keystroke}\tab hold down Ctrl, press function key F1
106\par \pard\plain \s6\sa120 \f4\fs20 Under Microsoft Windows, key bindings are displayed in front of {\uldb menu items}{\v UsingMenus}
107, using a CUA type syntax instead of the above-mentioned one. Though this may seem inconsistent, it looks more familiar to inexperienced users and is far less cryptic when it comes to special keys (Ins, Del, Arrows...).
108\par \pard\plain \s254\qc\sa240 \b\f4\fs30\cf2 {\plain \f4\fs16\cf2 \page }{\plain \f4\fs16\up6 ${\footnote \pard\plain \s245 \f4\fs20 {\fs16\up6 $} Procedures}}{\fs16\up6  #{\footnote \pard\plain \s245 \f4\fs20 {\fs16\up6 #} Procedures} }{\plain \f4\fs16\up6
109+{\footnote \pard\plain \s245 \f4\fs20 {\fs16\up6 +} Index:2020}}{\fs16\up6  }{\plain \f4\fs16\up6 K{\footnote \pard\plain \s245 \f4\fs20 {\fs16\up6 K} procedures}}{\fs16\up6  }Procedures
110\par \pard\plain \s6\sa120 \f4\fs20 {\uldb The Basics}{\v TheBasics}:
111\par \pard\plain \s11\li360\tx2880 \f4\fs20 {\uldb Getting at Files}{\v GettingAtFiles}
112\par {\uldb Searching and Replacing}{\v SearchingAndReplacing}
113\par {\uldb Cutting and Pasting}{\v CuttingAndPasting}
114\par {\uldb Using the Mouse}{\v UsingTheMouse}
115\par {\uldb Using Menus}{\v UsingMenus}
116\par {\uldb Customizing Command Keys}{\v CustomizingCommandKeys}
117\par {\uldb Issuing Commands by Name}{\v IssuingCommands}
118\par \pard \s11\li360\sa120\tx2880 {\uldb The Outside World}{\v TheOutsideWorld}
119\par \pard\plain \s6\sa120 \f4\fs20 Juggling:
120\par \pard\plain \s11\li360\tx2880 \f4\fs20 {\uldb Buffers}{\v Buffers}
121\par {\uldb Regions}{\v Regions}
122\par {\uldb Paragraphs}{\v Paragraphs}
123\par {\uldb Words}{\v Words}
124\par {\uldb Screens}{\v Screens}
125\par {\uldb Windows}{\v Windows}
126\par {\uldb Setting Colors}{\v Colors}
127\par \pard \s11\li360\sa120\tx2880 {\uldb Setting the Font}{\v Fonts}
128\par \pard\plain \s6\sa120 \f4\fs20 Advanced topics:
129\par \pard\plain \s11\li360\tx2880 \f4\fs20 {\uldb Case Control}{\v CaseControl}
130\par {\uldb Undoing Your Edits}{\v UndoingYourEdits}
131\par {\uldb Controlling Tabs}{\v ControllingTabs}
132\par {\uldb Repetitive Tasks}{\v RepetitiveTasks}
133\par {\uldb Narrowing Your Scope}{\v NarrowingYourScope}
134\par {\uldb Creating New Commands}{\v CreatingNewCommands}
135\par \pard \s11\li360\sa120\tx2880 {\uldb Customizing Menus}{\v CustomizingMenus}
136\par \pard\plain \s253\sa240\tx2880 \b\f4\cf2 {\fs16 \page }{\plain \f4\fs16\up6 ${\footnote \pard\plain \s245 \f4\fs20 {\fs16\up6 $} The Basics}}{\fs16  }{\fs16\up6 #{\footnote \pard\plain \s245 \f4\fs20 {\fs16\up6 #} TheBasics}} {\fs16\up6 +{\footnote
137\pard\plain \s245 \f4\fs20 {\up6 +} Procedures:010}} {\plain \f4\fs16\up6 K{\footnote \pard\plain \s245 \f4\fs20 {\fs16\up6 K} basics;introduction}} The Basics
138\par \pard\plain \s6\sa120 \f4\fs20 MicroEMACS is a very powerful tool to use for editing text files. It has many {\ul commands}{\v Command}, options and features to let you do
139 just about anything you can imagine with text. But don't let this apparent complexity keep you from using it.... MicroEMACS can also be very simple.
140\par To start editing text, all the keys you really need to know are the arrow keys. These keys let you move around in your file.
141\par MicroEMACS also works by using control keys. Here are a few basic commands:
142\par \pard\plain \s14\fi-900\li900\tqr\tx720\tx900 \f4\fs20 \tab {\ul ^P}{\v Keystroke}\tab Move upward
143\par \tab {\ul ^B}{\v Keystroke}\tab Move backward
144\par \tab {\ul ^F}{\v Keystroke}\tab Move forward
145\par \tab {\ul ^N}{\v Keystroke}\tab Move downward
146\par \tab {\ul ^X^S}{\v Keystroke}\tab Save your file
147\par \pard \s14\fi-900\li900\sa120\tqr\tx720\tx900 \tab {\ul ^X^C}{\v Keystroke}\tab Exit MicroEMACS
148\par \pard\plain \s6\sa120 \f4\fs20 A hat sign "{\b ^}" before a key means to hold the Ctrl key down and press the next character. For example, to exit MicroEMACS, hold down the Ctrl key and strike X and then C.
149\par \pard\plain \s253\sa240\tx2880 \b\f4\cf2 {\plain \f4\fs16 \page }{\plain \f4\fs16\up6 ${\footnote \pard\plain \s245 \f4\fs20 {\fs16\up6 $} Getting at Files}}{\plain \f4\fs16  }{\fs16\up6 #{\footnote \pard\plain \s245 \f4\fs20 {\fs16\up6 #} GettingAtFiles}
150} {\fs16\up6 +{\footnote \pard\plain \s245 \f4\fs20 {\fs16\up6 +} Procedures:020}} {\plain \f4\fs16\up6 K{\footnote \pard\plain \s245 \f4\fs20 {\fs16\up6 K} file;open;save;read;write}} Getting at Files
151\par \pard\plain \s6\sa120 \f4\fs20 The way you edit a file within MicroEMACS is by first reading it into a {\ul buffer}{\v\ul Buffer}, altering it and then saving it. Therefore, the most commonly used {\ul commands}{\v Command} to access files are:
152\par \pard\plain \s3\fi-2880\li2880\tqr\tx720\tx900\tx2880 \f4\fs20 \tab {\ul ^X^F}{\v Keystroke}\tab {\uldb find-file}{\v find_file}\tab to read a file from disk for editing
153\par \pard \s3\fi-2880\li2880\sa120\tqr\tx720\tx900\tx2880 \tab {\ul ^X^S}{\v Keystroke}\tab {\uldb save-file}{\v save_file}\tab to save an edited file to disk
154\par \pard\plain \s6\sa120 \f4\fs20 Other read commands are:
155\par \pard\plain \s3\fi-2880\li2880\tqr\tx720\tx900\tx2880 \f4\fs20 \tab {\ul ^X^I}{\v Keystroke}\tab {\uldb insert-file}{\v insert_file}\tab to insert at the {\ul point}{\v Point}
156\par \tab {\ul ^X^R}{\v Keystroke}\tab {\uldb read-file}{\v read_file}\tab to replace the whole buffer contents
157\par \pard \s3\fi-2880\li2880\sa120\tqr\tx720\tx900\tx2880 \tab {\ul ^X^V}{\v Keystroke}\tab {\uldb view-file}{\v view_file}\tab to read for viewing, preventing any alterations
158\par \pard\plain \s6\sa120 \f4\fs20 To save a buffer to another file than the one MicroEMACS would normally access, use:
159\par \pard\plain \s3\fi-2880\li2880\tqr\tx720\tx900\tx2880 \f4\fs20 \tab {\ul ^X^W}{\v Keystroke}\tab {\uldb write-file}{\v write_file}\tab to overwrite the file's previous contents
160\par \pard \s3\fi-2880\li2880\sa120\tqr\tx720\tx900\tx2880 \tab {\ul ^X^A}{\v Keystroke}\tab {\uldb append-file}{\v append_file}\tab to append to the end of the file
161\par \pard\plain \s253\sa240\tx2880 \b\f4\cf2 {\fs16 \page }{\plain \f4\fs16\up6 ${\footnote \pard\plain \s245 \f4\fs20 {\fs16\up6 $} Searching and Replacing}}{\fs16  }{\fs16\up6 #{\footnote \pard\plain \s245 \f4\fs20 {\fs16\up6 #} SearchingAndReplacing}} {
162\fs16\up6 +{\footnote \pard\plain \s245 \f4\fs20 {\fs16\up6 +} Procedures:030}} {\plain \f4\fs16\up6 K{\footnote \pard\plain \s245 \f4\fs20 {\fs16\up6 K} search;replace}} Searching and Replacing
163\par \pard\plain \s6\sa120 \f4\fs20 Commands for searching for and replacing strings come in a number of different flavors. The simplest {\ul command}{\v Command} is:
164\par \pard\plain \s3\fi-2880\li2880\sa120\tqr\tx720\tx900\tx2880 \f4\fs20 \tab {\ul ^S}{\v Keystroke}\tab {\uldb search-forward}{\v search_forward}
165\par \pard\plain \s6\sa120 \f4\fs20 Following that, you can search for yet another occurrence of the same string by using:
166\par \pard\plain \s3\fi-2880\li2880\sa120\tqr\tx720\tx900\tx2880 \f4\fs20 \tab {\ul A-S}{\v Keystroke}\tab {\uldb hunt-forward}{\v\uldb hunt_forward}
167\par \pard\plain \s6\sa120 \f4\fs20 You can also search towards the beginning of the file instead of towards the end by using:
168\par \pard\plain \s3\fi-2880\li2880\tqr\tx720\tx900\tx2880 \f4\fs20 \tab {\ul ^R}{\v Keystroke}\tab {\uldb search-reverse}{\v\uldb search_reverse}
169\par \pard \s3\fi-2880\li2880\sa120\tqr\tx720\tx900\tx2880 \tab {\ul A-R}{\v Keystroke}\tab {\uldb hunt-backward}{\v\uldb hunt_backward}
170\par \pard\plain \s6\sa120 \f4\fs20 To replace strings, use:
171\par \pard\plain \s3\fi-2880\li2880\tqr\tx720\tx900\tx2880 \f4\fs20 \tab {\ul M-R}{\v Keystroke}\tab {\uldb replace-string}{\v\uldb replace_string}\tab to replace all occurrences
172\par \pard \s3\fi-2880\li2880\sa120\tqr\tx720\tx900\tx2880 \tab {\ul M-^R}{\v Keystroke}\tab {\uldb query-replace-string}{\v\uldb query_replace_string}\tab to get queried for each replacement{\uldb
173\par }\pard\plain \s6\sa120 \f4\fs20 MicroEMACS also supports incremental searching:
174\par \pard\plain \s3\fi-3600\li3600\tqr\tx720\tx900\tx3600 \f4\fs20 \tab {\ul ^XS}{\v Keystroke}\tab {\uldb incremental-search}{\v incremental_search}\tab towards the beginning
175\par \pard \s3\fi-3600\li3600\sa120\tqr\tx720\tx900\tx3600 \tab {\ul ^XR}{\v Keystroke}\tab {\uldb reverse-incremental-search}{\v reverse_incremental_search}\tab towards the end
176\par \pard\plain \s253\sa240\tx2880 \b\f4\cf2 {\plain \f4\fs16 \page }{\plain \f4\fs16\up6 ${\footnote \pard\plain \s245 \f4\fs20 {\fs16\up6 $} Cutting and Pasting}}{\plain \f4\fs16  }{\fs16\up6 #{\footnote \pard\plain \s245 \f4\fs20 {\fs16\up6 #}
177 CuttingAndPasting}} {\fs16\up6 +{\footnote \pard\plain \s245 \f4\fs20 {\fs16\up6 +} Procedures:040}} {\plain \f4\fs16\up6 K{\footnote \pard\plain \s245 \f4\fs20 {\fs16\up6 K} cut;paste;move;kill;copy;clipboard}} Cutting and Pasting
178\par \pard\plain \s6\sa120 \f4\fs20 MicroEMACS allows you to manipulate text by blocks of any size. You can {\uldb copy}{\v CopyingText} or {\uldb move}{\v MovingText} text within MicroEMACS through the {\ul kill buffer}{\v\ul KillBuffer}.
179\par Under Microsoft Windows, you can also exchange text with other Windows applications via the {\ul clipboard}{\v Clipboard}, using the {\uldb cut-region}{\v\uldb cut_region}, {\uldb clip-region}{\v\uldb clip_region} and {\uldb insert-clip}{\v\uldb
180insert_clip} commands.
181\par \pard\plain \s252\sa120\tx2880 \b\f4 {\fs16 \page }{\plain \f4\fs16\up6 ${\footnote \pard\plain \s245 \f4\fs20 {\fs16\up6 $} Moving Text}}{\fs16  }{\fs16\up6 #{\footnote \pard\plain \s245 \f4\fs20 {\fs16\up6 #} MovingText} +{\footnote \pard\plain \s245
182\f4\fs20 {\fs16\up6 +} CuttingAndPasting:movingtext} }{\plain \f4\fs16\up6 K{\footnote \pard\plain \s245 \f4\fs20 {\fs16\up6 K} move}}{\fs16\up6  }Moving Text
183\par \pard\plain \s6\sa120 \f4\fs20 To move text from one place to another:
184\par \pard\plain \s8\fi-360\li360\sa120\tx360\tx1440\tx2880\tx3600\tx4320 \f4\fs20 1.\tab Move to the beginning of the text you want to move.
185\par 2.\tab Set the {\ul mark}{\v\ul Mark} there with the {\uldb set-mark}{\v\uldb set_mark} ({\ul M- }{\v Keystroke}) command.
186\par 3.\tab Move the {\ul point}{\v\ul Point} to the end of the text.
187\par 4.\tab Use the {\uldb kill-region}{\v\uldb kill_region} ({\ul ^W}{\v Keystroke}) command to delete the {\ul region}{\v region} you just defined. The text will be saved in the {\ul kill buffer}{\v\uldb KillBuffer}.
188\par 5.\tab Move the point to the place you want the text to appear.
189\par 6.\tab Use the {\uldb yank}{\v yank} ({\ul ^Y}{\v Keystroke}) command to copy the text from the kill buffer to the current point.
190\par \pard\plain \s6\sa120 \f4\fs20 Repeat steps 5 and 6 to insert more copies of the same text.
191\par \pard\plain \s252\sa120\tx2880 \b\f4 {\fs16 \page }{\plain \f4\fs16\up6 ${\footnote \pard\plain \s245 \f4\fs20 {\fs16\up6 $} Copying Text}}{\fs16  }{\fs16\up6 #{\footnote \pard\plain \s245 \f4\fs20 {\fs16\up6 #} CopyingText}} {\fs16\up6 +{\footnote
192\pard\plain \s245 \f4\fs20 {\fs16\up6 +} CuttingAndPasting:copyingtext}} {\plain \f4\fs16\up6 K{\footnote \pard\plain \s245 \f4\fs20 {\fs16\up6 K} copy}} Copying Text
193\par \pard\plain \s6\sa120 \f4\fs20 To copy text from one place to another:
194\par \pard\plain \s8\fi-360\li360\sa120\tx360\tx1440\tx2880\tx3600\tx4320 \f4\fs20 1.\tab Move to the beginning of the text you want to copy.
195\par 2.\tab Set the {\ul mark}{\v\ul Mark} there with the {\uldb set-mark}{\v\uldb set_mark} ({\ul M- }{\v Keystroke}) command.
196\par 3.\tab Move the {\ul point}{\v\ul Point} to the end of the text.
197\par 4.\tab Use the {\uldb copy-region}{\v copy_region} ({\ul M-W}{\v Keystroke}) command to copy the {\ul region}{\v Region} to the {\ul kill buffer}{\v\uldb KillBuffer}.
198\par 5.\tab Move the point to the place you want the text to appear.
199\par 6.\tab Use the {\uldb yank}{\v yank} ({\ul ^Y}{\v Keystroke}) command to copy the text from the kill buffer to the current point.
200\par \pard\plain \s6\sa120 \f4\fs20 Repeat steps 5 and 6 to insert more copies of the same text.
201\par \pard\plain \s253\sa240\tx2880 \b\f4\cf2 {\fs16 \page }{\plain \f4\fs16\up6 ${\footnote \pard\plain \s245 \f4\fs20 {\fs16\up6 $} Using the Mouse}}{\fs16  }{\fs16\up6 #{\footnote \pard\plain \s245 \f4\fs20 {\fs16\up6 #} UsingTheMouse}} {\fs16\up6 +
202{\footnote \pard\plain \s245 \f4\fs20 {\fs16\up6 +} Procedures:050}} {\plain \f4\fs16\up6 K{\footnote \pard\plain \s245 \f4\fs20 {\fs16\up6 K} mouse}} Using the Mouse
203\par \pard\plain \s6\sa120 \f4\fs20 MicroEMACS can use the mouse to perform many basic editing tasks. Unless mouse behavior has been altered by a {\ul macro}{\v Macro}, you can perform the following actions:
204\par \pard\plain \s11\li360\tx2880 \f4\fs20 {\uldb Copying a Region}{\v CopyARegion}
205\par {\uldb Killing a Region}{\v KillARegion}
206\par {\uldb Moving a Mode Line}{\v MovingAModeLine}
207\par {\uldb Pasting Text}{\v PastingText}
208\par {\uldb Repositioning the Point}{\v RepositioningThePoint}
209\par \pard \s11\li360\sa120\tx2880 {\uldb Scrolling Text Inside a Window}{\v ScrollingTextInsideAWindow}
210\par \pard\plain \s252\sa120\tx2880 \b\f4 {\fs16 \page }{\plain \f4\fs16\up6 ${\footnote \pard\plain \s245 \f4\fs20 {\fs16\up6 $} Repositioning the Point with the Mouse}}{\fs16  }{\fs16\up6 #{\footnote \pard\plain \s245 \f4\fs20 {\fs16\up6 #}
211 RepositioningThePoint}} {\fs16\up6 +{\footnote \pard\plain \s245 \f4\fs20 {\fs16\up6 +} UsingTheMouse:repositioningthepoint}} {\plain \f4\fs16\up6 K{\footnote \pard\plain \s245 \f4\fs20 {\fs16\up6 K} position;point;mouse}}
212 Repositioning the Point with the Mouse
213\par \pard\plain \s6\sa120 \f4\fs20 Move the mouse to where you want the {\ul point}{\v Point} to be, and click once with the left mouse button and release. The point will move there, making any {\ul screen}{\v Screen} or {\ul window}{\v Window}
214 active to do so.
215\par \pard\plain \s252\sa120\tx2880 \b\f4 {\fs16 \page }{\plain \f4\fs16\up6 ${\footnote \pard\plain \s245 \f4\fs20 {\fs16\up6 $} Scrolling Text Inside a Window with the Mouse}}{\fs16  }{\fs16\up6 #{\footnote \pard\plain \s245 \f4\fs20 {\fs16\up6 #}
216 ScrollingTextInsideAWindow}} {\fs16\up6 +{\footnote \pard\plain \s245 \f4\fs20 {\fs16\up6 +} UsingTheMouse:scrollingtextinsideawindow}} {\plain \f4\fs16\up6 K{\footnote \pard\plain \s245 \f4\fs20 {\fs16\up6 K} scroll;mouse}}
217 Scrolling Text Inside a Window with the Mouse
218\par \pard\plain \s6\sa120 \f4\fs20 Position the mouse on the text to drag, press the left button, move the mouse to where to display the text (horizontally or vertically), and release the mouse button.
219\par If you are using the {\uldb CUA.CMD}{\v CUA.CMD} {\ul page}{\v\ul Page} (which is usually the case under Microsoft Windows), the above action is performed by pressing the {\b right} mouse button instead of the left one.
220\par Note that if you drag diagonally and the {\uldb $diagflag}{\v _diagflag} {\ul variable}{\v Variable} is set to FALSE (the default value), the text will move only in the vertical direction.
221\par \pard\plain \s252\sa120\tx2880 \b\f4 {\fs16 \page }{\plain \f4\fs16\up6 ${\footnote \pard\plain \s245 \f4\fs20 {\fs16\up6 $} Moving a Mode Line with the Mouse}}{\fs16  }{\fs16\up6 #{\footnote \pard\plain \s245 \f4\fs20 {\fs16\up6 #} MovingAModeLine}} {
222\fs16\up6 +{\footnote \pard\plain \s245 \f4\fs20 {\fs16\up6 +} UsingTheMouse:movingamodeline}} {\plain \f4\fs16\up6 K{\footnote \pard\plain \s245 \f4\fs20 {\fs16\up6 K} mode line;mouse}} Moving a Mode Line with the Mouse
223\par \pard\plain \s6\sa120 \f4\fs20 Position the mouse on a {\ul mode line}{\v ModeLine} (except the bottom one which cannot be moved), press the left button, move to another position and release the button. The mode line will move, resizing the {\ul windows}{
224\v Window} which are above and below.
225\par If you are using the {\uldb CUA.CMD}{\v CUA.CMD} {\ul page}{\v\ul Page} (which is usually the case under Microsoft Windows), the above action is performed by pressing the {\b right} mouse button instead of the left one.
226\par \pard\plain \s252\sa120\tx2880 \b\f4 {\fs16 \page }{\plain \f4\fs16\up6 ${\footnote \pard\plain \s245 \f4\fs20 {\fs16\up6 $} Copying a Region with the Mouse}}{\fs16  }{\fs16\up6 #{\footnote \pard\plain \s245 \f4\fs20 {\fs16\up6 #} CopyARegion}} {
227\fs16\up6 +{\footnote \pard\plain \s245 \f4\fs20 {\fs16\up6 +} UsingTheMouse:copyingaregion}} {\plain \f4\fs16\up6 K{\footnote \pard\plain \s245 \f4\fs20 {\fs16\up6 K} copy;region;mouse}} Copying a Region with the Mouse
228\par \pard\plain \s6\sa120 \f4\fs20 Position the mouse at the beginning of the text to be copied, press the right button, move the mouse to the other end of the text, release the button. This actually makes the selected text the current {\ul region}{\v Region}
229 and then copies it into the {\ul kill buffer}{\v KillBuffer}.
230\par If you are using the {\uldb CUA.CMD}{\v CUA.CMD} {\ul page}{\v\ul Page} (which is usually the case under Microsoft Windows), the above action is performed by pressing the {\b Shift }key and the {\b right}
231 mouse button together instead of just the right mouse button.
232\par \pard\plain \s252\sa120\tx2880 \b\f4 {\fs16 \page }{\plain \f4\fs16\up6 ${\footnote \pard\plain \s245 \f4\fs20 {\fs16\up6 $} Killing a Region with the Mouse}}{\fs16  }{\fs16\up6 #{\footnote \pard\plain \s245 \f4\fs20 {\fs16\up6 #} KillARegion}} {
233\fs16\up6 +{\footnote \pard\plain \s245 \f4\fs20 {\fs16\up6 +} UsingTheMouse:killingaregion}} {\plain \f4\fs16\up6 K{\footnote \pard\plain \s245 \f4\fs20 {\fs16\up6 K} kill;delete;region;mouse}} Killing a Region with the Mouse
234\par \pard\plain \s6\sa120 \f4\fs20 After {\uldb copying a region}{\v CopyARegion}, without moving the mouse, click the right mouse button once. The text will be deleted, but it will still be kept in the {\ul kill buffer}{\v KillBuffer}.
235\par If you are using the {\uldb CUA.CMD}{\v CUA.CMD} {\ul page}{\v\ul Page} (which is usually the case under Microsoft Windows), the above action is performed by pressing the {\b Shift }key and the {\b right}
236 mouse button together instead of just the right mouse button.
237\par \pard\plain \s252\sa120\tx2880 \b\f4 {\fs16 \page }{\plain \f4\fs16\up6 ${\footnote \pard\plain \s245 \f4\fs20 {\fs16\up6 $} Pasting Text with the Mouse}}{\fs16  }{\fs16\up6 #{\footnote \pard\plain \s245 \f4\fs20 {\fs16\up6 #} PastingText}} {\fs16\up6 +
238{\footnote \pard\plain \s245 \f4\fs20 {\fs16\up6 +} UsingTheMouse:pastingtext}} {\plain \f4\fs16\up6 K{\footnote \pard\plain \s245 \f4\fs20 {\fs16\up6 K} paste;mouse}} Pasting Text with the Mouse
239\par \pard\plain \s6\sa120 \f4\fs20 Move anywhere away from the place the mouse was last clicked, and click the right button once. The last text placed in the {\ul kill buffer}{\v KillBuffer} will be inserted there.
240\par If you are using the {\uldb CUA.CMD}{\v CUA.CMD} {\ul page}{\v\ul Page} (which is usually the case under Microsoft Windows), the above action is performed by pressing the {\b Shift }key and the {\b right}
241 mouse button together instead of just the right mouse button.
242\par \pard\plain \s253\sa240\tx2880 \b\f4\cf2 {\plain \f4\fs16 \page }{\plain \f4\fs16\up6 ${\footnote \pard\plain \s245 \f4\fs20 {\fs16\up6 $} Using Menus}} {\plain \f4\fs16\up6 #{\footnote \pard\plain \s245 \f4\fs20 {\fs16\up6 #} UsingMenus}} {\plain
243\f4\fs16\up6 +{\footnote \pard\plain \s245 \f4\fs20 {\fs16\up6 +} Procedures:060}} {\plain \f4\fs16\up6 K{\footnote \pard\plain \s245 \f4\fs20 {\fs16\up6 K} menu}} Using menus
244\par \pard\plain \s6\sa120 \f4\fs20 Under Microsoft Windows, MicroEMACS sports an extensive menu system. Menu items can point to a pop-up menu or directly invoke a {\ul command}{\v Command} or a {\ul macro}{\v Macro}
245. A few menu items are not linked to any MicroEMACS commands or macro (for instance, the "{\ul A}bout..." item in the "{\ul H}elp" menu).
246\par The text of each menu item can contain the following hints:
247\par \pard\plain \s8\fi-360\li360\sa120\tx360\tx1440\tx2880\tx3600\tx4320 \f4\fs20 \tab Items that lead to the apparition of a dialog box are followed by an ellipsis "{\b ...}".
248\par \tab Items that require the user to type additional information in the {\ul message line}{\v MessageLine} are followed by a colon "{\b :}".
249\par \tab Items that require a {\ul numeric argument}{\v Argument} are preceded by an equal sign "{\b =}".
250\par \tab Items that are equivalent to a key {\ul binding}{\v Binding} have the corresponding key sequence displayed on the right side of the menu.
251\par \pard\plain \s6\sa120 \f4\fs20 The MicroEMACS menus can be {\uldb modified}{\v CustomizingMenus} by {\uldb macros}{\v MacroLanguage} to add/remove menus or menu items. The initial menus on the menu bar are:
252\par \pard\plain \s11\li360\tx2880 \f4\fs20 {\uldb File}{\v FileMenu}
253\par {\uldb Edit}{\v EditMenu}
254\par {\uldb Search}{\v SearchMenu}
255\par {\uldb Execute}{\v ExecuteMenu}
256\par {\uldb Miscellaneous}{\v MiscellaneousMenu}
257\par {\uldb Screen}{\v ScreenMenu}
258\par \pard \s11\li360\sa120\tx2880 {\uldb Help}{\v HelpMenu}
259\par \pard\plain \s252\sa120\tx2880 \b\f4 {\plain \f4\fs16\up6 \page ${\footnote \pard\plain \s245 \f4\fs20 {\fs16\up6 $} File menu}} {\plain \f4\fs16\up6 #{\footnote \pard\plain \s245 \f4\fs20 {\fs16\up6 #} FileMenu}} {\plain \f4\fs16\up6 +{\footnote
260\pard\plain \s245 \f4\fs20 {\fs16\up6 +} UsingMenus:050}} File menu
261\par \pard\plain \s6\sa120 \f4\fs20 This {\uldb menu}{\v UsingMenus} contains the following items:
262\par \pard\plain \s2\fi-2520\li2880\sa120\tx2880 \f4\fs20 Open...\tab invokes the {\uldb find-file}{\v find_file} command. If the {\uldb MDI.CMD}{\v MDI.CMD} {\ul page}{\v Page} is loaded, this menu item is modified and {\ul bound}{\v Binding} to the {\uldb
263open-file}{\v open_file} {\ul macro}{\v Macro}
264\par View...\tab invokes the {\uldb view-file}{\v view_file} command
265\par Insert...\tab invokes the {\uldb insert-file}{\v insert_file} command
266\par Read over...\tab invokes the {\uldb read-file}{\v read_file} command
267\par Rename...\tab invokes the {\uldb change-file-name}{\v change_file_name} command
268\par Save\tab invokes the {\uldb save-file}{\v save_file} command
269\par Save as...\tab invokes the {\uldb write-file}{\v write_file} command
270\par Append...\tab invokes the {\uldb append-file}{\v append_file} command
271\par Encryption key :\tab invokes the {\uldb set-encryption-key}{\v set_encryption_key} command
272\par {\uldb Buffer}{\v BufferSubmenu}\tab submenu
273\par {\uldb Window}{\v WindowSubmenu}\tab submenu
274\par Mode...\tab brings up a dialog box to change the {\uldb modes of operation}{\v ModesOfOperation} for the current {\ul buffer}{\v Buffer}.
275\par Global mode...\tab brings up a dialog box to change the {\uldb global modes of operation}{\v ModesOfOperation}.
276\par Save + exit\tab invokes the {\uldb quick-exit}{\v quick_exit} command
277\par Exit\tab invokes the {\uldb exit-emacs}{\v exit_emacs} command
278\par \pard\plain \s251\sa120\tx2880 \b\f4\fs20 {\plain \f4\fs16\up6 \page ${\footnote \pard\plain \s245 \f4\fs20 {\fs16\up6 $} Buffer submenu}} {\plain \f4\fs16\up6 #{\footnote \pard\plain \s245 \f4\fs20 {\fs16\up6 #} BufferSubmenu}} {\plain \f4\fs16\up6 +
279{\footnote \pard\plain \s245 \f4\fs20 {\fs16\up6 +} FileMenu:050}} Buffer submenu
280\par \pard\plain \s6\sa120 \f4\fs20 This {\uldb menu}{\v UsingMenus} is accessed via the {\uldb File menu}{\v FileMenu}. It contains the following items:
281\par \pard\plain \s2\fi-2520\li2880\sa120\tx2880 \f4\fs20 Next\tab invokes the {\uldb next-buffer}{\v next_buffer} command
282\par Select :\tab invokes the {\uldb select-buffer}{\v select_buffer} command
283\par Unmark\tab invokes the {\uldb unmark-buffer}{\v unmark_buffer} command
284\par Rename :\tab invokes the {\uldb name-buffer}{\v name_buffer} command
285\par Delete :\tab invokes the {\uldb delete-buffer}{\v delete_buffer} command
286\par Narrow to region\tab invokes the {\uldb narrow-to-region}{\v narrow_to_region} command
287\par Widen from region\tab invokes the {\uldb widen-from-region}{\v widen_from_region} command
288\par List\tab invokes the {\uldb list-buffers}{\v list_buffers} command
289\par \pard\plain \s251\sa120\tx2880 \b\f4\fs20 {\plain \f4\fs16\up6 \page ${\footnote \pard\plain \s245 \f4\fs20 {\fs16\up6 $} Window submenu}} {\plain \f4\fs16\up6 #{\footnote \pard\plain \s245 \f4\fs20 {\fs16\up6 #} WindowSubmenu}} {\plain \f4\fs16\up6 +
290{\footnote \pard\plain \s245 \f4\fs20 {\fs16\up6 +} FileMenu:060}} Window submenu
291\par \pard\plain \s6\sa120 \f4\fs20 This {\uldb menu}{\v UsingMenus} is accessed via the {\uldb File menu}{\v FileMenu}. It contains the following items:
292\par \pard\plain \s2\fi-2520\li2880\sa120\tx2880 \f4\fs20 Split\tab invokes the {\uldb split-current-window}{\v split_current_window} command
293\par Delete\tab invokes the {\uldb delete-window}{\v delete_window} command
294\par Delete others\tab invokes the {\uldb delete-other-windows}{\v delete_other_windows} command
295\par Next\tab invokes the {\uldb next-window}{\v next_window} command
296\par Previous\tab invokes the {\uldb previous-window}{\v previous_window} command
297\par {\uldb Scroll}{\v ScrollSubmenu}\tab submenu
298\par {\uldb Size}{\v WSizeSubmenu}\tab submenu
299\par \pard\plain \s251\sa120\tx2880 \b\f4\fs20 {\plain \f4\fs16\up6 \page ${\footnote \pard\plain \s245 \f4\fs20 {\fs16\up6 $} Window Scroll submenu}} {\plain \f4\fs16\up6 #{\footnote \pard\plain \s245 \f4\fs20 {\fs16\up6 #} ScrollSubmenu}} {\plain
300\f4\fs16\up6 +{\footnote \pard\plain \s245 \f4\fs20 {\fs16\up6 +} WindowSubmenu:050}} Window Scroll submenu
301\par \pard\plain \s6\sa120 \f4\fs20 This {\uldb menu}{\v UsingMenus} is accessed via the {\uldb Window submenu}{\v WindowSubmenu} of the {\uldb File menu}{\v FileMenu}. It contains the following items:
302\par \pard\plain \s2\fi-2520\li2880\sa120\tx2880 \f4\fs20 = Up\tab invokes the {\uldb move-window-up}{\v move_window_up} command
303\par = Down\tab invokes the {\uldb move-window-down}{\v move_window_down} command
304\par = Next up\tab invokes the {\uldb scroll-next-up}{\v scroll_next_up} command
305\par = Next down\tab invokes the {\uldb scroll-next-down}{\v scroll_next_down} command
306\par \pard\plain \s251\sa120\tx2880 \b\f4\fs20 {\plain \f4\fs16\up6 \page ${\footnote \pard\plain \s245 \f4\fs20 {\fs16\up6 $} Window Size submenu}} {\plain \f4\fs16\up6 #{\footnote \pard\plain \s245 \f4\fs20 {\fs16\up6 #} WSizeSubmenu}} {\plain \f4\fs16\up6 +
307{\footnote \pard\plain \s245 \f4\fs20 {\fs16\up6 +} WindowSubmenu:060}} Window Size submenu
308\par \pard\plain \s6\sa120 \f4\fs20 This {\uldb menu}{\v UsingMenus} is accessed via the {\uldb Window submenu}{\v WindowSubmenu} of the {\uldb File menu}{\v FileMenu}. It contains the following items:
309\par \pard\plain \s2\fi-2520\li2880\sa120\tx2880 \f4\fs20 = Grow\tab invokes the {\uldb grow-window}{\v grow_window} command
310\par = Shrink\tab invokes the {\uldb shrink-window}{\v shrink_window} command
311\par = Height\tab invokes the {\uldb resize-window}{\v resize_window} command
312\par \pard\plain \s252\sa120\tx2880 \b\f4 {\plain \f4\fs16\up6 \page ${\footnote \pard\plain \s245 \f4\fs20 {\fs16\up6 $} Edit menu}} {\plain \f4\fs16\up6 #{\footnote \pard\plain \s245 \f4\fs20 {\fs16\up6 #} EditMenu}} {\plain \f4\fs16\up6 +{\footnote
313\pard\plain \s245 \f4\fs20 {\fs16\up6 +} UsingMenus:060}} Edit menu
314\par \pard\plain \s6\sa120 \f4\fs20 This {\uldb menu}{\v UsingMenus} contains the following items:
315\par \pard\plain \s2\fi-2520\li2880\sa120\tx2880 \f4\fs20 {\uldb Clipboard}{\v ClipboardSubmenu}\tab submenu
316\par {\uldb Mark}{\v MarkSubmenu}\tab submenu
317\par Yank\tab invokes the {\uldb yank}{\v yank} command
318\par {\uldb Region}{\v RegionSubmenu}\tab submenu
319\par {\uldb Paragraph}{\v EParagraphSubmenu}\tab submenu
320\par {\uldb Line}{\v ELineSubmenu}\tab submenu
321\par {\uldb Word}{\v EWordSubmenu}\tab submenu
322\par Delete blank lines\tab invokes the {\uldb delete-blank-lines}{\v delete_blank_lines} command
323\par Transpose characters\tab invokes the {\uldb transpose-characters}{\v transpose_characters} command
324\par Tab\tab invokes the {\uldb handle-tab}{\v handle_tab} command
325\par Quote\tab invokes the {\uldb quote-character}{\v quote_character} command
326\par = Fill column\tab Resets the {\uldb $fillcol variable}. The {\uldb emacs.rc}{\v StartupFile} {\ul page}{\v Page} modifies this menu item slightly so that it prompts you for the fill column value.
327\par \pard\plain \s6\sa120 \f4\fs20 If the {\uldb CUA.CMD}{\v CUA.CMD} page is loaded, the menu is modified by the addition of the following item (before "Region"):
328\par \pard\plain \s2\fi-2520\li2880\sa120\tx2880 \f4\fs20 {\uldb Selection}{\v SelectionSubmenu}\tab submenu
329\par \pard\plain \s251\sa120\tx2880 \b\f4\fs20 {\plain \f4\fs16\up6 \page ${\footnote \pard\plain \s245 \f4\fs20 {\fs16\up6 $} Clipboard submenu}} {\plain \f4\fs16\up6 #{\footnote \pard\plain \s245 \f4\fs20 {\fs16\up6 #} ClipboardSubmenu}} {\plain
330\f4\fs16\up6 +{\footnote \pard\plain \s245 \f4\fs20 {\fs16\up6 +} EditMenu:010}} Clipboard submenu
331\par \pard\plain \s6\sa120 \f4\fs20 This {\uldb menu}{\v UsingMenus} is accessed via the {\uldb Edit menu}{\v EditMenu}. It contains the following items:
332\par \pard\plain \s2\fi-2520\li2880\sa120\tx2880 \f4\fs20 Cut region\tab invokes the {\uldb cut-region}{\v cut_region} command
333\par Copy region\tab invokes the {\uldb clip-region}{\v clip_region} command
334\par Paste\tab invokes the {\uldb insert-clip}{\v insert_clip} command
335\par \pard\plain \s6\sa120 \f4\fs20 If the {\uldb CUA.CMD}{\v CUA.CMD} page is loaded, the menu is modified and, instead, contains the following items:
336\par \pard\plain \s2\fi-2520\li2880\sa120\tx2880 \f4\fs20 Cut\tab deletes and copies to the {\ul clipboard}{\v Clipboard} the text contained in the current {\ul selection}{\v Selection}
337\par Copy\tab copies (without deleting) to the clipboard the text contained in the selection
338\par Paste\tab inserts the text from the clipboard at the {\ul point}{\v Point}
339\par \pard\plain \s251\sa120\tx2880 \b\f4\fs20 {\plain \f4\fs16\up6 \page ${\footnote \pard\plain \s245 \f4\fs20 {\fs16\up6 $} Mark submenu}} {\plain \f4\fs16\up6 #{\footnote \pard\plain \s245 \f4\fs20 {\fs16\up6 #} MarkSubmenu}} {\plain \f4\fs16\up6 +
340{\footnote \pard\plain \s245 \f4\fs20 {\fs16\up6 +} EditMenu:020}} Mark submenu
341\par \pard\plain \s6\sa120 \f4\fs20 This {\uldb menu}{\v UsingMenus} is accessed via the {\uldb Edit menu}{\v EditMenu}. It contains the following items:
342\par \pard\plain \s2\fi-2520\li2880\sa120\tx2880 \f4\fs20 Set\tab invokes the {\uldb set-mark}{\v set_mark} command
343\par Remove\tab invokes the {\uldb remove-mark}{\v remove_mark} command
344\par Exchange\tab invokes the {\uldb exchange-point-and-mark}{\v exchange_point_and_mark} command
345\par \pard\plain \s251\sa120\tx2880 \b\f4\fs20 {\plain \f4\fs16\up6 \page ${\footnote \pard\plain \s245 \f4\fs20 {\fs16\up6 $} Selection submenu}} {\plain \f4\fs16\up6 #{\footnote \pard\plain \s245 \f4\fs20 {\fs16\up6 #} SelectionSubmenu}} {\plain
346\f4\fs16\up6 +{\footnote \pard\plain \s245 \f4\fs20 {\fs16\up6 +} EditMenu:025}} Selection submenu
347\par \pard\plain \s6\sa120 \f4\fs20 This {\uldb menu}{\v UsingMenus} is accessed via the {\uldb Edit menu}{\v EditMenu} when the {\uldb CUA.CMD}{\v CUA.CMD} {\ul page}{\v Page} is loaded. It contains the following items:
348\par \pard\plain \s2\fi-2520\li2880\sa120\tx2880 \f4\fs20 Upper case\tab converts all the {\ul selected}{\v Selection} text to upper case
349\par Lower case\tab converts all the selected text to lower case
350\par Count words\tab displays on the {\ul message line}{\v MessageLine} the number of words, characters and lines that compose the selected text
351\par Flip\tab exchanges the {\ul point}{\v Point} with the other end of the selection
352\par Select region\tab makes the current {\ul region}{\v Region} the current selection
353\par \pard\plain \s251\sa120\tx2880 \b\f4\fs20 {\plain \f4\fs16\up6 \page ${\footnote \pard\plain \s245 \f4\fs20 {\fs16\up6 $} Region submenu}} {\plain \f4\fs16\up6 #{\footnote \pard\plain \s245 \f4\fs20 {\fs16\up6 #} RegionSubmenu}} {\plain \f4\fs16\up6 +
354{\footnote \pard\plain \s245 \f4\fs20 {\fs16\up6 +} EditMenu:030}} Region submenu
355\par \pard\plain \s6\sa120 \f4\fs20 This {\uldb menu}{\v UsingMenus} is accessed via the {\uldb Edit menu}{\v EditMenu}. It contains the following items:
356\par \pard\plain \s2\fi-2520\li2880\sa120\tx2880 \f4\fs20 Kill\tab invokes the {\uldb kill-region}{\v kill_region} command
357\par Copy\tab invokes the {\uldb copy-region}{\v copy_region} command
358\par Upper case\tab invokes the {\uldb case-region-upper}{\v case_region_upper} command
359\par Lower case\tab invokes the {\uldb case-region-lower}{\v case_region_lower} command
360\par Entab\tab invokes the {\uldb entab-region}{\v entab_region} command
361\par Detab\tab invokes the {\uldb detab-region}{\v detab_region} command
362\par Trim\tab invokes the {\uldb trim-region}{\v trim_region} command
363\par Indent\tab invokes the {\uldb indent-region}{\v indent_region} command
364\par Undent\tab invokes the {\uldb undent-region}{\v undent_region} command
365\par Count words\tab invokes the {\uldb count-words}{\v count_words} command
366\par \pard\plain \s251\sa120\tx2880 \b\f4\fs20 {\plain \f4\fs16\up6 \page ${\footnote \pard\plain \s245 \f4\fs20 {\fs16\up6 $} Edit Paragraph submenu}} {\plain \f4\fs16\up6 #{\footnote \pard\plain \s245 \f4\fs20 {\fs16\up6 #} EParagraphSubmenu}} {\plain
367\f4\fs16\up6 +{\footnote \pard\plain \s245 \f4\fs20 {\fs16\up6 +} EditMenu:040}} Edit Paragraph submenu
368\par \pard\plain \s6\sa120 \f4\fs20 This {\uldb menu}{\v UsingMenus} is accessed via the {\uldb Edit menu}{\v EditMenu}. It contains the following items:
369\par \pard\plain \s2\fi-2520\li2880\sa120\tx2880 \f4\fs20 Kill\tab invokes the {\uldb kill-paragraph}{\v kill_paragraph} command
370\par Fill\tab invokes the {\uldb fill-paragraph}{\v fill_paragraph} command
371\par \pard\plain \s251\sa120\tx2880 \b\f4\fs20 {\plain \f4\fs16\up6 \page ${\footnote \pard\plain \s245 \f4\fs20 {\fs16\up6 $} Edit Line submenu}} {\plain \f4\fs16\up6 #{\footnote \pard\plain \s245 \f4\fs20 {\fs16\up6 #} ELineSubmenu}} {\plain \f4\fs16\up6 +
372{\footnote \pard\plain \s245 \f4\fs20 {\fs16\up6 +} EditMenu:050}} Edit Line submenu
373\par \pard\plain \s6\sa120 \f4\fs20 This {\uldb menu}{\v UsingMenus} is accessed via the {\uldb Edit menu}{\v EditMenu}. It contains the following items:
374\par \pard\plain \s2\fi-2520\li2880\sa120\tx2880 \f4\fs20 Kill to end\tab invokes the {\uldb kill-to-end-of-line}{\v kill_to_end_of_line} command
375\par Open\tab invokes the {\uldb open-line}{\v open_line} command
376\par \pard\plain \s251\sa120\tx2880 \b\f4\fs20 {\plain \f4\fs16\up6 \page ${\footnote \pard\plain \s245 \f4\fs20 {\fs16\up6 $} Edit Word submenu}} {\plain \f4\fs16\up6 #{\footnote \pard\plain \s245 \f4\fs20 {\fs16\up6 #} EWordSubmenu}} {\plain \f4\fs16\up6 +
377{\footnote \pard\plain \s245 \f4\fs20 {\fs16\up6 +} EditMenu:060}} Edit Word submenu
378\par \pard\plain \s6\sa120 \f4\fs20 This {\uldb menu}{\v UsingMenus} contains the following items:
379\par \pard\plain \s2\fi-2520\li2880\sa120\tx2880 \f4\fs20 Kill next\tab invokes the {\uldb delete-next-word}{\v delete_next_word} command
380\par Kill previous\tab invokes the {\uldb delete-previous-word}{\v delete_previous_word} command
381\par Capitalize\tab invokes the {\uldb case-word-capitalize}{\v case_word_capitalize} command
382\par Lower case\tab invokes the {\uldb case-word-lower}{\v case_word_lower} command
383\par Upper case\tab invokes the {\uldb case-word-upper}{\v case_word_upper} command
384\par \pard\plain \s252\sa120\tx2880 \b\f4 {\plain \f4\fs16\up6 \page ${\footnote \pard\plain \s245 \f4\fs20 {\fs16\up6 $} Search menu}} {\plain \f4\fs16\up6 #{\footnote \pard\plain \s245 \f4\fs20 {\fs16\up6 #} SearchMenu}} {\plain \f4\fs16\up6 +{\footnote
385\pard\plain \s245 \f4\fs20 {\fs16\up6 +} UsingMenus:070}} Search menu
386\par \pard\plain \s6\sa120 \f4\fs20 This {\uldb menu}{\v UsingMenus} contains the following items:
387\par \pard\plain \s2\fi-2520\li2880\sa120\tx2880 \f4\fs20 Search forward :\tab invokes the {\uldb search-forward}{\v search_forward} command
388\par Search backward :\tab invokes the {\uldb search-reverse}{\v search_reverse} command
389\par Hunt forward\tab invokes the {\uldb hunt-forward}{\v hunt_forward} command
390\par Hunt backward\tab invokes the {\uldb hunt-backward}{\v hunt_backward} command
391\par Incremental search :\tab invokes the {\uldb incremental-search}{\v incremental_search} command
392\par Reverse incremental :\tab invokes the {\uldb reverse-incremental-search}{\v reverse_incremental_search} command
393\par Replace :\tab invokes the {\uldb replace-string}{\v replace_string} command
394\par Query replace :\tab invokes the {\uldb query-replace-string}{\v query_replace_string} command
395\par {\uldb Goto}{\v GotoSubmenu}\tab submenu
396\par {\uldb Page}{\v PageSubmenu}\tab submenu
397\par {\uldb Paragraph}{\v SParagraphSubmenu}\tab submenu
398\par {\uldb Line}{\v SLineSubmenu}\tab submenu
399\par {\uldb Word}{\v SWordSubmenu}\tab submenu
400\par \pard\plain \s251\sa120\tx2880 \b\f4\fs20 {\plain \f4\fs16\up6 \page ${\footnote \pard\plain \s245 \f4\fs20 {\fs16\up6 $} Goto submenu}} {\plain \f4\fs16\up6 #{\footnote \pard\plain \s245 \f4\fs20 {\fs16\up6 #} GotoSubmenu}} {\plain \f4\fs16\up6 +
401{\footnote \pard\plain \s245 \f4\fs20 {\fs16\up6 +} SearchMenu:010}} Goto submenu
402\par \pard\plain \s6\sa120 \f4\fs20 This {\uldb menu}{\v UsingMenus} is accessed via the {\uldb Search menu}{\v SearchMenu}. It contains the following items:
403\par \pard\plain \s2\fi-2520\li2880\sa120\tx2880 \f4\fs20 Mark\tab invokes the {\uldb goto-mark}{\v goto_mark} command
404\par Line\tab invokes the {\uldb goto-line}{\v goto_line} command
405\par Matching fence\tab invokes the {\uldb goto-matching-fence}{\v goto_matching_fence} command
406\par Beginning of file\tab invokes the {\uldb beginning-of-file}{\v beginning_of_file} command
407\par End of file\tab invokes the {\uldb end-of-file}{\v end_of_file} command
408\par \pard\plain \s251\sa120\tx2880 \b\f4\fs20 {\plain \f4\fs16\up6 \page ${\footnote \pard\plain \s245 \f4\fs20 {\fs16\up6 $} Page submenu}} {\plain \f4\fs16\up6 #{\footnote \pard\plain \s245 \f4\fs20 {\fs16\up6 #} PageSubmenu}} {\plain \f4\fs16\up6 +
409{\footnote \pard\plain \s245 \f4\fs20 {\fs16\up6 +} SearchMenu:020}} Page submenu
410\par \pard\plain \s6\sa120 \f4\fs20 This {\uldb menu}{\v UsingMenus} is accessed via the {\uldb Search menu}{\v SearchMenu}. It contains the following items:
411\par \pard\plain \s2\fi-2520\li2880\sa120\tx2880 \f4\fs20 Next\tab invokes the {\uldb next-page}{\v next_page} command
412\par Previous\tab invokes the {\uldb previous-page}{\v previous_page} command
413\par \pard\plain \s251\sa120\tx2880 \b\f4\fs20 {\plain \f4\fs16\up6 \page ${\footnote \pard\plain \s245 \f4\fs20 {\fs16\up6 $} Search Paragraph submenu}} {\plain \f4\fs16\up6 #{\footnote \pard\plain \s245 \f4\fs20 {\fs16\up6 #} SParagraphSubmenu}} {\plain
414\f4\fs16\up6 +{\footnote \pard\plain \s245 \f4\fs20 {\fs16\up6 +} SearchMenu:030}} Search Paragraph submenu
415\par \pard\plain \s6\sa120 \f4\fs20 This {\uldb menu}{\v UsingMenus} is accessed via the {\uldb Search menu}{\v SearchMenu}. It contains the following items:
416\par \pard\plain \s2\fi-2520\li2880\sa120\tx2880 \f4\fs20 Next\tab invokes the {\uldb next-paragraph}{\v next_paragraph} command
417\par Previous\tab invokes the {\uldb previous-paragraph}{\v previous_paragraph} command
418\par \pard\plain \s251\sa120\tx2880 \b\f4\fs20 {\plain \f4\fs16\up6 \page ${\footnote \pard\plain \s245 \f4\fs20 {\fs16\up6 $} Search Line submenu}} {\plain \f4\fs16\up6 #{\footnote \pard\plain \s245 \f4\fs20 {\fs16\up6 #} SLineSubmenu}} {\plain \f4\fs16\up6 +
419{\footnote \pard\plain \s245 \f4\fs20 {\fs16\up6 +} SearchMenu:040}} Search Line submenu
420\par \pard\plain \s6\sa120 \f4\fs20 This {\uldb menu}{\v UsingMenus} is accessed via the {\uldb Search menu}{\v SearchMenu}. It contains the following items:
421\par \pard\plain \s2\fi-2520\li2880\sa120\tx2880 \f4\fs20 Next\tab invokes the {\uldb next-line}{\v next_line} command
422\par Previous\tab invokes the {\uldb previous-line}{\v previous_line} command
423\par Beginning of\tab invokes the {\uldb beginning-of-line}{\v beginning_of_line} command
424\par End of\tab invokes the {\uldb end-of-line}{\v end_of_line} command
425\par \pard\plain \s251\sa120\tx2880 \b\f4\fs20 {\plain \f4\fs16\up6 \page ${\footnote \pard\plain \s245 \f4\fs20 {\fs16\up6 $} Search Word submenu}} {\plain \f4\fs16\up6 #{\footnote \pard\plain \s245 \f4\fs20 {\fs16\up6 #} SWordSubmenu}} {\plain \f4\fs16\up6 +
426{\footnote \pard\plain \s245 \f4\fs20 {\fs16\up6 +} SearchMenu:050}} Search Word submenu
427\par \pard\plain \s6\sa120 \f4\fs20 This {\uldb menu}{\v UsingMenus} is accessed via the {\uldb Search menu}{\v SearchMenu}. It contains the following items:
428\par \pard\plain \s2\fi-2520\li2880\sa120\tx2880 \f4\fs20 Next\tab invokes the {\uldb next-word}{\v next_word} command
429\par Previous\tab invokes the {\uldb previous-word}{\v previous_word} command
430\par End of\tab invokes the {\uldb end-of-word}{\v end_of_word} command
431\par \pard\plain \s252\sa120\tx2880 \b\f4 {\plain \f4\fs16\up6 \page ${\footnote \pard\plain \s245 \f4\fs20 {\fs16\up6 $} Execute menu}} {\plain \f4\fs16\up6 #{\footnote \pard\plain \s245 \f4\fs20 {\fs16\up6 #} ExecuteMenu}} {\plain \f4\fs16\up6 +{\footnote
432\pard\plain \s245 \f4\fs20 {\fs16\up6 +} UsingMenus:080}} Execute menu
433\par \pard\plain \s6\sa120 \f4\fs20 This {\uldb menu}{\v UsingMenus} contains the following items:
434\par \pard\plain \s2\fi-2520\li2880\sa120\tx2880 \f4\fs20 Windows program :\tab invokes the {\uldb execute-program}{\v execute_program} command
435\par Shell program :\tab invokes the {\uldb shell-command}{\v shell_command} command
436\par Pipe-in :\tab invokes the {\uldb pipe-command}{\v pipe_command} command
437\par Filter :\tab invokes the {\uldb filter-buffer}{\v filter_buffer} command
438\par Shell\tab invokes the {\uldb i-shell}{\v i_shell} command
439\par {\uldb EMACS command}{\v EmacsCommandSubmenu}\tab submenu
440\par {\uldb Keyboard macro}{\v KeyboardMacroSubmenu}\tab submenu
441\par Abort command\tab invokes the {\uldb abort-command}{\v abort_command} command
442\par \pard\plain \s6\sa120 \f4\fs20 If the {\uldb DEV.CMD}{\v DEV.CMD} {\ul page}{\v Page} is loaded, the menu is modified by the addition of the following item:
443\par \pard\plain \s2\fi-2520\li2880\sa120\tx2880 \f4\fs20 Make\tab invokes the {\uldb run-makefile}{\v run_makefile} macro.
444\par \pard\plain \s251\sa120\tx2880 \b\f4\fs20 {\plain \f4\fs16\up6 \page ${\footnote \pard\plain \s245 \f4\fs20 {\fs16\up6 $} EMACS command submenu}} {\plain \f4\fs16\up6 #{\footnote \pard\plain \s245 \f4\fs20 {\fs16\up6 #} EMACSCOMMANDSUBMENU}} {\plain
445\f4\fs16\up6 +{\footnote \pard\plain \s245 \f4\fs20 {\fs16\up6 +} ExecuteMenu:050}} EMACS command submenu
446\par \pard\plain \s6\sa120 \f4\fs20 This {\uldb menu}{\v UsingMenus} is accessed via the {\uldb Execute menu}{\v ExecuteMenu}. It contains the following items:
447\par \pard\plain \s2\fi-2520\li2880\sa120\tx2880 \f4\fs20 Named command :\tab invokes the {\uldb execute-named-command}{\v execute_named_command} command
448\par Command line :\tab invokes the {\uldb execute-command-line}{\v execute_command_line} command
449\par Procedure :\tab invokes the {\uldb execute-procedure}{\v execute_procedure} command
450\par Buffer :\tab invokes the {\uldb execute-buffer}{\v execute_buffer} command
451\par File...\tab invokes the {\uldb execute-file}{\v execute_file} command
452\par \pard\plain \s251\sa120\tx2880 \b\f4\fs20 {\plain \f4\fs16\up6 \page ${\footnote \pard\plain \s245 \f4\fs20 {\fs16\up6 $} Keyboard macro submenu}} {\plain \f4\fs16\up6 #{\footnote \pard\plain \s245 \f4\fs20 {\fs16\up6 #} KeyboardMacroSubmenu}} {\plain
453\f4\fs16\up6 +{\footnote \pard\plain \s245 \f4\fs20 {\fs16\up6 +} ExecuteMenu:060}} Keyboard macro submenu
454\par \pard\plain \s6\sa120 \f4\fs20 This {\uldb menu}{\v UsingMenus} is accessed via the {\uldb Execute menu}{\v ExecuteMenu}. It contains the following items:
455\par \pard\plain \s2\fi-2520\li2880\sa120\tx2880 \f4\fs20 Play\tab invokes the {\uldb execute-macro}{\v execute_macro} command
456\par Start recording\tab invokes the {\uldb begin-macro}{\v begin_macro} command
457\par End recording\tab invokes the {\uldb end-macro}{\v end_macro} command
458\par \pard\plain \s252\sa120\tx2880 \b\f4 {\plain \f4\fs16\up6 \page ${\footnote \pard\plain \s245 \f4\fs20 {\fs16\up6 $} Miscellaneous menu}} {\plain \f4\fs16\up6 #{\footnote \pard\plain \s245 \f4\fs20 {\fs16\up6 #} MiscellaneousMenu}} {\plain \f4\fs16\up6 +
459{\footnote \pard\plain \s245 \f4\fs20 {\fs16\up6 +} UsingMenus:090}} Miscellaneous menu
460\par \pard\plain \s6\sa120 \f4\fs20 This {\uldb menu}{\v UsingMenus} contains the following items:
461\par \pard\plain \s2\fi-2520\li2880\sa120\tx2880 \f4\fs20 {\uldb Key bindings}{\v KeyBindingsSubmenu}\tab submenu
462\par {\uldb Menu bindings}{\v MenuBindingsSubmenu}\tab submenu
463\par {\uldb Variable}{\v Variable}\tab submenu
464\par Show position\tab invokes the {\uldb buffer-position}{\v buffer_position} command
465\par \pard\plain \s251\sa120\tx2880 \b\f4\fs20 {\plain \f4\fs16\up6 \page ${\footnote \pard\plain \s245 \f4\fs20 {\fs16\up6 $} Key bindings submenu}} {\plain \f4\fs16\up6 #{\footnote \pard\plain \s245 \f4\fs20 {\fs16\up6 #} KeyBindingsSubmenu}} {\plain
466\f4\fs16\up6 +{\footnote \pard\plain \s245 \f4\fs20 {\fs16\up6 +} MiscellaneousMenu:050}} Key bindings submenu
467\par \pard\plain \s6\sa120 \f4\fs20 This {\uldb menu}{\v UsingMenus} is accessed via the {\uldb Miscellaneous menu}{\v MiscellaneousMenu}. It contains the following items:
468\par \pard\plain \s2\fi-2520\li2880\sa120\tx2880 \f4\fs20 Bind to Command\tab invokes the {\uldb bind-to-key}{\v bind_to_key} command
469\par Bind to Macro\tab invokes the {\uldb macro-to-key}{\v macro_to_key} command
470\par Unbind\tab invokes the {\uldb unbind-key}{\v unbind_key} command
471\par Describe key\tab invokes the {\uldb describe-key}{\v describe_key} command
472\par List\tab invokes the {\uldb describe-bindings}{\v describe_bindings} command
473\par \pard\plain \s251\sa120\tx2880 \b\f4\fs20 {\plain \f4\fs16\up6 \page ${\footnote \pard\plain \s245 \f4\fs20 {\fs16\up6 $} Menu bindings submenu}} {\plain \f4\fs16\up6 #{\footnote \pard\plain \s245 \f4\fs20 {\fs16\up6 #} MenuBindingsSubmenu}} {\plain
474\f4\fs16\up6 +{\footnote \pard\plain \s245 \f4\fs20 {\fs16\up6 +} MiscellaneousMenu:060}} Menu bindings submenu
475\par \pard\plain \s6\sa120 \f4\fs20 This {\uldb menu}{\v UsingMenus} is accessed via the {\uldb Miscellaneous menu}{\v MiscellaneousMenu}. It contains the following items:
476\par \pard\plain \s2\fi-2520\li2880\sa120\tx2880 \f4\fs20 Bind to Command\tab invokes the {\uldb bind-to-menu}{\v bind_to_menu} command
477\par Bind to Macro\tab invokes the {\uldb macro-to-menu}{\v macro_to_menu} command
478\par Unbind\tab invokes the {\uldb unbind-menu}{\v unbind_menu} command
479\par \pard\plain \s251\sa120\tx2880 \b\f4\fs20 {\plain \f4\fs16\up6 \page ${\footnote \pard\plain \s245 \f4\fs20 {\fs16\up6 $} Variable submenu}} {\plain \f4\fs16\up6 #{\footnote \pard\plain \s245 \f4\fs20 {\fs16\up6 #} VariableSubmenu}} {\plain \f4\fs16\up6 +
480{\footnote \pard\plain \s245 \f4\fs20 {\fs16\up6 +} MiscellaneousMenu:070}} Variable submenu
481\par \pard\plain \s6\sa120 \f4\fs20 This {\uldb menu}{\v UsingMenus} is accessed via the {\uldb Miscellaneous menu}{\v MiscellaneousMenu}. It contains the following items:
482\par \pard\plain \s2\fi-2520\li2880\sa120\tx2880 \f4\fs20 Set\tab invokes the {\uldb set}{\v set} command
483\par Display\tab invokes the {\uldb display}{\v display} command
484\par List\tab invokes the {\uldb describe-variables}{\v describe_variables} command
485\par \pard\plain \s252\sa120\tx2880 \b\f4 {\plain \f4\fs16\up6 \page ${\footnote \pard\plain \s245 \f4\fs20 {\fs16\up6 $} Screen menu}} {\plain \f4\fs16\up6 #{\footnote \pard\plain \s245 \f4\fs20 {\fs16\up6 #} ScreenMenu}} {\plain \f4\fs16\up6 +{\footnote
486\pard\plain \s245 \f4\fs20 {\fs16\up6 +} UsingMenus:100}} Screen menu
487\par \pard\plain \s6\sa120 \f4\fs20 This {\uldb menu}{\v UsingMenus} contains the following items:
488\par \pard\plain \s2\fi-2520\li2880\sa120\tx2880 \f4\fs20 Cascade\tab invokes the {\uldb cascade-screens}{\v cascade_screens} command
489\par {\uldb Tile}{\v TileSubmenu}\tab submenu
490\par Arrange Icons\tab causes iconized {\ul screens}{\v Screen} to be rearranged at the bottom left of the MicroEMACS frame window.
491\par Open\tab invokes the {\uldb find-screen}{\v find_screen} command
492\par Rename\tab invokes the {\uldb rename-screen}{\v rename_screen} command
493\par {\uldb Size}{\v SSizeSubmenu}\tab submenu
494\par Font...\tab brings up a dialog box to {\uldb change the font}{\v Fonts} used by MicroEMACS
495\par \pard\plain \s6\sa120 \f4\fs20 If the {\uldb MDI.CMD}{\v MDI.CMD} {\ul page}{\v Page} is loaded, the menu is modified by the addition of the following items:
496\par \pard\plain \s2\fi-2520\li2880\sa120\tx2880 \f4\fs20 Rebuild\tab rebuilds the set of screens, to have a screen associated with each editing {\ul buffer}{\v Buffer}
497\par Kill\tab deletes the current screen and release the corresponding buffer.
498\par \pard\plain \s6\sa120 \f4\fs20 Additional items are added dynamically at the end of the "Screen" menu, listing the available screens. This allows quick switching between those screens.
499\par \pard\plain \s251\sa120\tx2880 \b\f4\fs20 {\plain \f4\fs16\up6 \page ${\footnote \pard\plain \s245 \f4\fs20 {\fs16\up6 $} Tile submenu}} {\plain \f4\fs16\up6 #{\footnote \pard\plain \s245 \f4\fs20 {\fs16\up6 #} TileSubmenu}} {\plain \f4\fs16\up6 +
500{\footnote \pard\plain \s245 \f4\fs20 {\fs16\up6 +} ScreenMenu:050}} Tile submenu
501\par \pard\plain \s6\sa120 \f4\fs20 This {\uldb menu}{\v UsingMenus} is accessed via the {\uldb Screen menu}{\v ScreenMenu}. It contains the following items:
502\par \pard\plain \s2\fi-2520\li2880\sa120\tx2880 \f4\fs20 Horizontally\tab causes all non-iconic {\ul screens}{\v Screen} to be rearranged in a tiling scheme, side by side if possible
503\par Vertically\tab causes all non-iconic screens to be rearranged in a tiling scheme, on top of each other if possible
504\par \pard\plain \s251\sa120\tx2880 \b\f4\fs20 {\plain \f4\fs16\up6 \page ${\footnote \pard\plain \s245 \f4\fs20 {\fs16\up6 $} Screen Size submenu}} {\plain \f4\fs16\up6 #{\footnote \pard\plain \s245 \f4\fs20 {\fs16\up6 #} SSizeSubmenu}} {\plain \f4\fs16\up6 +
505{\footnote \pard\plain \s245 \f4\fs20 {\fs16\up6 +} ScreenMenu:060}} Screen Size submenu
506\par \pard\plain \s6\sa120 \f4\fs20 This {\uldb menu}{\v UsingMenus} is accessed via the {\uldb Screen menu}{\v ScreenMenu}. It contains the following items:
507\par \pard\plain \s2\fi-2520\li2880\sa120\tx2880 \f4\fs20 = Height\tab invokes the {\uldb change-screen-size}{\v change_screen_size} command
508\par = Width\tab invokes the {\uldb change-screen-width}{\v change_screen_width} command
509\par Normalize\tab causes the current {\ul screens}{\v Screen} to be resized so that it is as small as possible while retaining the same height and width in characters.
510\par \pard\plain \s6\sa120 \f4\fs20 If the {\uldb MDI.CMD}{\v MDI.CMD} {\ul page}{\v Page} is loaded, the menu is modified by the replacement of "= Height" and "= Width" by the following item:
511\par \pard\plain \s2\fi-2520\li2880\sa120\tx2880 \f4\fs20 Set:\tab prompts you for the width and height of the screen, supplying the current values as defaults.
512\par \pard\plain \s252\sa120\tx2880 \b\f4 {\plain \f4\fs16\up6 \page ${\footnote \pard\plain \s245 \f4\fs20 {\fs16\up6 $} Help menu}} {\plain \f4\fs16\up6 #{\footnote \pard\plain \s245 \f4\fs20 {\fs16\up6 #} HelpMenu}} {\plain \f4\fs16\up6 +{\footnote
513\pard\plain \s245 \f4\fs20 {\fs16\up6 +} UsingMenus:110}} Help menu
514\par \pard\plain \s6\sa120 \f4\fs20 This {\uldb menu}{\v UsingMenus} contains the following items:
515\par \pard\plain \s2\fi-2520\li2880\sa120\tx2880 \f4\fs20 Index\tab brings up this help file, on the {\uldb main index}{\v MainIndex}.
516\par Keyboard\tab brings up this help file, on the {\uldb keyboard}{\v Keyboard} topic
517\par Commands\tab brings up this help file, on the {\uldb commands}{\v Commands} topic
518\par Procedures\tab brings up this help file, on the {\uldb procedures}{\v Procedures} topic
519\par {\uldb List}{\v ListSubmenu}\tab submenu
520\par Apropos :\tab invokes the {\uldb apropos}{\v apropos} command
521\par Describe key :\tab invokes the {\uldb describe-key}{\v describe_key} command
522\par Display variable :\tab invokes the {\uldb display}{\v display} command
523\par About...\tab brings up a dialog box giving some information about MicroEMACS and the people involved in its making.
524\par \pard\plain \s6\sa120 \f4\fs20 If the {\uldb DEV.CMD}{\v DEV.CMD} {\ul page}{\v Page}
525 is loaded, the menu is modified by the addition of items (before "List") that invoke the Windows help engine for, respectively, Windows 3.0, Windows 3.1 or Win32 Software Development Kits or for Turbo C++. Each of those attempt to select a help topic bas
526ed on the word currently at the {\ul point}{\v Point}. You can eliminate the undesired items among these by editing the {\f27\fs18 macro-to-menu} commands in the DEV.CMD file.
527\par \pard\plain \s251\sa120\tx2880 \b\f4\fs20 {\plain \f4\fs16\up6 \page ${\footnote \pard\plain \s245 \f4\fs20 {\fs16\up6 $} List submenu}} {\plain \f4\fs16\up6 #{\footnote \pard\plain \s245 \f4\fs20 {\fs16\up6 #} ListSubmenu}} {\plain \f4\fs16\up6 +
528{\footnote \pard\plain \s245 \f4\fs20 {\fs16\up6 +} HelpMenu:050}} List submenu
529\par \pard\plain \s6\sa120 \f4\fs20 This {\uldb menu}{\v UsingMenus} is accessed via the {\uldb Help menu}{\v HelpMenu}. It contains the following items:
530\par \pard\plain \s2\fi-2520\li2880\sa120\tx2880 \f4\fs20 Key bindings\tab invokes the {\uldb describe-bindings}{\v describe_bindings} command
531\par Functions\tab invokes the {\uldb describe-functions}{\v describe_functions} command
532\par Variables\tab invokes the {\uldb describe-variables}{\v describe_variables} command
533\par Buffers\tab invokes the {\uldb list-buffers}{\v list_buffers} command
534\par \pard\plain \s253\sa240\tx2880 \b\f4\cf2 {\plain \f4\fs16 \page }{\plain \f4\fs16\up6 ${\footnote \pard\plain \s245 \f4\fs20 {\fs16\up6 $} Customizing Command Keys}}{\fs16  }{\fs16\up6 #{\footnote \pard\plain \s245 \f4\fs20 {\fs16\up6 #}
535 CustomizingCommandKeys}} {\fs16\up6 +{\footnote \pard\plain \s245 \f4\fs20 {\fs16\up6 +} Procedures:070}} {\plain \f4\fs16\up6 K{\footnote \pard\plain \s245 \f4\fs20 {\fs16\up6 K} keyboard;binding;command;macro}} Customizing Command Keys
536\par \pard\plain \s6\sa120 \f4\fs20 MicroEMACS lets you decide what keys activate what {\ul command}{\v Command} or {\ul macro}{\v Macro} through the use of:
537\par \pard\plain \s3\fi-2880\li2880\tqr\tx720\tx900\tx2880 \f4\fs20 \tab {\ul M-K}{\v Keystroke}\tab {\uldb bind-to-key}{\v bind_to_key}
538\par \tab {\ul ^X^K}{\v Keystroke}\tab {\uldb macro-to-key}{\v macro_to_key}
539\par \pard \s3\fi-2880\li2880\sa120\tqr\tx720\tx900\tx2880 \tab {\ul M-^K}{\v Keystroke}\tab {\uldb unbind-key}{\v unbind_key}
540\par \pard\plain \s6\sa120 \f4\fs20 These commands can be used to permanently change your key {\ul bindings}{\v Binding} by placing them in your start up file. For example, if you have one of those nasty keyboards with a tilde "{\b ~}" i
541n the upper left corner, where the Escape key should be, and you want the tilde to become the {\ul meta key}{\v MetaKey}, add this line to {\uldb emacs.rc}{\v StartupFile}:
542\par \pard\plain \s4\fi-2160\li2880\sa120\tx2880 \f27\fs18 bind-to-key   meta-prefix   ~
543\par \pard\plain \s6\sa120 \f4\fs20 You can use this to make MicroEMACS feel similar to another editor by changing what keys activate which commands.
544\par The {\uldb unbind-key}{\v unbind_key} command is useful if you have a function key you keep tripping over, or if you are trying to make MicroEMACS look like a much more minimalist editor.
545\par You can get a list of all the key bindings that MicroEMACS uses by using the {\uldb describe-bindings}{\v describe_bindings} command. Just do {\ul M-X}{\v Keystroke} and type:
546\par \pard\plain \s4\fi-2160\li2880\sa120\tx2880 \f27\fs18 describe-bindings
547\par \pard\plain \s253\sa240\tx2880 \b\f4\cf2 {\fs16 \page }{\plain \f4\fs16\up6 ${\footnote \pard\plain \s245 \f4\fs20 {\fs16\up6 $} Issuing Commands}}{\fs16  }{\fs16\up6 #{\footnote \pard\plain \s245 \f4\fs20 {\fs16\up6 #} IssuingCommands}} {\fs16\up6 +
548{\footnote \pard\plain \s245 \f4\fs20 {\fs16\up6 +} Procedures:080}} {\plain \f4\fs16\up6 K{\footnote \pard\plain \s245 \f4\fs20 {\fs16\up6 K} command}} Issuing Commands
549\par \pard\plain \s6\sa120 \f4\fs20 {\ul Commands}{\v Command} within MicroEMACS have descriptive names which you can use to invoke them, or {\ul bind}{\v Binding} them to a {\uldb keystroke}{\v Keyboard} or a {\uldb menu}{\v UsingMenus}
550. To invoke one of these commands by name, you can use:
551\par \pard\plain \s3\fi-2880\li2880\sa120\tqr\tx720\tx900\tx2880 \f4\fs20 \tab {\ul M-X}{\v Keystroke}\tab {\uldb execute-named-command}{\v execute_named_command}
552\par \pard\plain \s6\sa120 \f4\fs20 You can supply {\uldb numeric arguments}{\v NumericArguments} to a such a command by prefixing it. You can also use a {\uldb command line}{\v CommandLines} invocation.
553\par To get a list of all the commands in your current MicroEMACS, do {\ul M-X}{\v Keystroke} and type:
554\par \pard\plain \s4\fi-2160\li2880\sa120\tx2880 \f27\fs18 describe-bindings
555\par \pard\plain \s6\sa120 \f4\fs20 The {\uldb describe-bindings}{\v describe_bindings} command will display a paged list of all legal commands and the keystrokes to use to invoke them.
556\par \pard\plain \s252\sa120\tx2880 \b\f4 {\fs16 \page }{\plain \f4\fs16\up6 ${\footnote \pard\plain \s245 \f4\fs20 {\fs16\up6 $} Interactive Numeric Arguments}}{\fs16  }{\fs16\up6 #{\footnote \pard\plain \s245 \f4\fs20 {\fs16\up6 #} NumericArguments}}
557{\plain \f4\fs16\up6 K{\footnote \pard\plain \s245 \f4\fs20 {\fs16\up6 K} repeat;argument}} Interactive Numeric Arguments
558\par \pard\plain \s6\sa120 \f4\fs20 Some {\ul commands}{\v Command} take a number as an argument. For example, to move to a particular line within a file, you use the {\uldb goto-line}{\v goto_line} ({\ul M-G}{\v Keystroke}
559) command. To go to a particular line, precede the command with a number by striking the {\ul meta key}{\v MetaKey}, typing a number, and then the keys {\ul bound}{\v Binding} to the command. To go to the 123rd line of a file, use:
560\par \pard\plain \s4\fi-2160\li2880\sa120\tx2880 \f27\fs18 {\i Meta} 123   {\i Meta} g
561\par \pard\plain \s6\sa120 \f4\fs20 If a command does not need a numeric argument, it is usually taken as a repeat count. This also works when typing any character. To make a line of 50 dashes type:
562\par \pard\plain \s4\fi-2160\li2880\sa120\tx2880 \f27\fs18 {\i Meta} 50   -
563\par \pard\plain \s252\sa120\tx2880 \b\f4 {\fs16 \page }{\plain \f4\fs16\up6 ${\footnote \pard\plain \s245 \f4\fs20 {\fs16\up6 $} Command Lines}}{\fs16  }{\fs16\up6 #{\footnote \pard\plain \s245 \f4\fs20 {\fs16\up6 #} CommandLines}} {\fs16\up6 +{\footnote
564\pard\plain \s245 \f4\fs20 {\fs16\up6 +} :commandlines}} {\plain \f4\fs16\up6 K{\footnote \pard\plain \s245 \f4\fs20 {\fs16\up6 K} command}} Command Lines
565\par \pard\plain \s6\sa120 \f4\fs20 {\uldb execute-command-line}{\v execute_command_line} ({\ul M-^X}{\v Keystroke}) lets you type in a full command line. MicroEMACS {\ul macros}{\v Macro}
566 are made from sequences of these command lines. A command line has three parts:
567\par \pard\plain \s4\fi-2160\li2880\sa120\tx2880 \f27\fs18 {\i Numeric argument   Command   Arguments}
568\par \pard\plain \s6\sa120 \f4\fs20 The numeric argument is optional and has the same effect as an {\uldb interactive numeric argument}{\v NumericArguments} prefixing an interactive invocation of the same command.
569\par {\uldb Arguments}{\v Arguments} following the command are not always required. If needed arguments have been omitted, the user will be prompted for them on the {\ul message line}{\v MessageLine}.
570\par To insert the string "<*><*><*>" at the {\ul point}{\v Point}, do {\ul M-^X}{\v Keystroke} and then:
571\par \pard\plain \s4\fi-2160\li2880\sa120\tx2880 \f27\fs18 3   insert-string   "<*>"
572\par \pard\plain \s6\sa120 \f4\fs20 or to set the current fill column to 64, do {\ul M-^X}{\v Keystroke} and then:
573\par \pard\plain \s4\fi-2160\li2880\sa120\tx2880 \f27\fs18 64   set $fillcol
574\par \pard\plain \s253\sa240\tx2880 \b\f4\cf2 {\fs16 \page }{\plain \f4\fs16\up6 ${\footnote \pard\plain \s245 \f4\fs20 {\fs16\up6 $} The Outside World}}{\fs16  }{\fs16\up6 #{\footnote \pard\plain \s245 \f4\fs20 {\fs16\up6 #} TheOutsideWorld}} {\fs16\up6 +
575{\footnote \pard\plain \s245 \f4\fs20 {\fs16\up6 +} Procedures:090}} {\plain \f4\fs16\up6 K{\footnote \pard\plain \s245 \f4\fs20 {\fs16\up6 K} execute;spawn;filter;pipe;shell;DOS}} The Outside World
576\par \pard\plain \s6\sa120 \f4\fs20 The following commands let you interact with the Operating System or with other applications:
577\par \pard\plain \s3\fi-2880\li2880\tqr\tx720\tx900\tx2880 \f4\fs20 \tab {\ul ^X^C}{\v Keystroke}\tab {\uldb exit-emacs}{\v exit_emacs}\tab terminates MicroEMACS
578\par \tab {\ul M-Z}{\v Keystroke}\tab {\uldb quick-exit}{\v quick_exit}\tab same as above, but saves all changed {\ul buffers}{\v Buffer} first
579\par \tab {\ul ^X!}{\v Keystroke}\tab {\uldb shell-command}{\v shell_command}\tab executes a program within an Operating System "shell"
580\par \tab {\ul ^X$}{\v Keystroke}\tab {\uldb execute-program}{\v execute_program}\tab launches another application
581\par \tab {\ul ^X@}{\v Keystroke}\tab {\uldb pipe-command}{\v pipe_command}\tab pipes a program's output into a buffer
582\par \tab {\ul ^X#}{\v Keystroke}\tab {\uldb filter-buffer}{\v filter_buffer}\tab filters a buffer through a program
583\par \pard \s3\fi-2880\li2880\sa120\tqr\tx720\tx900\tx2880 \tab {\ul ^XC}{\v Keystroke}\tab {\uldb i-shell}{\v i_shell}\tab opens an Operating System "shell"
584\par \pard\plain \s252\sa120\tx2880 \b\f4 {\fs16 \page }{\plain \f4\fs16\up6 ${\footnote \pard\plain \s245 \f4\fs20 {\fs16\up6 $} Synchronizing With Another Program}}{\fs16  }{\fs16\up6 #{\footnote \pard\plain \s245 \f4\fs20 {\fs16\up6 #}
585 SynchronizingWithADosBox}} {\plain \f4\fs16\up6 K{\footnote \pard\plain \s245 \f4\fs20 {\fs16\up6 K} DOS;pipe;filter;synchronize}} Synchronizing With Another Program
586\par \pard\plain \s6\sa120 \f4\fs20 When the {\uldb pipe-command}{\v pipe_command} or the {\uldb filter-buffer}{\v filter_buffer} commands are used under Microsoft Windows, MicroEMACS creates a {\ul DOS box}{\v DosBox}
587 (or "shell box" under Windows NT) and waits for it to terminate.Also, if the {\uldb execute-program}{\v execute_program} or the {\uldb shell-command}{\v shell_command} command is invoked with a {\ul numeric argument}{\v Argument}
588, MicroEMACS waits for the launched application to terminate.
589\par You can cancel the wait by pressing the Esc key or clicking on the "Cancel" button. Note that doing so does not terminate the other program.
590\par For synchronization to work with a DOS box, the {\uldb DOSExec profile}{\v DosExecProfile} must be set properly. Under Windows NT, shell boxes can be parametrized by setting the {\uldb Shell}{\v ShellProfile} and the {\uldb ShellExecOption}{\v
591ShellProfile} profiles.
592\par \pard\plain \s253\sa240\tx2880 \b\f4\cf2 {\fs16 \page }{\plain \f4\fs16\up6 ${\footnote \pard\plain \s245 \f4\fs20 {\fs16\up6 $} Buffers}}{\fs16  }{\fs16\up6 #{\footnote \pard\plain \s245 \f4\fs20 {\fs16\up6 #} Buffers}} {\fs16\up6 +{\footnote
593\pard\plain \s245 \f4\fs20 {\fs16\up6 +} Procedures:100}} {\plain \f4\fs16\up6 K{\footnote \pard\plain \s245 \f4\fs20 {\fs16\up6 K} buffer}} Buffers
594\par \pard\plain \s6\sa120 \f4\fs20 A buffer is where MicroEMACS stores text. Normally that text is read from a file, and is visible in an editing {\ul window}{\v Window}. But text stored in buffers can also be MicroEMACS {\ul macros}{\v Macro}
595, temporary storage for macros, or lists of {\ul screens}{\v Screen}, files, buffers, {\ul variables}{\v Variables}, {\ul commands}{\v Command} or {\ul bindings}{\v Binding} created by MicroEMACS commands. Commands that deal with buffers include: \tab
596
597\par \pard\plain \s3\fi-2880\li2880\tqr\tx720\tx900\tx2880 \f4\fs20 \tab {\ul ^XB}{\v Keystroke}\tab {\uldb select-buffer}{\v select_buffer}
598\par \tab {\ul ^XK}{\v Keystroke}\tab {\uldb delete-buffer}{\v delete_buffer}
599\par \tab {\ul ^X^B}{\v Keystroke}\tab {\uldb list-buffers}{\v list_buffers}
600\par \pard \s3\fi-2880\li2880\sa120\tqr\tx720\tx900\tx2880 \tab {\ul ^XX}{\v Keystroke}\tab {\uldb next-buffer}{\v next_buffer}
601\par \pard\plain \s253\sa240\tx2880 \b\f4\cf2 {\fs16 \page }{\plain \f4\fs16\up6 ${\footnote \pard\plain \s245 \f4\fs20 {\fs16\up6 $} Regions}}{\fs16  }{\fs16\up6 #{\footnote \pard\plain \s245 \f4\fs20 {\fs16\up6 #} Regions}} {\fs16\up6 +{\footnote
602\pard\plain \s245 \f4\fs20 {\fs16\up6 +} Procedures:110}} {\plain \f4\fs16\up6 K{\footnote \pard\plain \s245 \f4\fs20 {\fs16\up6 K} region}} Regions
603\par \pard\plain \s6\sa120 \f4\fs20 Regions are used in MicroEMACS to specify what text is acted on by many {\ul commands}{\v Command}. A region is defined as all the text between the {\ul point}{\v\ul Point}, and the last placed {\ul mark}{\v\ul Mark}
604. To define a region:
605\par \pard\plain \s8\fi-360\li360\sa120\tx360\tx1440\tx2880\tx3600\tx4320 \f4\fs20 1.\tab Move the point to the beginning of the text you want to effect
606\par 2.\tab Use the {\uldb set-mark}{\v\uldb set_mark} ({\ul M- }{\v Keystroke}) command to position the mark at the current point
607\par 3.\tab Move the point to the end of the text you want to affect
608\par \pard\plain \s6\sa120 \f4\fs20 At this time, the text between the mark and the point is the current region which will be affected by many commands. Regions can be defined backwards as well as forwards, and can include the entire {\ul buffer}{\v Buffer}
609, or as little as one character.
610\par \pard\plain \s253\sa240\tx2880 \b\f4\cf2 {\fs16 \page }{\plain \f4\fs16\up6 ${\footnote \pard\plain \s245 \f4\fs20 {\fs16\up6 $} Paragraphs}}{\fs16  }{\fs16\up6 #{\footnote \pard\plain \s245 \f4\fs20 {\fs16\up6 #} Paragraphs}} {\fs16\up6 +{\footnote
611\pard\plain \s245 \f4\fs20 {\fs16\up6 +} Procedures:120}} {\plain \f4\fs16\up6 K{\footnote \pard\plain \s245 \f4\fs20 {\fs16\up6 K} paragraph}} Paragraphs
612\par \pard\plain \s6\sa120 \f4\fs20 MicroEMACS defines a paragraph as any group of lines of text surrounded by blank lines. A line starting with one of the characters in the {\uldb $paralead}{\v _paralead} {\ul variable}{\v Variable}
613 is considered the first line of a paragraph. Also, if line starts with one of the characters in the {\uldb $fmtlead}{\v _fmtlead} variable, the following line is considered to be the beginning of a paragraph.
614\par {\ul Commands}{\v command} that deal with paragraphs include:
615\par \pard\plain \s3\fi-2880\li2880\tqr\tx720\tx900\tx2880 \f4\fs20 \tab {\ul M-N}{\v Keystroke}\tab {\uldb next-paragraph}{\v next_paragraph}
616\par \tab {\ul M-P}{\v Keystroke}\tab {\uldb previous-paragraph}{\v previous_paragraph}
617\par \tab {\ul M-^W}{\v Keystroke}\tab {\uldb kill-paragraph}{\v kill_paragraph}
618\par \pard \s3\fi-2880\li2880\sa120\tqr\tx720\tx900\tx2880 \tab {\ul M-Q}{\v Keystroke}\tab {\uldb fill-paragraph}{\v fill_paragraph}
619\par \pard\plain \s253\sa240\tx2880 \b\f4\cf2 {\fs16 \page }{\plain \f4\fs16\up6 ${\footnote \pard\plain \s245 \f4\fs20 {\fs16\up6 $} Words}}{\fs16  }{\fs16\up6 #{\footnote \pard\plain \s245 \f4\fs20 {\fs16\up6 #} Words}} {\fs16\up6 +{\footnote \pard\plain
620\s245 \f4\fs20 {\fs16\up6 +} Procedures:130}} {\plain \f4\fs16\up6 K{\footnote \pard\plain \s245 \f4\fs20 {\fs16\up6 K} word}} Words
621\par \pard\plain \s6\sa120 \f4\fs20 Words are defined, by default, as a string of characters consisting of alphabetic, numeral and the underscore "{\b _}" character. You can change this by setting the {\uldb $wchars}{\v _wchars} {\ul variable}{\v Variable}
622 to a list of all the characters you want considered as part of a word.
623\par The commands that deal with words include:
624\par \pard\plain \s3\fi-2880\li2880\tqr\tx720\tx900\tx2880 \f4\fs20 \tab {\ul M-F}{\v Keystroke}\tab {\uldb next-word}{\v next_word}
625\par \tab {\ul M-B}{\v Keystroke}\tab {\uldb previous-word}{\v previous_word}
626\par \tab {\ul M-D}{\v Keystroke}\tab {\uldb delete-next-word}{\v delete_next_word}
627\par \tab {\ul M-^H}{\v Keystroke}\tab {\uldb delete-previous-word}{\v delete_previous_word}
628\par \pard \s3\fi-2880\li2880\sa120\tqr\tx720\tx900\tx2880 \tab {\ul M-^C}{\v Keystroke}\tab {\uldb count-words}{\v count_words}
629\par \pard\plain \s253\sa240\tx2880 \b\f4\cf2 {\fs16 \page }{\plain \f4\fs16\up6 ${\footnote \pard\plain \s245 \f4\fs20 {\fs16\up6 $} Screens}}{\fs16  }{\fs16\up6 #{\footnote \pard\plain \s245 \f4\fs20 {\fs16\up6 #} Screens}} {\fs16\up6 +{\footnote
630\pard\plain \s245 \f4\fs20 {\fs16\up6 +} Procedures:140}} {\plain \f4\fs16\up6 K{\footnote \pard\plain \s245 \f4\fs20 {\fs16\up6 K} screen}} Screens
631\par \pard\plain \s6\sa120 \f4\fs20 A screen is a collection of {\ul windows}{\v Window}
632 which are displayed together. On some non-graphically oriented systems, only one screen is displayed at a time. Under other graphical oriented operating systems like Microsoft Windows, X-Windows, the Macintosh or the Amiga, each screen may be displayed i
633n an operating system "window". Notice that the MicroEMACS usage of the word window is different from the meaning used in these graphical systems:
634\par \pard\plain \s11\li360\tx2880 \f4\fs20 {\ul MicroEMACS}{\b \tab }{\ul Operating System} {\b  }
635\par Window\tab Pane
636\par \pard \s11\li360\sa120\tx2880 Screen\tab Window
637\par \pard\plain \s6\sa120 \f4\fs20 Each screen has its own set of {\uldb windows}{\v Windows}. Switching from one screen to another (for instance by clicking on that screen) will preserve the window setup, the colors and the {\ul buffers}{\v Buffer}
638 being displayed.
639\par When MicroEMACS starts up, it displays a single screen named "MAIN". Extra screens can be created by the command:
640\par \pard\plain \s3\fi-2880\li2880\sa120\tqr\tx720\tx900\tx2880 \f4\fs20 \tab {\ul A-F}{\v Keystroke}\tab {\uldb find-screen}{\v find_screen}
641\par \pard\plain \s253\sa240\tx2880 \b\f4\cf2 {\fs16 \page }{\plain \f4\fs16\up6 ${\footnote \pard\plain \s245 \f4\fs20 {\fs16\up6 $} Windows}}{\fs16  }{\fs16\up6 #{\footnote \pard\plain \s245 \f4\fs20 {\fs16\up6 #} Windows}} {\fs16\up6 +{\footnote
642\pard\plain \s245 \f4\fs20 {\fs16\up6 +} Procedures:150}} {\plain \f4\fs16\up6 K{\footnote \pard\plain \s245 \f4\fs20 {\fs16\up6 K} window}} Windows
643\par \pard\plain \s6\sa120 \f4\fs20 MicroEMACS uses windows to display and allow you to edit the contents of {\ul buffers}{\v Buffer}. A single {\ul screen}{\v Screen} will show one or more windows, separated by a {\ul mode line}{\v ModeLine}
644 which describes the contents of the window above it.
645\par You can scroll text vertically and horizontally within a window by using the arrow keys or the page-up, page-down, home and end keys. Note that if a line of text extends beyond the boundary of a window, a dollar "{\b $}
646" sign is displayed instead of the last visible character.
647\par Here are some window-related commands:
648\par \pard\plain \s3\fi-2880\li2880\tqr\tx720\tx900\tx2880 \f4\fs20 \tab {\ul ^X2}{\v Keystroke}\tab {\uldb split-current-window}{\v split_current_window}
649\par \tab {\ul ^X1}{\v Keystroke}\tab {\uldb delete-other-windows}{\v delete_other_windows}
650\par \tab {\ul ^X0}{\v Keystroke}\tab {\uldb delete-window}{\v delete_window}
651\par \tab {\ul ^XO}{\v Keystroke}\tab {\uldb next-window}{\v next_window}
652\par \pard \s3\fi-2880\li2880\sa120\tqr\tx720\tx900\tx2880 \tab {\ul ^XP}{\v Keystroke}\tab {\uldb previous-window}{\v previous_window}
653\par \pard\plain \s6\sa120 \f4\fs20 Notice that the MicroEMACS usage of the word window is different from the meaning used in graphical systems:
654\par \pard\plain \s11\li360\tx2880 \f4\fs20 {\ul MicroEMACS}\tab {\ul Operating System}
655\par Window\tab Pane
656\par Screen\tab Window
657\par \pard\plain \s253\sa240\tx2880 \b\f4\cf2 \page {\plain \f4\fs16\up6 ${\footnote \pard\plain \s245 \f4\fs20 {\fs16\up6 $} Setting Colors}} {\plain \f4\fs16\up6 #{\footnote \pard\plain \s245 \f4\fs20 {\fs16\up6 #} Colors}} {\plain \f4\fs16\up6 +{\footnote
658\pard\plain \s245 \f4\fs20 {\fs16\up6 +} Procedures:160}} {\plain \f4\fs16\up6 K{\footnote \pard\plain \s245 \f4\fs20 {\fs16\up6 K} color}} Setting Colors
659\par \pard\plain \s6\sa120 \f4\fs20 On systems which are capable of displaying colors, the mode commands can be used to set the background and foreground character colors. Using {\uldb add-mode}{\v add_mode} ({\ul ^XM}{\v Keystroke}) or {\uldb delete-mode}{\v
660delete_mode} ({\ul ^X^M}{\v Keystroke}) and typing a lowercase color will set the background color in the current window. An uppercase color will set the foreground color in the current window.
661\par In a similar manner, {\uldb add-global-mode}{\v add_global_mode} ({\ul M-M}{\v Keystroke}) and {\uldb delete-global-mode}{\v delete_global_mode} ({\ul M-^M}{\v Keystroke}) will set the background or foreground colors of future windows.
662\par Colors that MicroEMACS knows about are: {\b white}, {\b gray} (dark grey), {\b grey} (light grey), {\b cyan}, {\b lcyan} (light cyan), {\b magenta}, {\b lmagenta} (light magenta), {\b yellow}, {\b lyellow} (light yellow), {\b blue}, {\b lblue}
663 (light blue), {\b red}, {\b lred} (light red), {\b green}, {\b lgreen} (light green) and {\b black}
664. If the computer you are running on does not have enough colors, MicroEMACS will attempt to guess at what color to use when you ask for one which is not there (systems with only 8 colors support: white, cyan, magenta, yellow, blue, red, green and black).
665
666\par Under Microsoft Windows, the whole 16 colors above are available if the display system supports them (depending on the value of the {\uldb Colors profile}{\v ColorsProfile}). In that case, {\ul Mode lines}{\v ModeLine}
667 are displayed as black characters on a light grey background. The {\ul message line}{\v MessageLine}
668 and desktop colors can be modified through the Windows "control panel" as "window text", "window background" and "application workspace". The value of the {\uldb $deskcolor}{\v _deskcolor} {\ul variable}{\v Variable} is always irrelevant.
669\par \pard\plain \s253\sa240\tx2880 \b\f4\cf2 \page {\plain \f4\fs16\up6 ${\footnote \pard\plain \s245 \f4\fs20 {\fs16\up6 $} Setting the Font}} {\plain \f4\fs16\up6 #{\footnote \pard\plain \s245 \f4\fs20 {\fs16\up6 #} Fonts}} {\plain \f4\fs16\up6 +{\footnote
670\pard\plain \s245 \f4\fs20 {\fs16\up6 +} Procedures:170}} {\plain \f4\fs16\up6 K{\footnote \pard\plain \s245 \f4\fs20 {\fs16\up6 K} font}} Setting the Font
671\par \pard\plain \s6\sa120 \f4\fs20 Under Microsoft Windows, the font used by MicroEMACS to display text within the {\ul screens}{\v Screen} and the {\ul message line}{\v MessageLine} can be selected by using the {\b\ul F}{\b ont...} item in the {\b S}{\b\ul c
672}{\b reen} menu. This brings up a dialog box in which you can select:
673\par \pard\plain \s2\fi-2520\li2880\sa120\tx2880 \f4\fs20 The character set\tab "{\ul A}NSI" is the usual default within Windows application. "{\ul O}EM" is useful when displaying files that contain pseudo-graphics characters.
674\par The face name\tab You can chose any of the available fixed-pitch faces.
675\par The size of the font\tab You can either chose one of the font heights listed or type one if you have scalable fonts. All heights are expressed in pixels.
676\par The font weight\tab Normal unless you check the "{\ul B}old" box.
677\par \pard\plain \s6\sa120 \f4\fs20 A sample of the selected font is shown, specifying its height and width. The maximum screen size is calculated as the number of columns and rows (including {\ul mode lines}{\v ModeLine}
678) that would be displayed in a maximized {\ul screen}{\v Screen} when the MicroEMACS frame is maximized.
679\par Pressing the Enter key or the {\b OK} button effects the change of font in MicroEMACS. Pressing the Alt+S keys or the {\b\ul S}{\b ave} button has the same effect, but also saves the font selection in the {\uldb profiles}{\v Profiles}
680 so that next time MicroEMACS is started, it uses that font. Pressing the Escape key or the {\b Cancel} button returns to MicroEMACS without changing the font.
681\par \pard\plain \s253\sa240\tx2880 \b\f4\cf2 {\fs16 \page }{\plain \f4\fs16\up6 ${\footnote \pard\plain \s245 \f4\fs20 {\fs16\up6 $} Case Control}}{\fs16  }{\fs16\up6 #{\footnote \pard\plain \s245 \f4\fs20 {\fs16\up6 #} CaseControl}} {\fs16\up6 +{\footnote
682\pard\plain \s245 \f4\fs20 {\fs16\up6 +} Procedures:180}} {\plain \f4\fs16\up6 K{\footnote \pard\plain \s245 \f4\fs20 {\fs16\up6 K} case;uppercase;lowercase;capitals}} Case Control
683\par \pard\plain \s6\sa120 \f4\fs20 The following {\ul commands}{\v Command} let you change the case of the {\uldb word}{\v Words} at or following the {\ul point}{\v Point}:
684\par \pard\plain \s3\fi-2880\li2880\tqr\tx720\tx900\tx2880 \f4\fs20 \tab {\ul M-C}{\v Keystroke}\tab {\uldb case-word-capitalize}{\v case_word_capitalize}
685\par \tab {\ul M-L}{\v Keystroke}\tab {\uldb case-word-lower}{\v case_word_lower}
686\par \pard \s3\fi-2880\li2880\sa120\tqr\tx720\tx900\tx2880 \tab {\ul M-U}{\v Keystroke}\tab {\uldb case-word-upper}{\v case_word_upper}
687\par \pard\plain \s6\sa120 \f4\fs20 Setting a {\ul mark}{\v Mark}, moving to the other end of the {\uldb region}{\v Regions} and using one of these commands will change the case of all the words in the selected region:
688\par \pard\plain \s3\fi-2880\li2880\tqr\tx720\tx900\tx2880 \f4\fs20 \tab {\ul ^X^L}{\v Keystroke}\tab {\uldb case-region-lower}{\v case_region_lower}
689\par \pard \s3\fi-2880\li2880\sa120\tqr\tx720\tx900\tx2880 \tab {\ul ^X^U}{\v Keystroke}\tab {\uldb case-region-upper}{\v case_region_upper}
690\par \pard\plain \s253\sa240\tx2880 \b\f4\cf2 \page {\plain \f4\fs16\up6 ${\footnote \pard\plain \s245 \f4\fs20 {\fs16\up6 $} Controlling Tabs}} {\plain \f4\fs16\up6 #{\footnote \pard\plain \s245 \f4\fs20 {\fs16\up6 #} ControllingTabs}} {\plain \f4\fs16\up6 +
691{\footnote \pard\plain \s245 \f4\fs20 {\fs16\up6 +} Procedures:190}} {\plain \f4\fs16\up6 K{\footnote \pard\plain \s245 \f4\fs20 {\fs16\up6 K} tabs}} Controlling Tabs
692\par \pard\plain \s6\sa120 \f4\fs20 By default, MicroEMACS sets the default tab stops every eighth column. This behavior can be changed (usually within the {\uldb start-up file}{\v StartupFile}).
693\par The behavior of the {\uldb handle-tab}{\v handle_tab} ({\ul ^I}{\v Keystroke} or Tab key) {\ul command}{\v Command} depends on the {\ul numeric argument}{\v Argument} that is supplied to it:
694\par \pard\plain \s8\fi-360\li360\sa120\tx360\tx1440\tx2880\tx3600\tx4320 \f4\fs20 \tab With no argument, {\b handle-tab} inserts space characters or a single tab character to get to the next tab stop, depending on its configuration...
695\par \tab With an non-zero argument {\i n}, tabs stops are reset to every {\i n}{\fs16\up6 th} column and {\b handle-tab} is reconfigured to insert {\ul space characters} in sufficient number to get to the next tab stop. This also sets the {\uldb $softtab}{\v
696_softtab} {\ul variable}{\v Variable} to {\i n}.
697\par \tab With an argument of zero, {\b handle-tab} is reconfigured so that it inserts {\ul true tab characters} (its default behavior) and the tab stop interval is reset to its default value of 8.
698\par \pard\plain \s6\sa120 \f4\fs20 The distance which a true tab character moves the cursor is reflected by the value of the {\uldb $hardtab}{\v _hardtab} {\ul variable}{\v Variable}
699. Initially set to 8, this determines how far each tab stop is placed from the previous one.
700\par Tab characters can be globally replaced by the appropriate number of spaces by the {\uldb detab-region}{\v detab_region} ({\ul ^X^D}{\v Keystroke}) command. The reverse, {\uldb entab-region}{\v entab_region} ({\ul ^X^E}{\v Keystroke}
701) changes multiple spaces to tab characters.
702\par \pard\plain \s253\sa240\tx2880 \b\f4\cf2 {\fs16 \page }{\plain \f4\fs16\up6 ${\footnote \pard\plain \s245 \f4\fs20 {\fs16\up6 $} Repetitive Tasks}}{\fs16  }{\fs16\up6 #{\footnote \pard\plain \s245 \f4\fs20 {\fs16\up6 #} RepetitiveTasks}} {\fs16\up6 +
703{\footnote \pard\plain \s245 \f4\fs20 {\fs16\up6 +} Procedures:200}} {\plain \f4\fs16\up6 K{\footnote \pard\plain \s245 \f4\fs20 {\fs16\up6 K} repeat;macro;keyboard}} Repetitive Tasks
704\par \pard\plain \s6\sa120 \f4\fs20 To perform any repetitive task, where you have a list of things that need to be changed, for instance one per line, follow these steps:
705\par \pard\plain \s8\fi-360\li360\sa120\tx360\tx1440\tx2880\tx3600\tx4320 \f4\fs20 1)\tab Position the {\ul point}{\v Point} to the beginning of the line to change
706\par 2)\tab Invoke {\uldb begin-macro}{\v begin_macro} ({\ul ^X(}{\v Keystroke})to start recording
707\par 3)\tab make the change, staying on that line
708\par 4)\tab move to the beginning of the next line
709\par 5)\tab Invoke {\uldb end-macro}{\v end_macro} ({\ul ^X)}{\v Keystroke}) to stop recording
710\par \pard\plain \s6\sa120 \f4\fs20 Do {\uldb execute-macro}{\v execute_macro} ({\ul ^XE}{\v Keystroke}) once to test your change on the next line. If it is satisfactory, count how many lines need to yet be changed, strike the {\ul meta key}{\v MetaKey}
711 followed by that number and {\ul ^XE}{\v Keystroke}. This causes your change to be made on all the lines.
712\par \pard\plain \s253\sa240\tx2880 \b\f4\cf2 {\fs16 \page }{\plain \f4\fs16\up6 ${\footnote \pard\plain \s245 \f4\fs20 {\fs16\up6 $} Undoing Your Edits}}{\fs16  }{\fs16\up6 #{\footnote \pard\plain \s245 \f4\fs20 {\fs16\up6 #} UndoingYourEdits}} {\fs16\up6 +
713{\footnote \pard\plain \s245 \f4\fs20 {\fs16\up6 +} Procedures:210}} {\plain \f4\fs16\up6 K{\footnote \pard\plain \s245 \f4\fs20 {\fs16\up6 K} scope;buffer;region}} Undoing Your Edits{\fs16
714\par }\pard\plain \s6\sa120 \f4\fs20
715It is all too easy to make mistakes while editing. But mistakes need not be permament. While MicroEMACS edits your file, it keeps track of the changes it makes to each buffer.  At any time you can undo each change done to your current buffer, starting wit
716h the last and moving backwards. This is done with the
717\par \tab {\ul ^_}{\v Keystroke}\tab {\uldb undo}{\v undo}
718\par command. You can also get a look at what MicroEMACS remembers of these editing changes by issuing the
719\par \tab {\ul ^XU}{\v Keystroke}\tab {\uldb list-undos}{\v list_undos}
720\par command. There are also some environment variables responcible for deciding how the undo command currently work. These are:
721\par {\uldb $undoflag}{\v _undoflag}\tab if FALSE, the undo mechinism is disabled
722\par {\uldb $dispundo}{\v _dispundo}\tab if TRUE, the number of basic editing operations in the undo stack of the current buffer is \tab \tab displayed on the mode line.
723\par \pard\plain \s253\sa240\tx2880 \b\f4\cf2 {\fs16 \page }{\plain \f4\fs16\up6 ${\footnote \pard\plain \s245 \f4\fs20 {\fs16\up6 $} Narrowing Your Scope}}{\fs16  }{\fs16\up6 #{\footnote \pard\plain \s245 \f4\fs20 {\fs16\up6 #} NarrowingYourScope}} {
724\fs16\up6 +{\footnote \pard\plain \s245 \f4\fs20 {\fs16\up6 +} Procedures:210}} {\plain \f4\fs16\up6 K{\footnote \pard\plain \s245 \f4\fs20 {\fs16\up6 K} scope;buffer;region}} Narrowing Your Scope
725\par \pard\plain \s6\sa120 \f4\fs20 Many times you will want to do something to a part of the text when the {\ul command}{\v Command} works on all the text. Also it is helpful to see or edit just a portion of the text.
726\par This kind of editing can be performed by narrowing the {\ul buffer}{\v Buffer} and later restoring the invisible portions, using the following commands:
727\par \pard\plain \s3\fi-2880\li2880\tqr\tx720\tx900\tx2880 \f4\fs20 \tab {\ul ^X<}{\v Keystroke}\tab {\uldb narrow-to-region}{\v narrow_to_region}
728\par \pard \s3\fi-2880\li2880\sa120\tqr\tx720\tx900\tx2880 \tab {\ul ^X>}{\v Keystroke}\tab {\uldb widen-from-region}{\v widen_from_region}
729\par \pard\plain \s253\sa240\tx2880 \b\f4\cf2 {\fs16 \page }{\plain \f4\fs16\up6 ${\footnote \pard\plain \s245 \f4\fs20 {\fs16\up6 $} Creating New Commands}}{\fs16  }{\fs16\up6 #{\footnote \pard\plain \s245 \f4\fs20 {\fs16\up6 #} CreatingNewCommands}} {
730\fs16\up6 +{\footnote \pard\plain \s245 \f4\fs20 {\fs16\up6 +} Procedures:220}} {\plain \f4\fs16\up6 K{\footnote \pard\plain \s245 \f4\fs20 {\fs16\up6 K} command;macro}} Creating New Commands
731\par \pard\plain \s6\sa120 \f4\fs20 MicroEMACS lets you create your own {\ul macros}{\v Macro} to perform any editing tasks, simple or complex. These macros are written in the MicroEMACS {\uldb macro language}{\v MacroLanguage}
732. Macros can be invoked by other macros and they can be bound to keystrokes by the {\uldb macro-to-key}{\v macro_to_key} ({\ul ^X^K}{\v Keystroke}) command.
733\par For examples of macros, look at the .CMD files supplied with MicroEMACS for Windows. In that package, {\uldb EMACS.RC}{\v StartupFile}
734 is the file which is executed automatically whenever MicroEMACS is started. and all the ???.CMD files contain the code for each {\ul page}{\v Page}.
735\par \pard\plain \s253\sa240\tx2880 \b\f4\cf2 \page {\plain \f4\fs16\up6 ${\footnote \pard\plain \s245 \f4\fs20 {\fs16\up6 $} Customizing Menus}} {\plain \f4\fs16\up6 #{\footnote \pard\plain \s245 \f4\fs20 {\fs16\up6 #} CustomizingMenus}} {\plain \f4\fs16\up6
736+{\footnote \pard\plain \s245 \f4\fs20 {\fs16\up6 +} Procedures:230}} {\plain \f4\fs16\up6 K{\footnote \pard\plain \s245 \f4\fs20 {\fs16\up6 K} menu;binding;command;macro}} Customizing Menus
737\par \pard\plain \s6\sa120 \f4\fs20 MicroEMACS {\uldb menus}{\v UsingMenus} can be modified by the following commands (usually employed in the {\uldb start-up file}{\v StartupFile}):
738\par \pard\plain \s3\fi-2880\li2880\tqr\tx720\tx900\tx2880 \f4\fs20 \tab  \tab {\uldb bind-to-menu}{\v bind_to_menu}\tab creates a menu item bound to a {\ul command}{\v Command}
739\par \tab  \tab {\uldb macro-to-menu}{\v macro_to_menu}\tab creates a menu item bound to a {\ul macro}{\v Macro}
740\par \pard \s3\fi-2880\li2880\sa120\tqr\tx720\tx900\tx2880 \tab  \tab {\uldb unbind-menu}{\v unbind_menu}\tab deletes a menu item
741\par \pard\plain \s6\sa120 \f4\fs20 With these three commands, menus are specified by using the MicroEMACS {\uldb menu name syntax}{\v MenuName}.
742\par \pard\plain \s252\sa120\tx2880 \b\f4 \page {\plain \f4\fs16\up6 ${\footnote \pard\plain \s245 \f4\fs20 {\fs16\up6 $} Menu Name Syntax}} {\plain \f4\fs16\up6 #{\footnote \pard\plain \s245 \f4\fs20 {\fs16\up6 #} MenuName}} {\plain \f4\fs16\up6 +{\footnote
743\pard\plain \s245 \f4\fs20 {\fs16\up6 +} CustomizingMenus:010menuname}} {\plain \f4\fs16\up6 K{\footnote \pard\plain \s245 \f4\fs20 {\fs16\up6 K} menu}} Menu Name Syntax
744\par \pard\plain \s6\sa120 \f4\fs20 Menu names used by the {\uldb bind-to-menu}{\v bind_to_menu}, {\uldb macro-to-menu}{\v macro_to_menu} and {\uldb unbind-menu}{\v unbind_menu} commands follow a common syntax. A menu name is composed of {\uldb menu item}{\v
745MenuItem} names separated by right brackets:
746\par \pard\plain \s4\fi-2160\li2880\sa120\tx2880 \f27\fs18 >{\i item1}>{\i item2}>{\i item3}
747\par \pard\plain \s6\sa120 \f4\fs20 When a menu name begins by a right bracket "{\b >}", it means that the menu item immediately following this right bracket is located within the menu bar. A menu name can also be specified as:
748\par \pard\plain \s4\fi-2160\li2880\sa120\tx2880 \f27\fs18 {\i item1}>{\i item2}
749\par \pard\plain \s6\sa120 \f4\fs20 In this case {\i item1} is located within the last accessed menu. One or more left brackets "{\b <}" can appear before the first item, meaning it is located as many levels up in the menu hierarchy:
750\par \pard\plain \s4\fi-2160\li2880\sa120\tx2880 \f27\fs18 <<{\i item1}>{\i item2}
751\par \pard\plain \s12\fi-720\li720\sa120 \f4\fs20 Notes:\tab The tilde character "~" cannot be used to escape the meaning of the brackets ("{\b <}" or "{\b >}") and ampersand "{\b &}
752" characters within menu names. The brackets simply cannot be escaped. The ampersand can be escaped (i.e. considered as a real ampersand instead of indicating the underscoring of a character) by using two consecutive ampersands: "{\b &&}".
753\par \tab It is good practice to enclose menu names in double quotes. This is necessary when there are embedded spaces within a name. Also, when a menu name begins by an ampersand, MicroEMACS may misinterpret it as a function name.
754\par \pard\plain \s6\sa120 \f4\fs20 See the {\uldb examples}{\v MenuExamples} for a more practical explanation...
755\par \pard\plain \s252\sa120\tx2880 \b\f4 \page {\plain \f4\fs16\up6 ${\footnote \pard\plain \s245 \f4\fs20 {\fs16\up6 $} Menu Item Syntax}} {\plain \f4\fs16\up6 #{\footnote \pard\plain \s245 \f4\fs20 {\fs16\up6 #} MenuItem}} {\plain \f4\fs16\up6 +{\footnote
756\pard\plain \s245 \f4\fs20 {\fs16\up6 +} CustomizingMenus:020menuitem}} {\plain \f4\fs16\up6 K{\footnote \pard\plain \s245 \f4\fs20 {\fs16\up6 K} menu}} Menu Item Syntax
757\par \pard\plain \s6\sa120 \f4\fs20 Menu item names are used as parts of {\uldb menu names}{\v MenuName}. They specify a single menu item within a given popup menu or within the menu bar. A menu item name can be formed of an {\i item text} and/or an {\i
758item index}:
759\par \pard\plain \s4\fi-2160\li2880\tx2880 \f27\fs18 {\i item text}@{\i item index}
760\par \pard\plain \s6 \f4\fs20 or:
761\par \pard\plain \s4\fi-2160\li2880\tx2880 \f27\fs18 {\i item text}
762\par \pard\plain \s6 \f4\fs20 or:
763\par \pard\plain \s4\fi-2160\li2880\sa120\tx2880 \f27\fs18 @{\i item index}
764\par \pard\plain \s6\sa120 \f4\fs20 The {\i item text} specifies the text of the item that appears within the menu, using an ampersand "{\b &}
765" as a prefix for the underlined character. Note that the key binding description, if any, is automatically generated by MicroEMACS and should not be part of the {\i item text}.
766\par The {\i item index} is a decimal number that specifies the index of the item within the menu. Indexes start at zero.
767\par If the specified item is being created:
768\par \pard\plain \s8\fi-360\li360\sa120\tx360\tx1440\tx2880\tx3600\tx4320 \f4\fs20 \tab The {\i item text} is mandatory.
769\par \tab Separators (horizontal lines between parts of a popup menu) are specified by the {\i item text} being a single dash "{\b -}". Note that either {\uldb bind-to-menu}{\v bind_to_menu} or {\uldb macro-to-menu}{\v macro_to_menu}
770 can be used for this, since the bound command or macro is irrelevant (although it has to be a valid one).
771\par \tab The {\i item index} can be used to specify the position where the new item will be placed
772\par \tab If the {\i item index} is not specified, the new item is placed at the end of the menu or just after the item that was used in a previous menu binding command.
773\par \pard\plain \s6\sa120 \f4\fs20 If the specified item already exists:
774\par \pard\plain \s8\fi-360\li360\sa120\tx360\tx1440\tx2880\tx3600\tx4320 \f4\fs20 \tab If the item is not a separator, only one of {\i item text} or {\i item index} is needed (but both can be specified).
775\par \tab If the item is a separator, the {\i item index} should be specified but {\b not} the  {\i item text}.
776\par \pard\plain \s6\sa120 \f4\fs20 See the {\uldb examples}{\v MenuExamples} for a more practical explanation...
777\par \pard\plain \s252\sa120\tx2880 \b\f4 \page {\plain \f4\fs16\up6 ${\footnote \pard\plain \s245 \f4\fs20 {\fs16\up6 $} Menu Examples}} {\plain \f4\fs16\up6 #{\footnote \pard\plain \s245 \f4\fs20 {\fs16\up6 #} MenuExamples}} {\plain \f4\fs16\up6 +{\footnote
778\pard\plain \s245 \f4\fs20 {\fs16\up6 +} CustomizingMenus:030menuexamples}} {\plain \f4\fs16\up6 K{\footnote \pard\plain \s245 \f4\fs20 {\fs16\up6 K} menu}} Menu Examples
779\par \pard\plain \s4\fi-2160\li2880\tx2880 \f27\fs18 bind-to-menu  forward-character  ">&Search>&Character@15>&Next"
780\par bind-to-menu  nop                "-"
781\par \pard \s4\fi-2160\li2880\sa120\tx2880 bind-to-menu  backward-character  "&Previous"
782\par \pard\plain \s6\sa120 \f4\fs20 This creates a new popup menu named "{\ul C}haracter" under the "{\ul S}earch" menu, containing the two items "{\ul N}ext" and "{\ul P}revious", with a separator (for the sake of the demonstration) between the two.
783\par \pard\plain \s4\fi-2160\li2880\tx2880 \f27\fs18 unbind-menu    ">&Search>&Character>@1"
784\par \pard\plain \s6\sa120 \f4\fs20 removes the above-created separator.
785\par \pard\plain \s4\fi-2160\li2880\tx2880 \f27\fs18 macro-to-menu  load-c-page    ">Code &page@4>&Load>&C"
786\par macro-to-menu  load-cpp-page  "C&++"
787\par macro-to-menu  load-p-page    "&Pascal"
788\par macro-to-menu  remove-c-page  "<&Remove>&C"
789\par macro-to-menu  remove-cpp-page   "C&++"
790\par macro-to-menu  remove-p-page  "&Pascal"
791\par bind-to-menu   nop            "<-"
792\par \pard \s4\fi-2160\li2880\sa120\tx2880 macro-to-menu  remove-all-pages  "Remove &all"
793\par \pard\plain \s6\sa120 \f4\fs20 This (assuming the specified macros actually exist) creates a new menu "Code {\ul p}age", located between the "E{\ul x}ecute" and the "{\ul M}iscellaneous" menus in the menu bar. This new menu contains the "{\ul L}oad", "{
794\ul R}emove" and "Remove {\ul a}ll" items, the later being preceded by a separator. Both the "{\ul L}oad" and "{\ul R}emove" items actually lead to sub-menus that both contain "{\ul C}", "C{\ul +}+" and "{\ul P}ascal".
795\par \pard\plain \s253\sa240\tx2880 \b\f4\cf2 \page {\plain \f4\fs16\up6 ${\footnote \pard\plain \s245 \f4\fs20 {\fs16\up6 $} Drag and Drop}} {\plain \f4\fs16\up6 #{\footnote \pard\plain \s245 \f4\fs20 {\fs16\up6 #} DragAndDrop}} {\plain \f4\fs16\up6 +
796{\footnote \pard\plain \s245 \f4\fs20 {\fs16\up6 +} Procedures:240}} {\plain \f4\fs16\up6 K{\footnote \pard\plain \s245 \f4\fs20 {\fs16\up6 K} drag and drop;file;drop}} Drag and Drop
797\par \pard\plain \s6\sa120\tx6750 \f4\fs20
798Under MS-Windows 3.1 and above, MicroEMACS supports a "drag and drop" file-selection mechanism. If you select one or more files in the Windows File Manager and drag them with the mouse, dropping them over MicroEMACS generates a pseudo mouse action: {\ul
799MS!}{\v\ul MouseAction} that can be used by {\ul binding}{\v Binding} it to a {\ul macro}{\v Macro}.
800\par \pard \s6\sa120 For instance, the following command causes a macro named "drop-files" to be invoked every time a group of files is dropped on MicroEMACS:
801\par \pard\plain \s4\fi-2160\li2880\sa120\tx2880 \f27\fs18 macro-to-key  drop-files  MS!
802\par \pard\plain \s6\sa120 \f4\fs20 The macro that handles the drag and drop mechanism acquires the necessary information from a buffer named "{\b Dropped files}":
803\par \pard\plain \s11\li360\sa120\tx2880 \f4\fs20 The first line of that buffer contains the name of the {\ul screen}{\v Screen}
804 on which the drop occurred. It is empty if the files were not dropped on any specific screen (for instance if they were dropped on the {\ul message line}{\v MessageLine}).
805\par The second and following lines contain the list of dropped files, one pathname per line.
806\par \pard\plain \s6\sa120 \f4\fs20 In addition, the {\uldb $xpos}{\v _xpos} and {\uldb $ypos}{\v _ypos} {\ul variables}{\v Variable}
807 are set to the text coordinates where the drop occurred (or to the value 255 if the files were not dropped on any specific screen).
808\par The {\uldb MDI.CMD}{\v MDI.CMD} {\ul page}{\v Page} contains a sample macro that handles drag and drop.
809\par \pard\plain \s254\qc\sa240 \b\f4\fs30\cf2 {\fs16 \page }{\plain \f4\fs16\up6 ${\footnote \pard\plain \s245 \f4\fs20 {\fs16\up6 $} Modes of Operation}}{\fs16  }{\fs16\up6 #{\footnote \pard\plain \s245 \f4\fs20 {\fs16\up6 #} ModesOfOperation}} {\fs16\up6 +
810{\footnote \pard\plain \s245 \f4\fs20 {\fs16\up6 +} Index:2030}} {\plain \f4\fs16\up6 K{\footnote \pard\plain \s245 \f4\fs20 {\fs16\up6 K} mode}} Modes of Operation
811\par \pard\plain \s6\sa120 \f4\fs20 Modes determine how MicroEMACS will treat text. Modes affect the contents of a {\ul buffer}{\v Buffer}. Global modes determine the modes of newly created buffers.
812\par \pard\plain \s3\fi-2880\li2880\tqr\tx720\tx900\tx2880 \f4\fs20 \tab {\ul ^XM}{\v Keystroke}\tab {\uldb add-mode}{\v\uldb add_mode}\tab Adds a mode to the current buffer
813\par \tab {\ul ^X^M}{\v Keystroke}\tab {\uldb delete-mode}{\v\uldb delete_mode}\tab Removes a mode from the current buffer
814\par \tab {\ul M-M}{\v Keystroke}\tab {\uldb add-global-mode}{\v\uldb add_global_mode}\tab Adds a global mode
815\par \pard \s3\fi-2880\li2880\sa120\tqr\tx720\tx900\tx2880 \tab {\ul M-^M}{\v Keystroke}\tab {\uldb delete-global-mode}{\v delete_global_mode}\tab Removes a global mode
816\par \pard\plain \s6\sa120 \f4\fs20 MicroEMACS's modes are:
817\par \pard\plain \s7\fi-1080\li1440\tx1440\tx2880 \f4\fs20 {\uldb ASAVE}{\v ASAVE}\tab Automatically Save
818\par {\uldb CMODE}{\v CMODE}\tab Editing C programs
819\par {\uldb CRYPT}{\v CRYPT}\tab Encryption
820\par {\uldb EXACT}{\v EXACT}\tab Character Case during Searches
821\par {\uldb MAGIC}{\v\uldb MAGIC}\tab Regular Expression Pattern Matching
822\par {\uldb OVER}{\v\uldb OVER}\tab Overstrike Mode
823\par {\uldb REP}{\v\uldb REP}\tab Replace Mode
824\par {\uldb VIEW}{\v\uldb VIEW}\tab No Changes Permitted
825\par \pard \s7\fi-1080\li1440\sa120\tx1440\tx2880 {\uldb WRAP}{\v\uldb WRAP}\tab Wrap entered text
826\par \pard\plain \s251\sa120\tx2880 \b\f4\fs20 {\fs16 \page }{\plain \f4\fs16\up6 ${\footnote \pard\plain \s245 \f4\fs20 {\fs16\up6 $} ASAVE Mode}}{\fs16  }{\fs16\up6 #{\footnote \pard\plain \s245 \f4\fs20 {\fs16\up6 #} ASAVE} +{\footnote \pard\plain \s245
827\f4\fs20 {\fs16\up6 +} ModesOfOperation:asave} }{\plain \f4\fs16\up6 K{\footnote \pard\plain \s245 \f4\fs20 {\fs16\up6 K} ASAVE;mode;autosave;save}}{\fs16\up6  }ASAVE Mode
828\par \pard\plain \s6\sa120 \f4\fs20 When this mode is on, MicroEMACS automatically saves the contents of your current {\ul buffer}{\v Buffer} to disk every time you have typed 256 characters. The buffer is saved to the file named on the {\ul mode line}{\v
829ModeLine} of the buffer. This mode assures you that you will loose very little text should your computer crash while you are editing. Be sure you are willing to have your original file replaced automatically before you add this mode.
830\par The frequency of saving can be altered by changing the contents of the {\uldb $asave}{\v _asave} {\ul variable}{\v Variable }.Use the {\uldb set}{\v set} ({\ul ^XA}{\v Keystroke}) {\ul command}{\v Command} like this:
831\par \pard\plain \s4\fi-2160\li2880\sa120\tx2880 \f27\fs18 {\f7 ^XA $asave 2048
832\par }\pard\plain \s6\sa120 \f4\fs20 to tell MicroEMACS to automatically save the current buffer after 2048 characters are typed.
833\par \pard\plain \s12\fi-720\li720\sa120 \f4\fs20 Note:\tab the {\uldb $acount}{\v _acount} variable contains the count down to the next auto-save.
834\par \pard\plain \s251\sa120\tx2880 \b\f4\fs20 {\fs16 \page }{\plain \f4\fs16\up6 ${\footnote \pard\plain \s245 \f4\fs20 {\fs16\up6 $} CMODE Mode}}{\fs16  }{\fs16\up6 #{\footnote \pard\plain \s245 \f4\fs20 {\fs16\up6 #} CMODE}} {\fs16\up6 +{\footnote
835\pard\plain \s245 \f4\fs20 {\fs16\up6 +} ModesOfOperation:cmode}} {\plain \f4\fs16\up6 K{\footnote \pard\plain \s245 \f4\fs20 {\fs16\up6 K} CMODE;mode;C language;brace;parenthesis;bracket}} CMODE Mode
836\par \pard\plain \s6\sa120 \f4\fs20 This mode is specifically for editing programs written in the C language. When CMODE is active, MicroEMACS will try to anticipate what indentation is needed when the {\uldb newline}{\v newline} ({\ul ^M}{\v Keystroke}
837 or Enter key) {\ul command}{\v Command} is used. It will always bring a pound sign "#" with only leading white space back to the left margin.
838It will also attempt to flash the cursor over the proper opening fence character matching any closing fence character (one of "{\b )\}]}") that is typed (the duration of this flashing can be controlled by setting the {\uldb $tpause}{\v _tpause} {\ul
839variable}{\v Variable}).
840\par Note that the standard start-up files for MicroEMACS install a {\ul macro}{\v Macro} which checks any file being read into MicroEMACS and sets CMODE if the file ends with a .c or .h extension.
841\par Related {\ul command}{\v Command}:
842\par \pard\plain \s3\fi-2880\li2880\sa120\tqr\tx720\tx900\tx2880 \f4\fs20 \tab {\ul M-^F}{\v Keystroke}\tab {\uldb goto-matching-fence}{\v\uldb goto_matching_fence}
843\par \pard\plain \s251\sa120\tx2880 \b\f4\fs20 {\fs16 \page }{\plain \f4\fs16\up6 ${\footnote \pard\plain \s245 \f4\fs20 {\fs16\up6 $} CRYPT Mode}}{\fs16  }{\fs16\up6 #{\footnote \pard\plain \s245 \f4\fs20 {\fs16\up6 #} CRYPT}} {\fs16\up6 +{\footnote
844\pard\plain \s245 \f4\fs20 {\fs16\up6 +} ModesOfOperation:crypt}} {\plain \f4\fs16\up6 K{\footnote \pard\plain \s245 \f4\fs20 {\fs16\up6 K} CRYPT;mode;encryption;secret}} CRYPT Mode
845\par \pard\plain \s6\sa120 \f4\fs20 For files of a sensitive nature, MicroEMACS can encrypt text as it is written or read. The encryption algorithm is a Beaufort Cipher with a variant key. This is reasonably difficult to decrypt.
846\par When you write out text, if CRYPT mode is active and there is no encryption key, MicroEMACS will ask:
847\par \pard\plain \s4\fi-2160\li2880\sa120\tx2880 \f27\fs18 {\f7 Encryption String:
848\par }\pard\plain \s6\sa120 \f4\fs20 Type in a word or phrase of at least five and up to 128 characters for the encryption to use. I
849f you look at the file which is then written out, all the printable characters have been scrambled.To read such a file later, you can use the {\b -k} {\uldb switch}{\v CommandLineSwitches} when calling up MicroEMACS:
850\par \pard\plain \s4\fi-2160\li2880\sa120\tx2880 \f27\fs18 {\f7 emacs -k }{\i\f7 filename}{\f7
851\par }\pard\plain \s6\sa120 \f4\fs20 and you will be asked the encryption key before the file is read.
852\par You can modify the encryption key by using the {\uldb set-encryption-key}{\v set_encryption_key} ({\ul M-E}{\v Keystroke}) command.
853\par Note: previous versions of MicroEMACS used a defective encryption method. For compatibility, you can chose to use the older algorithm by setting the {\uldb $oldcrypt}{\v _oldcrypt} {\ul variable}{\v Variable} to TRUE.
854\par \pard\plain \s251\sa120\tx2880 \b\f4\fs20 {\fs16 \page }{\plain \f4\fs16\up6 ${\footnote \pard\plain \s245 \f4\fs20 {\fs16\up6 $} EXACT Mode}}{\fs16  }{\fs16\up6 #{\footnote \pard\plain \s245 \f4\fs20 {\fs16\up6 #} EXACT}} {\fs16\up6 +{\footnote
855\pard\plain \s245 \f4\fs20 {\fs16\up6 +} ModesOfOperation:exact}} {\plain \f4\fs16\up6 K{\footnote \pard\plain \s245 \f4\fs20 {\fs16\up6 K} EXACT;mode;search;replace;case}} EXACT Mode
856\par \pard\plain \s6\sa120 \f4\fs20 Normally, when using search or replace {\ul commands}{\v Command}, MicroEMACS ignores the case of letters for comparisons. With EXACT mode set, the case of the characters must be the same for a match to occur.
857\par \pard\plain \s251\sa120\tx2880 \b\f4\fs20 {\fs16 \page }{\plain \f4\fs16\up6 ${\footnote \pard\plain \s245 \f4\fs20 {\fs16\up6 $} MAGIC Mode}}{\fs16  }{\fs16\up6 #{\footnote \pard\plain \s245 \f4\fs20 {\fs16\up6 #} MAGIC}} {\fs16\up6 +{\footnote
858\pard\plain \s245 \f4\fs20 {\fs16\up6 +} ModesOfOperation:magic}} {\plain \f4\fs16\up6 K{\footnote \pard\plain \s245 \f4\fs20 {\fs16\up6 K} MAGIC;mode;search;replace;regular expressions}} MAGIC Mode
859\par \pard\plain \s6\sa120 \f4\fs20 Normally, MicroEMACS uses the string you type in response to a search or replace {\ul command}{\v Command}
860 as the string to find.  When magic mode is enabled, MicroEMACS considers the string you type as a pattern or template to use in finding a string to match.  Many characters in this template have special meaning:
861\par \pard\plain \s7\fi-1080\li1440\sa120\tx1440\tx2880 \f4\fs20 {\b .}\tab any single character, except newline.
862\par {\b [}{\i set}{\b ]}\tab any single character from the bracketed {\i set}.
863\par {\b ^}\tab beginning of a line.
864\par {\b $}\tab end of a line.
865\par {\b \\}\tab the next character has no special meaning, take the next character literally (unless it is a parenthesis)
866\par {\b ?}\tab the preceding character (or "{\b .}" or {\b [}{\i set}{\b ]}) is optional.
867\par {\b *}\tab the preceding character (or "{\b .}" or {\b [}{\i set}{\b ]}) matches zero to many times.
868\par {\b +}\tab the preceding character (or "{\b .}" or {\b [}{\i set}{\b ]}) matches one to many times.
869\par {\b \\(}{\i group}{\b \\)}\tab define a {\ul group}{\v Group} for the replacement string, or for the {\uldb &group}{\v .group} {\ul function}{\v Function}.
870\par \pard\plain \s6\sa120 \f4\fs20 Some characters in the replacement string can have special meanings:
871\par \pard\plain \s7\fi-1080\li1440\sa120\tx1440\tx2880 \f4\fs20 {\b &}\tab insert all of the text matched by the search.
872\par {\b \\}\tab the next character has no special meaning (but see groups below...)
873\par {\b \\1} to {\b \\9}\tab insert the text defined by the {\i n}{\fs18\up6 th} group in the search string.
874\par \pard\plain \s251\sa120\tx2880 \b\f4\fs20 {\fs16 \page }{\plain \f4\fs16\up6 ${\footnote \pard\plain \s245 \f4\fs20 {\fs16\up6 $} OVER Mode}}{\fs16  }{\fs16\up6 #{\footnote \pard\plain \s245 \f4\fs20 {\fs16\up6 #} OVER}} {\fs16\up6 +{\footnote
875\pard\plain \s245 \f4\fs20 {\fs16\up6 +} ModesOfOperation:over}} {\plain \f4\fs16\up6 K{\footnote \pard\plain \s245 \f4\fs20 {\fs16\up6 K} OVER;mode;insert;REP}} OVER Mode
876\par \pard\plain \s6\sa120 \f4\fs20 MicroEMACS is normally in what many other editors consider "ins
877ert" mode. This means when you strike a character, MicroEMACS makes room for that character in the current line, inserting it between the existing characters. In OVER mode, MicroEMACS instead overwrites characters, replacing the existing character under t
878he {\ul point}{\v Point} with the character you type. OVER mode will maintain the position of text lined up using tabs while replacing existing text.
879\par Be wary of editing Japanese KANJI characters while in this mode: it is possible to overwrite the first byte of the character, leaving the second byte meaningless and alone. {\uldb REP mode}{\v REP} is more appropriate for such files.
880\par \pard\plain \s251\sa120\tx2880 \b\f4\fs20 {\fs16 \page }{\plain \f4\fs16\up6 ${\footnote \pard\plain \s245 \f4\fs20 {\fs16\up6 $} WRAP Mode}}{\fs16  }{\fs16\up6 #{\footnote \pard\plain \s245 \f4\fs20 {\fs16\up6 #} WRAP}} {\fs16\up6 +{\footnote
881\pard\plain \s245 \f4\fs20 {\fs16\up6 +} ModesOfOperation:wrap}} {\plain \f4\fs16\up6 K{\footnote \pard\plain \s245 \f4\fs20 {\fs16\up6 K} WRAP;mode;fill;word}} WRAP Mode
882\par \pard\plain \s6\sa120 \f4\fs20 This mode causes the {\ul point}{\v Point} and the previous {\uldb word}{\v Words}
883 to jump down to the next line when you type a space and are beyond the current fill column. This is normally set to column 72, allowing you to enter text non-stop on a standard screen without bothering to use the return key.
884\par To change the column that text is wrapped past, use the {\uldb set}{\v set} ({\ul ^XA}{\v Keystroke}) {\ul command}{\v Command} to change the value of the {\uldb $fillcol}{\v\uldb _fillcol} {\ul variable}{\v Variable}, like this:
885\par \pard\plain \s4\fi-2160\li2880\sa120\tx2880 \f27\fs18 {\f7 ^XA $fillcol }{\i\f7 new_value}{\f7
886\par }\pard\plain \s6\sa120 \f4\fs20 MicroEMACS will then be set to wrap words past column {\i new_value}.
887\par The {\uldb $wraphook}{\v _wraphook} {\ul variable}{\v Variable} contains the command or {\ul macro}{\v Macro} used to perform word wrapping. By default, it is the {\uldb wrap-word}{\v wrap_word} command.
888\par \pard\plain \s251\sa120\tx2880 \b\f4\fs20 {\fs16 \page }{\plain \f4\fs16\up6 ${\footnote \pard\plain \s245 \f4\fs20 {\fs16\up6 $} VIEW Mode}}{\fs16  }{\fs16\up6 #{\footnote \pard\plain \s245 \f4\fs20 {\fs16\up6 #} VIEW}} {\fs16\up6 +{\footnote
889\pard\plain \s245 \f4\fs20 {\fs16\up6 +} ModesOfOperation:view}} {\plain \f4\fs16\up6 K{\footnote \pard\plain \s245 \f4\fs20 {\fs16\up6 K} VIEW;mode}} VIEW Mode
890\par \pard\plain \s6\sa120 \f4\fs20 When in VIEW mode, no {\ul command}{\v Command} which would change the text is allowed. If you attempt any such command, or try to type in any text, MicroEMACS responds with:
891\par \pard\plain \s4\fi-2160\li2880\sa120\tx2880 \f27\fs18 {\f7 [Key Illegal in View Mode]
892\par }\pard\plain \s6\sa120 \f4\fs20 This mode is very useful when you want to just look at some existing text, as it will prevent you from changing that text. Also MicroEMACS will not attempt a {\ul file lock}{\v FileLocking}
893 if a file is read in VIEW mode, allowing you to view files which you don't have write access to, or other people have locked. To launch MicroEMACS and read a file in VIEW mode, use the -v {\uldb switch}{\v CommandLineSwitches}:
894\par \pard\plain \s4\fi-2160\li2880\sa120\tx2880 \f27\fs18 {\f7 emacs -v }{\i\f7 filename}{\f7
895\par }\pard\plain \s251\sa120\tx2880 \b\f4\fs20 {\fs16 \page }{\plain \f4\fs16\up6 ${\footnote \pard\plain \s245 \f4\fs20 {\fs16\up6 $} REP Mode}}{\fs16  }{\fs16\up6 #{\footnote \pard\plain \s245 \f4\fs20 {\fs16\up6 #} REP}} {\fs16\up6 +{\footnote \pard\plain
896\s245 \f4\fs20 {\fs16\up6 +} ModesOfOperation:rep}} {\plain \f4\fs16\up6 K{\footnote \pard\plain \s245 \f4\fs20 {\fs16\up6 K} REP;mode;insert;OVER}} REP Mode
897\par \pard\plain \s6\sa120 \f4\fs20
898MicroEMACS is normally in what many other editors consider "insert" mode. This means when you strike a character, MicroEMACS makes room for that character in the current line, inserting it between the existing characters. In REP mode, MicroEMACS instead r
899eplaces the existing character under the {\ul point}{\v Point}
900 with the character you type. REP mode will not maintain the position of text which takes up multiple columns using tabs since it will replace a single tab character with the typed character which will not take up the same space on screen. For this purpos
901e, the {\uldb OVER mode}{\v OVER} is more appropriate
902\par However, Japanese KANJI characters will correctly replace and be replaced in this mode as the two bytes will be considered together when either style character is used.
903\par \pard\plain \s254\qc\sa240 \b\f4\fs30\cf2 {\plain \f4\fs16 \page }{\plain \f4\fs16\up6 ${\footnote \pard\plain \s245 \f4\fs20 {\fs16\up6 $} Start-up}}{\plain \f4\fs16  }{\plain \f4\fs16\up6 #{\footnote \pard\plain \s245 \f4\fs20 {\fs16\up6 #} Startup}}
904{\plain \f4\fs16\up6 +{\footnote \pard\plain \s245 \f4\fs20 {\fs16\up6 +} Index:2050}} {\plain \f4\fs16\up6 K{\footnote \pard\plain \s245 \f4\fs20 {\fs16\up6 K} start-up}} Start-up
905\par \pard\plain \s6\sa120 \f4\fs20 There are different things that can be specified on the {\uldb MicroEMACS command line}{\v CommandLineSwitches} to control the way the editor operates. These can be switches, which are a dash "{\b -}
906" followed by a letter, and possible other parameters, or a {\uldb start-up file}{\v StartupFile} specifier, which is an at sign "{\b @}" followed by a file name that overrides the default "EMACS.RC".
907\par Under Microsoft Windows, MicroEMACS also uses some {\uldb profiles}{\v Profiles} from the WIN.INI file.
908\par \pard\plain \s253\sa240\tx2880 \b\f4\cf2 {\plain \f4\fs16\cf2 \page }{\plain \f4\fs16\up6 ${\footnote \pard\plain \s245 \f4\fs20 {\fs16\up6 $} Start-up File}}{\plain \f4\fs16\cf2  }{\plain \f4\fs16\cf2\up6 #{\footnote \pard\plain \s245 \f4\fs20 {
909\fs16\up6 #} StartupFile}} {\plain \f4\fs16\cf2\up6 +{\footnote \pard\plain \s245 \f4\fs20 {\fs16\up6 +} Index:2050startupfile}} {\plain \f4\fs16\up6 K{\footnote \pard\plain \s245 \f4\fs20 {\fs16\up6 K} start-up;emacs.rc}} Start-up File
910\par \pard\plain \s6\sa120 \f4\fs20 When MicroEMACS starts executing, it looks for a start-up file which it will execute as a {\ul macro}{\v Macro} before it reads in any other file. This start-up macro usually redefines some {\ul bindings}{\v Binding}
911 (for instance to use function keys) and loads various useful macros.
912\par The name of the start-up file can be specified on the {\uldb MicroEMACS command line}{\v CommandLineSwitches}. By default, it is: EMACS.RC.
913\par Unless the pathname of the start-up file is fully qualified, MicroEMACS searches for the file along the {\ul path}{\v Path}.
914\par \pard\plain \s253\sa240\tx2880 \b\f4\cf2 {\plain \f4\fs16\cf2 \page }{\plain \f4\fs16\up6 ${\footnote \pard\plain \s245 \f4\fs20 {\fs16\up6 $} Command Line Switches}}{\plain \f4\fs16\cf2  }{\plain \f4\fs16\cf2\up6 #{\footnote \pard\plain \s245 \f4\fs20 {
915\fs16\up6 #} CommandLineSwitches}} {\plain \f4\fs16\cf2\up6 +{\footnote \pard\plain \s245 \f4\fs20 {\fs16\up6 +} Index:2050startupcommandlineswitches}} {\plain \f4\fs16\up6 K{\footnote \pard\plain \s245 \f4\fs20 {\fs16\up6 K} switches;start-up}}
916 Command Line Switches
917\par \pard\plain \s6\sa120 \f4\fs20 The command line used to launch MicroEMACS looks like this:
918\par \pard\plain \s4\fi-2160\li2880\sa120\tx2880 \f27\fs18 EMACS.EXE   {\i switches    files to edit}
919\par \pard\plain \s6\sa120 \f4\fs20 The following {\i switches} can be specified:
920\par \pard\plain \s2\fi-2520\li2880\sa120\tx2880 \f4\fs20 {\b @}{\i file}\tab This causes the named {\i file} to be executed instead of the standard {\uldb EMACS.RC}{\v StartupFile}
921 file before MicroEMACS reads in any other files. More than one of these can be placed on the command line, and they will be executed in the order that they appear.
922\par {\b -C}\tab The following source files on the command line can be changed (as opposed to being in VIEW mode). This is mainly used to cancel the effects of the -v switch used previously in the same command line.
923\par {\b -E}\tab This flag causes emacs to automatically run the start-up file "error.cmd" instead of emacs.rc. This can be used by compilers for error processing.
924\par {\b -G}{\i num} or {\b +}{\i num}\tab Upon entering MicroEMACS, position the cursor at the {\i num} line of the first file.
925\par {\b -I}{\i var  value}\tab Initialize a MicroEMACS {\uldb variable}{\v Variables} with {\i value}.
926\par {\b -K}{\i key}\tab This tells MicroEMACS to place the source files in {\uldb CRYPT mode}{\v CRYPT} and read it in using {\i key} as the encryption key. If no key is listed after the {\b -K}
927 switch, you will be prompted for a key, and it will not be echoed as it is typed.
928\par {\b -R}\tab This places MicroEMACS in "restricted mode" where any {\ul commands}{\v Commands}
929 allowing the user to read or write any files other than the ones listed on the command line are disabled. Also all commands allowing the user access to the operating system are disabled. This makes MicroEMACS a "safe" environment for use within other app
930lications and especially used as a remote editor for an electronic Bulletin Board System (BBS).
931\par {\b -S}{\i string}\tab After MicroEMACS is started, it automatically {\uldb searches}{\v SearchingAndReplacing} for {\i string }in the first source file.
932\par {\b -V}\tab This tells MicroEMACS that all the following files on the command line should be in {\uldb VIEW mode}{\v VIEW} to prevent any changes being made to them.
933\par \pard\plain \s253\sa240\tx2880 \b\f4\cf2 {\fs16 \page }{\plain \f4\fs16\up6 ${\footnote \pard\plain \s245 \f4\fs20 {\fs16\up6 $} Profiles}}{\fs16  }{\fs16\up6 #{\footnote \pard\plain \s245 \f4\fs20 {\fs16\up6 #} Profiles}} {\fs16\up6 +{\footnote
934\pard\plain \s245 \f4\fs20 {\fs16\up6 +} Index:2050startupprofiles}} {\plain \f4\fs16\up6 K{\footnote \pard\plain \s245 \f4\fs20 {\fs16\up6 K} profile;start-up;WIN.INI}} Profiles
935\par \pard\plain \s6\sa120 \f4\fs20 Profiles are entries in the WIN.INI file and are used only under Microsoft Windows. MicroEMACS uses a few profiles, all placed under the "[MicroEMACS]" section, to define the initial window size, the initial font and the p
936ath names of some files.
937\par The following profiles can be modified by editing the WIN.INI file:
938\par \pard\plain \s2\fi-2520\li2880\sa120\tx2880 \f4\fs20 {\uldb Colors}{\v ColorsProfile}\tab number of colors supported by the display.{\uldb
939\par DOSExec}{\v DosExecProfile}\tab path name of a PIF file for {\uldb pipe-command}{\v pipe_command}, {\uldb filter-buffer}{\v filter_buffer} and {\uldb i-shell}{\v i_shell}
940\par {\uldb DOSBox}{\v DosBoxProfile}\tab path name of a PIF file for {\uldb shell-command}{\v shell_command}
941\par {\uldb HelpFile}{\v HelpFileProfile}\tab path name of this help file
942\par {\uldb InitialSize}{\v InitialSizeProfile}\tab keywords: "maximize", "minimize" or "optimize"
943\par {\uldb Shell}{\v ShellProfile}\tab path name of the shell executable under Windows NT.
944\par {\uldb ShellExecOption}{\v ShellProfile}\tab command execution option for the shell under Windows NT.
945\par {\uldb TimeSlice}{\v TimeSliceProfile}\tab number of milliseconds of processing before yielding to other applications
946\par \pard\plain \s6\sa120 \f4\fs20 The font-related profiles ({\b FontName}, {\b FontWeight}, {\b FontWidth}, {\b FontHeight} and {\b CharSet}) are updated by MicroEMACS itself when a {\uldb font selection}{\v Fonts} is saved.
947\par \pard\plain \s252\sa120\tx2880 \b\f4 {\plain \f4\fs16\up6 \page ${\footnote \pard\plain \s245 \f4\fs20 {\fs16\up6 $} Colors Profile}} {\plain \f4\fs16\up6 #{\footnote \pard\plain \s245 \f4\fs20 {\fs16\up6 #} ColorsProfile}} {\plain \f4\fs16\up6 +
948{\footnote \pard\plain \s245 \f4\fs20 {\fs16\up6 +} Profiles:ColorsProfile}} {\plain \f4\fs16\up6 K{\footnote \pard\plain \s245 \f4\fs20 {\fs16\up6 K} profile;color}} Colors Profile
949\par \pard\plain \s6\sa120 \f4\fs20 The Colors {\uldb profile}{\v Profiles} is used to force MicroEMACS to run in either color or monochrome mode. In color mode, the {\ul mode lines}{\v ModeLine}
950 display back text over a light grey background and editable text is displayed as white on black (these colors can be {\uldb customized}{\v Colors}
951). In monochrome mode, MicroEMACS uses the colors specified by the system (configurable through the Windows Control Panel), using highlighted text for the mode lines.
952\par The value associated to the colors profile is the number of colors supported by the system, or zero (
953to allow MicroEMACS to automatically determine the proper value). Monochrome mode is assumed for values 1 and 2. Values greater than 2 put MicroEMACS in color mode.
954\par If this profile does not appear in the [MicroEMACS] section of the WIN.INI file, the default value is 0.
955\par Setting this profile is particularly useful on monochrome displays that allow multiple shades of gray (in particular, laptop screens), as MicroEMACS mistakenly believes these to be actual color displays.
956\par \pard\plain \s252\sa120\tx2880 \b\f4 {\fs16 \page }{\plain \f4\fs16\up6 ${\footnote \pard\plain \s245 \f4\fs20 {\fs16\up6 $} DOSExec Profile}}{\fs16  }{\fs16\up6 #{\footnote \pard\plain \s245 \f4\fs20 {\fs16\up6 #} DosExecProfile}} {\fs16\up6 +{\footnote
957\pard\plain \s245 \f4\fs20 {\fs16\up6 +} Profiles:dosexecprofile}} {\plain \f4\fs16\up6 K{\footnote \pard\plain \s245 \f4\fs20 {\fs16\up6 K} profile;DOS;PIF;filter;pipe;shell;WIN.INI}} DOSExec Profile
958\par \pard\plain \s6\sa120 \f4\fs20 The DOSExec {\uldb profile}{\v Profiles} specifies the path name of a PIF file used by the {\uldb pipe-command}{\v pipe_command}, {\uldb filter-buffer}{\v filter_buffer} and {\uldb i-shell}{\v i_shell}
959 commands under MS Windows 3.x. This profile is also used when the {\uldb shell-command}{\v shell_command} command is invoked with a {\ul numeric argument}{\v Argument}.
960\par If this profile does not appear in the [MicroEMACS] section of the WIN.INI file, the file "DOSEXEC.PIF" is searched along the {\ul path}{\v Path}
961. This is appropriate if, for instance, that file is located in the directory where the MicroEMACS executable resides.
962\par \pard\plain \s252\sa120\tx2880 \b\f4 {\fs16 \page }{\plain \f4\fs16\up6 ${\footnote \pard\plain \s245 \f4\fs20 {\fs16\up6 $} DOSBox Profile}}{\fs16  }{\fs16\up6 #{\footnote \pard\plain \s245 \f4\fs20 {\fs16\up6 #} DosBoxProfile}} {\fs16\up6 +{\footnote
963\pard\plain \s245 \f4\fs20 {\fs16\up6 +} Profiles:dosboxprofile}} {\plain \f4\fs16\up6 K{\footnote \pard\plain \s245 \f4\fs20 {\fs16\up6 K} profile;DOS;PIF;shell;WIN.INI}} DOSBox Profile
964\par \pard\plain \s6\sa120 \f4\fs20 The DOSBox {\uldb profile}{\v Profiles} specifies the path name of a PIF file used when the {\uldb shell-command}{\v shell_command} is invoked without a {\ul numeric argument}{\v Argument} under MS Windows 3.x.
965\par If this profile does not appear in the [MicroEMACS] section of the WIN.INI file, the file "DOSBOX.PIF" is searched along the {\ul path}{\v Path}
966. This is appropriate if, for instance, that file is located in the directory where the MicroEMACS executable resides.
967\par \pard\plain \s252\sa120\tx2880 \b\f4 \page {\plain \f4\fs16\up6 ${\footnote \pard\plain \s245 \f4\fs20 {\fs16\up6 $} HelpFile Profile}} {\plain \f4\fs16\up6 #{\footnote \pard\plain \s245 \f4\fs20 {\fs16\up6 #} HelpFileProfile}} {\plain \f4\fs16\up6 +
968{\footnote \pard\plain \s245 \f4\fs20 {\fs16\up6 +} Profiles:helpfileprofile}} {\plain \f4\fs16\up6 K{\footnote \pard\plain \s245 \f4\fs20 {\fs16\up6 K} profile;help;WIN.INI}} HelpFile Profile
969\par \pard\plain \s6\sa120 \f4\fs20 The HelpFile {\uldb profile}{\v Profiles} specifies the path name of the Help file for MicroEMACS. It allows proper function of the menu items that call-up this Help file.
970\par The default value is the file "MEWIN.HLP" within the directory where the MicroEMACS executable resides.
971\par \pard\plain \s252\sa120\tx2880 \b\f4 \page {\plain \f4\fs16\up6 ${\footnote \pard\plain \s245 \f4\fs20 {\fs16\up6 $} InitialSize Profile}} {\plain \f4\fs16\up6 #{\footnote \pard\plain \s245 \f4\fs20 {\fs16\up6 #} InitialSizeProfile}} {\plain \f4\fs16\up6
972+{\footnote \pard\plain \s245 \f4\fs20 {\fs16\up6 +} Profiles:initialsizeprofile}} {\plain \f4\fs16\up6 K{\footnote \pard\plain \s245 \f4\fs20 {\fs16\up6 K} profile;size;WIN.INI}} InitialSize Profile
973\par \pard\plain \s6\sa120 \f4\fs20 The InitialSize {\uldb profile}{\v Profiles} specifies options for the sizing of the initial MicroEMACS frame window. It can be one of the following keywords:
974\par \pard\plain \s2\fi-2520\li2880\sa120\tx2880 \f4\fs20 {\b maximize}\tab the frame window fills the whole display
975\par {\b icon} or {\b minimize}\tab MicroEMACS starts as an icon
976\par {\b optimize}\tab the frame window fills the whole display, except a single row of icons at the bottom.
977\par \pard\plain \s6\sa120 \f4\fs20 If the InitialSize profile is not used, the initial size of the MicroEMACS frame window is decided by the operating system.
978\par \pard\plain \s252\sa120\tx2880 \b\f4 \page {\plain \f4\fs16\up6 ${\footnote \pard\plain \s245 \f4\fs20 {\fs16\up6 $} Shell and ShellExecOption Profiles}} {\plain \f4\fs16\up6 #{\footnote \pard\plain \s245 \f4\fs20 {\fs16\up6 #} ShellProfile}} {\plain
979\f4\fs16\up6 +{\footnote \pard\plain \s245 \f4\fs20 {\fs16\up6 +} Profiles:ShellProfile}} {\plain \f4\fs16\up6 K{\footnote \pard\plain \s245 \f4\fs20 {\fs16\up6 K} profile;Shell}} Shell and ShellExecOption Profiles
980\par \pard\plain \s6\sa120 \f4\fs20 The {\b Shell} {\uldb profile}{\v Profiles} specifies the path name of the shell executable used by the {\uldb pipe-command}{\v pipe_command}, {\uldb filter-buffer}{\v filter_buffer}, {\uldb i-shell}{\v i_shell} and {\uldb
981shell-command}{\v shell_command}
982 commands under Windows NT. If this profile does not appear in the [MicroEMACS] section of the WIN.INI file, the default path name is "CMD.EXE". This is appropriate if that file is located in a directory that appears in the system path.
983\par The {\b ShellExecOption} profile specifies the string to be inserted between the string specified by the Shell profile
984and the actual command to be executed (for pipe-command, filter-buffer and shell-command). If this profile does not appear in the [MicroEMACS] section of the WIN.INI file, the default is " /c ". This is appropriate for "CMD.EXE".
985\par \pard\plain \s252\sa120\tx2880 \b\f4 \page {\plain \f4\fs16\up6 ${\footnote \pard\plain \s245 \f4\fs20 {\fs16\up6 $} TimeSlice Profile}} {\plain \f4\fs16\up6 #{\footnote \pard\plain \s245 \f4\fs20 {\fs16\up6 #} TimeSliceProfile}} {\plain \f4\fs16\up6 +
986{\footnote \pard\plain \s245 \f4\fs20 {\fs16\up6 +} Profiles:timesliceprofile}} {\plain \f4\fs16\up6 K{\footnote \pard\plain \s245 \f4\fs20 {\fs16\up6 K} profile;timeslice;WIN.INI}} TimeSlice Profile
987\par \pard\plain \s6\sa120 \f4\fs20 Under Microsoft Windows 3.x, when MicroEMACS performs a long operation (reading or writing a large file, searching text, moving large chunks of text to/from the {\ul kill buffer}{\v\uldb KillBuffer} or {\ul clipboard}{\v
988Clipboard}, killing a buffer, etc...), it allows other applications to run concurrently with itself.
989\par The TimeSlice {\uldb profile}{\v Profiles} specifies how often MicroEMACS should relinquish the processor: when a long operation is in process, MicroEMACS does not yield to other applications until the number of milliseconds thus specified has elapsed.
990
991\par The default value is 100 milliseconds.
992\par \pard\plain \s12\fi-720\li720\sa120 \f4\fs20 Notes:\tab Under Windows NT, the preemptive multitasking nature of the operating system allev
993iates the need for MicroEMACS to voluntarily yield to other applications. The TimeSlice profile is still used to determine how often input (like a command to exit the editor) is checked.
994\par \tab If the {\uldb animated grinder}{\v _flicker} (replacing the hourglass mouse cursor) is enabled, the TimeSlice profile also determines the time interval between each change of the cursor image.
995\par \pard\plain \s254\qc\sa240 \b\f4\fs30\cf2 {\fs16 \page }{\plain \f4\fs16\up6 ${\footnote \pard\plain \s245 \f4\fs20 {\fs16\up6 $} Memory Usage}}{\fs16  }{\fs16\up6 #{\footnote \pard\plain \s245 \f4\fs20 {\fs16\up6 #} MemoryUsage}} {\fs16\up6 +{\footnote
996\pard\plain \s245 \f4\fs20 {\fs16\up6 +} Index:2060}} {\plain \f4\fs16\up6 K{\footnote \pard\plain \s245 \f4\fs20 {\fs16\up6 K} memory}} Memory Usage
997\par \pard\plain \s6\sa120 \f4\fs20 The only limit to the number of {\ul buffers}{\v Buffer} is the memory of your computer. All the buffers, text, {\ul screens}{\v Screen} and {\ul windows}{\v Window} use memory for storage.
998\par Under Microsoft Windows, the accessible storage can be rather large, depending on the amount of extended memory installed on you system. If you are running in Windows 3.x 386-enhanced mode, MicroEMACS is able to use virtual memory, allowing you to edit ve
999ry large files.
1000\par Under MSDOS, the AMIGA, the Atari ST, the HP150 and other microcomputers you can estimate the memory used by adding up the size
1001 of all the files you want to edit simultaneously, multiply by 1.4, and add 170K for the size of MicroEMACS. This results in the amount of free memory needed to edit these files. On an MSDOS machine with 574K of conventional memory available, you can edit
1002 files totaling about 288K in size. If you are using the DOS-extended version of MicroEMACS, the memory available for editing is determined by the amount of extended memory installed in your computer, up to 16 Megabytes.
1003\par On UNIX, Windows NT and other systems with large virtual memory there is almost no limit to the number and size of files you edit.
1004\par \pard\plain \s254\qc\sa240 \b\f4\fs30\cf2 \page {\plain \f4\fs16\up6 ${\footnote \pard\plain \s245 \f4\fs20 {\fs16\up6 $} MS-Windows Specifics}} {\plain \f4\fs16\up6 #{\footnote \pard\plain \s245 \f4\fs20 {\fs16\up6 #} Ms_WindowsSpecifics}} {\plain
1005\f4\fs16\up6 +{\footnote \pard\plain \s245 \f4\fs20 {\fs16\up6 +} Index:2070}} {\plain \f4\fs16\up6 K{\footnote \pard\plain \s245 \f4\fs20 {\fs16\up6 K} MS-Windows;windows}} MS-Windows Specifics
1006\par \pard\plain \s6\sa120 \f4\fs20 The port of MicroEMACS to the Microsoft Windows environment exhibits a few particularities not encountered with other versions of the editor:
1007\par \pard\plain \s8\fi-360\li360\sa120\tx360\tx1440\tx2880\tx3600\tx4320 \f4\fs20 \tab All the standard {\ul commands}{\v Command} are available. {\uldb Additional commands}{\v AdditionalCommands} are available: they allow access to the {\ul clipboard}{\v
1008Clipboard}, {\uldb menu customization}{\v CustomizingMenus}, invocation of the {\uldb help engine}{\v help_engine} and control of {\ul screens}{\v Screen} as MDI (Multiple Document Interface) windows.
1009\par \tab In interactive mode, the file access commands use a dialog box instead of the {\ul message line}{\v MessageLine} prompt.
1010\par \tab It is possible to {\uldb drag files}{\v DragAndDrop} from the Windows File Manager onto MicroEMACS, providing a {\ul macro}{\v Macro} has been set-up to handle them.
1011\par \tab MDI windows (aka screens) and the MicroEMACS frame window can be resized by dragging their border with the mouse or using the sizing buttons.
1012\par \tab Text can be scrolled into view by using the scroll bars located at the right and bottom of each screen.
1013\par \tab When MicroEMACS is running a {\ul macro}{\v Macro}
1014, waiting for user input on the message line, or reading/writing a file, it is possible to input menu or other mouse commands, but only a subset of features is available. In particular, resizing is disabled and most menu options are grayed.
1015\par \tab It is possible to terminate MicroEMACS at any time, using the "{\ul C}lose"{\b  }(Alt+F4) item of the upper-left corner menu box. If there are modified {\ul buffers}{\v Buffer}, or a file write operation is in progress, a confirmation is requested.
1016
1017\par \tab The amount of {\uldb memory}{\v MemoryUsage} available for buffers is limited only by the actual (conventional and extended) memory available, including virtual memory when running Windows NT or Windows 3.x in 386-enhanced mode.
1018\par \tab MicroEMACS can {\uldb synchronize}{\v SynchronizingWithADosBox} with other applications it launches.
1019\par \pard\plain \s6\sa120 \f4\fs20 MicroEMACS runs as a well-behaved Windows application, {\uldb sharing the processor}{\v TimeSliceProfile} with other applications, even when a lengthy operation is in process.
1020\par Under Windows 3.x, MicroEMACS is a protected mode-only application: {\b it does not support real mode}, and runs only under standard or 386-enhanced mode.
1021\par The following {\ul page}{\v Page} are distributed with MicroEMACS for Windows and loaded by the {\uldb emacs.rc}{\v StartupFile} start-up file supplied in the distribution package:
1022\par \pard\plain \s11\li360\tx2880 \f4\fs20 {\uldb CUA.CMD}{\v CUA.CMD}\tab Common User Access macros
1023\par {\uldb DEV.CMD}{\v DEV.CMD}\tab example macro for software development
1024\par \pard \s11\li360\sa120\tx2880 {\uldb MDI.CMD}{\v MDI.CMD}\tab macros to map files to MDI windows
1025\par \pard\plain \s6\sa120 \f4\fs20 In addition, if a page named CUSTOM.CMD (to be supplied by the user) is found in the path, it is loaded after the three above.
1026\par \pard\plain \s253\sa240\tx2880 \b\f4\cf2 {\plain \f4\fs16\up6 \page ${\footnote \pard\plain \s245 \f4\fs20 {\fs16\up6 $} CUA.CMD}} {\plain \f4\fs16\up6 #{\footnote \pard\plain \s245 \f4\fs20 {\fs16\up6 #} CUA.CMD}} {\plain \f4\fs16\up6 +{\footnote
1027\pard\plain \s245 \f4\fs20 {\fs16\up6 +} Pages:CUACMD}} {\plain \f4\fs16\up6 K{\footnote \pard\plain \s245 \f4\fs20 {\fs16\up6 K} CUA.CMD}} CUA.CMD
1028\par \pard\plain \s6\sa120 \f4\fs20 This {\ul page}{\v Page} is distributed with MicroEMACS for Windows and loaded by the {\uldb emacs.rc}{\v StartupFile} start-up file. It contains a number of {\ul macros}{\v Macro} and {\ul rebinds}{\v Binding}
1029 many keys, in order make MicroEMACS more similar to other Windows applications that use the Common User Access standard.
1030\par To that end, a set of {\ul clipboard}{\v Clipboard}
1031-related macros are supplied and you can select a piece of text by dragging the mouse across it while holding the left button held down or by moving around with the arrows or page keys while holding the Shift key down. That selection can then be {\b
1032deleted} by pressing the Delete key, {\b copied} to the clipboard with the Ctrl+Insert keys, {\b cut} with Shift+Delete and {\b pasted} from the clipboard with Shift+Insert
1033\par Additionally, the following general purpose macros that work on the {\ul selection}{\v Selection} are supplied:
1034\par \pard\plain \s3\fi-2880\li2880\sa120\tqr\tx720\tx900\tx2880 \f4\fs20 \tab {\ul A-U}{\v Keystroke}\tab {\b CUA-case-upper}\tab converts all the selected text to upper case
1035\par \tab {\ul A-L}{\v Keystroke}\tab {\b CUA-case-lower}\tab converts all the selected text to lower case
1036\par \tab {\ul A-W}{\v Keystroke}\tab {\b CUA-count-words}\tab displays on the {\ul message line}{\v MessageLine} the number of words, characters and lines that compose the selected text
1037\par \tab {\ul A-=}{\v Keystroke}\tab {\b CUA-flip-selection}\tab exchanges the {\ul point}{\v Point} with the other end of the selection
1038\par \tab {\ul A-^M}{\v Keystroke}\tab {\b CUA-select-region}\tab (Alt+Enter) makes the current {\ul region}{\v Region} the current selection
1039\par \pard\plain \s253\sa240\tx2880 \b\f4\cf2 {\plain \f4\fs16\up6 \page ${\footnote \pard\plain \s245 \f4\fs20 {\fs16\up6 $} DEV.CMD}} {\plain \f4\fs16\up6 #{\footnote \pard\plain \s245 \f4\fs20 {\fs16\up6 #} DEV.CMD}} {\plain \f4\fs16\up6 +{\footnote
1040\pard\plain \s245 \f4\fs20 {\fs16\up6 +} Pages:DEVCMD}} {\plain \f4\fs16\up6 K{\footnote \pard\plain \s245 \f4\fs20 {\fs16\up6 K} DEV.CMD}} DEV.CMD
1041\par \pard\plain \s6\sa120 \f4\fs20 This sample {\ul page}{\v Page} is distributed with MicroEMACS for Windows and loaded by the {\uldb emacs.rc}{\v StartupFile} start-up file. It contains a few of {\ul macros}{\v Macro}
1042 that demonstrate how some features of the macro language can be used to facilitate software development:
1043\par \pard\plain \s11\li360\sa120\tx2880 \f4\fs20 The {\b run-makefile} macro is added to the {\uldb Execute menu}{\v ExecuteMenu}. It spawns a shell to run the command specified by the {\b %make} {\uldb user variable}{\v UserVariables} and {\uldb synchronizes
1044}{\v SynchronizingWithADosBox} with it. When the make process is finished, its output is displayed in a {\ul buffer}{\v Buffer} named "{\b Results}".
1045\par A series of macros are added to the {\uldb Help menu}{\v HelpMenu}. They search a specific help file for a topic matching the word under the {\ul point}{\v Point}.
1046\par \pard\plain \s253\sa240\tx2880 \b\f4\cf2 {\plain \f4\fs16\up6 \page ${\footnote \pard\plain \s245 \f4\fs20 {\fs16\up6 $} MDI.CMD}} {\plain \f4\fs16\up6 #{\footnote \pard\plain \s245 \f4\fs20 {\fs16\up6 #} MDI.CMD}} {\plain \f4\fs16\up6 +{\footnote
1047\pard\plain \s245 \f4\fs20 {\fs16\up6 +} Pages:MDICMD}} {\plain \f4\fs16\up6 K{\footnote \pard\plain \s245 \f4\fs20 {\fs16\up6 K} MDI.CMD}} MDI.CMD
1048\par \pard\plain \s6\sa120 \f4\fs20 This {\ul page}{\v Page} is distributed with MicroEMACS for Windows and loaded by the {\uldb emacs.rc}{\v StartupFile} start-up file. It contains {\ul macros}{\v Macro} that make it easier to associate each {\ul buffer}{\v
1049Buffer} with a separate {\ul screen}{\v Screen} (i.e. an MDI window). To that end:
1050\par \pard\plain \s11\li360\sa120\tx2880 \f4\fs20 The {\b open-file} macro replaces the {\uldb find-file}{\v find_file} {\ul command}{\v Command} in the {\uldb File menu}{\v FileMenu} and in key bindings ({\ul ^X^F}{\v Keystroke}
1051). Instead of reusing the current screen, it creates a new screen to house each newly opened file.
1052\par The {\b rebuild-screens} macro, invoked from the {\uldb Screen menu}{\v ScreenMenu}, associates a screen to each {\ul buffer}{\v Buffer}.
1053\par The {\b kill-screen} macro ({\ul A-K}{\v Keystroke}) deletes a screen and the associated buffer.
1054\par \pard\plain \s6\sa120 \f4\fs20 MDI.CMD also contains the {\b drop-files} macro that handles {\uldb drag and drop}{\v DragAndDrop} actions by invoking the {\b open-file} macro for each dropped file.
1055\par \pard\plain \s254\qc\sa240 \b\f4\fs30\cf2 \page {\plain \f4\fs16\up6 ${\footnote \pard\plain \s245 \f4\fs20 {\fs16\up6 $} No help available}} {\plain \f4\fs16\up6 #{\footnote \pard\plain \s245 \f4\fs20 {\fs16\up6 #} NoHelpAvailable}} {\plain \f4\fs16\up6
1056K{\footnote \pard\plain \s245 \f4\fs20 {\fs16\up6 K} default}} Sorry, no help available on this topic
1057\par \pard\plain \s6\sa120 \f4\fs20 You have attempted to get Help for a term that the Help system does not recognize.
1058\par Here are some other ways to find Help for individual terms:
1059\par \pard \s6 {\b\ul Help Search}
1060\par \pard\plain \s8\fi-360\li360\sa120\tx360\tx1440\tx2880\tx3600\tx4320 \f4\fs20 1)\tab Choose the {\b\ul S}{\b earch} button (Alt+S) from the top of this Help window (just below the menu bar).
1061\par 2)\tab In the Help Search dialog box, under Search For, type in the term you want Help for. If the term is indexed in the Help, you will go to that term in the upper list box. If the term is not indexed, you will go to the closest lexical match instead.
1062
1063\par 3)\tab Press Enter or choose the dialog's {\b Search} button. You will see a list of 1 or more Help topics in the Topics Found
1064\par \pard\plain \s6\sa120 \f4\fs20 Alternatively, within the Help Search list box, scroll through the list to find a specific topic, then press Enter or choose the {\b\ul G}{\b o To} button to jump to that Help topic.
1065\par \pard \s6 {\b\ul Help Index}
1066\par \pard\plain \s8\fi-360\li360\sa120\tx360\tx1440\tx2880\tx3600\tx4320 \f4\fs20 1)\tab Use the {\b\ul I}{\b ndex} button (Alt+I) and then choose the category that best fits your query.
1067\par 2)\tab Then traverse Help links through the topics until you find what you are looking for. If it is documented in the Help system, you should be able to find it within 4 or 5 topics.
1068\par }