aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGerd Moellmann2001-01-08 13:15:59 +0000
committerGerd Moellmann2001-01-08 13:15:59 +0000
commit4f6e79152bb575013e4858e7d622fd50bbc08205 (patch)
treecefe17ad970c2a1d9ebee91aa3ccdc89ba46e840
parent7e56ea04ca076403aeb2d81281a57d1bae45c7da (diff)
downloademacs-4f6e79152bb575013e4858e7d622fd50bbc08205.tar.gz
emacs-4f6e79152bb575013e4858e7d622fd50bbc08205.zip
Updated to reflect EDT Emulation version 4.0
enhancements.
-rw-r--r--etc/edt-user.doc526
1 files changed, 327 insertions, 199 deletions
diff --git a/etc/edt-user.doc b/etc/edt-user.doc
index 4fbe8973afa..961f9dd1b75 100644
--- a/etc/edt-user.doc
+++ b/etc/edt-user.doc
@@ -2,7 +2,7 @@ File: edt-user.doc --- EDT Emulation User Instructions
2 2
3 For GNU Emacs 19 3 For GNU Emacs 19
4 4
5Copyright (C) 1986, 1992, 1994, 1995, 1999 Free Software Foundation, Inc. 5Copyright (C) 1986, 1992, 1994, 1995, 1999, 2000 Free Software Foundation, Inc.
6 6
7Author: Kevin Gallagher <kevingal@onramp.net> 7Author: Kevin Gallagher <kevingal@onramp.net>
8Maintainer: Kevin Gallagher <kevingal@onramp.net> 8Maintainer: Kevin Gallagher <kevingal@onramp.net>
@@ -10,88 +10,190 @@ Keywords: emulations
10 10
11This file is part of GNU Emacs. 11This file is part of GNU Emacs.
12 12
13GNU Emacs is free software; you can redistribute it and/or modify 13GNU Emacs is free software; you can redistribute it and/or modify it under the
14it under the terms of the GNU General Public License as published by 14terms of the GNU General Public License as published by the Free Software
15the Free Software Foundation; either version 2, or (at your option) 15Foundation; either version 2, or (at your option) any later version.
16any later version.
17 16
18GNU Emacs is distributed in the hope that it will be useful, 17GNU Emacs is distributed in the hope that it will be useful, but WITHOUT ANY
19but WITHOUT ANY WARRANTY; without even the implied warranty of 18WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
20MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 19PARTICULAR PURPOSE. See the GNU General Public License for more details.
21GNU General Public License for more details.
22 20
23You should have received a copy of the GNU General Public License 21You should have received a copy of the GNU General Public License along with
24along with GNU Emacs; see the file COPYING. If not, write to the 22GNU Emacs; see the file COPYING. If not, write to the Free Software
25Free Software Foundation, Inc., 59 Temple Place - Suite 330, 23Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
26Boston, MA 02111-1307, USA.
27 24
28============================================================================ 25============================================================================
29 26
30I. OVERVIEW: 27I. OVERVIEW:
31 28
32This version of the EDT emulation package for GNU Emacs is a substantially 29This is Version 4.0 of the EDT Emulation for Emacs 19 and above.
33enhanced version of the original. A large part of the original can still be 30It comes with special functions which replicate nearly all of EDT's
34found here, of course, but much of it has been modified and quite a bit is 31keypad mode behavior. It sets up default keypad and function key
35new. Many of the ideas found here are borrowed from others. In particular, 32bindings which closely match those found in EDT. Support is
36some of the code found here was drawn from an earlier re-write of the EDT 33provided so that users may reconfigure most keypad and function key
37package done at DSC in 1989 by Matthew Frohman. 34bindings to their own liking.
35
36NOTE: Version 4.0 contains several enhancements. See the
37Enhancements section below for the details.
38
39
40Quick Start:
41
42To start the EDT Emulation, first start Emacs and then enter
43
44 M-x edt-emulation-on
38 45
39Send bug fixes, suggestions for enhancements, and corrections to this 46to begin the emulation. After initialization is complete, the
40documentation to Kevin Gallagher (kevingal@onramp.net). 47following message will appear below the status line informing you
48that the emulation has been enabled: "Default EDT keymap active".
49
50 You can have the EDT Emulation start up automatically, each time
51you initiate a GNU Emacs session, by adding the following line to
52your .emacs file:
53
54 (add-hook term-setup-hook 'edt-emulation-on)
55
56IMPORTANT: Be sure to read the rest of this file. It contains very
57 useful information on how the EDT Emulation behaves and how
58 to customize it to your liking.
41 59
42The EDT emulation consists of the following files: 60The EDT emulation consists of the following files:
43 61
44edt-user.doc - User instructions (which you are reading now) 62edt-user.doc - User Instructions and Sample Customization File
45edt.el - EDT Emulation Functions and Default Configuration 63edt.el - EDT Emulation Functions and Default Configuration
46edt-lk201.el - Support for DEC LK-201 Keyboards 64edt-lk201.el - Built-in support for DEC LK-201 Keyboards
47edt-vt100.el - Support for DEC VT-100 (and above) terminals 65edt-vt100.el - Built-in support for DEC VT-100 (and above) terminals
48edt-mapper.el - Support for Keyboards used under X Windows 66edt-pc.el - Built-in support for PC 101 Keyboards under MS-DOS
49edt-pc.el - Support for the PC AT Keyboard under MS-DOS 67edt-mapper.el - Create an EDT LK-201 Map File for Keyboards Without
50 68 Built-in Support
51Several goals were kept in mind when making this version: 69
52 70Enhancements:
53 1. Emulate EDT Keypad Mode commands closely so that current 71
54 EDT users will find that it easy and comfortable to use 72Version 4.0 contains the following enhancements:
55 GNU Emacs with a small learning curve; 73
74 1. Scroll margins at the top and bottom of the window are now
75 supported. (The design was copied from tpu-extras.el.) By
76 default, this feature is enabled with the top margin set to
77 10% of the window and the bottom margin set to 15% of the
78 window. To change these settings, you can invoke the function
79 edt-set-scroll-margins in your .emacs file. For example, the
80 following line
81
82 (edt-set-scroll-margins "20%" "25%")
83
84 sets the top margin to 20% of the window and the bottom margin
85 to 25% of the window. To disable this feature, set each
86 margin to 0%. You can also invoke edt-set-scroll-margins
87 interactively while EDT Emulation is active to change the
88 settings for that session.
89
90 NOTE: Another way to set the scroll margins is to use the
91 Emacs customization feature (not available in Emacs 19) to set
92 the following two variables directly:
93
94 edt-top-scroll-margin and edt-bottom-scroll-margin
95
96 Enter the Emacs `customize' command. First select the Editing
97 group and then select the Emulations group. Finally, select
98 the Edt group and follow the directions.
99
100 2. The SUBS command is now supported and bound to GOLD-Enter by
101 default. (This design was copied from tpu-edt.el.) Note, in
102 earlier versions of EDT Emulation, GOLD-Enter was assigned to
103 the Emacs function `query-replace'. The binding of
104 `query-replace' has been moved to GOLD-/. If you prefer to
105 restore `query-replace' to GOLD-Enter, then use an EDT user
106 customization file, edt-user.el, to do this. See edt-user.doc
107 for details.
108
109 3. EDT Emulation now also works in XEmacs, including the
110 highlighting of selected text.
111
112 4. If you access a workstation using an X Server, observe that
113 the initialization file generated by edt-mapper.el will now
114 contain the name of the X Server vendor. This is a
115 convenience for those who have access to their Unix account
116 from more than one type of X Server. Since different X
117 Servers typically require different EDT emulation
118 initialization files, edt-mapper.el will now generate these
119 different initialization files and save them with different
120 names. Then, the correct initialization file for the
121 particular X server in use is loaded correctly automatically.
122
123 5. Also, edt-mapper.el is now capable of binding an ASCII key
124 sequence, providing the ASCII key sequence prefix is already
125 known by Emacs to be a prefix. As a result of providing this
126 support, some terminal/keyboard/window system configurations,
127 which don't have a complete set of sensible function key
128 bindings built into Emacs in `function-key-map', can still be
129 configured for use with EDT Emulation. (Note: In a few rare
130 circumstances this does not work properly. In particular, it
131 does not work if a subset of the leading ASCII characters in a
132 key sequence are recognized by Emacs as having an existing
133 binding. For example, if the keypad 7 (KP-7) key generates
134 the sequence \"<ESC>Ow\" and \"<ESC>O\" is already bound to a
135 function, pressing KP-7 when told to do so by edt-mapper.el
136 will result in edt-mapper.el incorrectly mapping \"<ESC>O\" to
137 KP-7 and \"w\" to KP-8. If something like this happens to
138 you, it is probably a bug in the support for your keyboard
139 within Emacs OR a bug in the Unix termcap/terminfo support for
140 your terminal OR a bug in the terminal emulation software you
141 are using.)
142
143 6. The edt-quit function (bound to GOLD-q by default) has been
144 modified to warn the user when file-related buffer
145 modifications exist. It now cautions the user that those
146 modifications will be lost if the user quits without saving
147 those buffers.
148
149
150Goals:
151
152 1. Emulate EDT Keypad Mode commands closely so that current EDT users
153 will find that it easy and comfortable to use GNU Emacs with a
154 small learning curve;
56 155
57 2. Make it easy for a user to customize EDT emulation key 156 2. Make it easy for a user to customize EDT emulation key bindings
58 bindings without knowing much about Emacs Lisp; 157 without knowing much about Emacs Lisp;
59 158
60 3. Make it easy to switch between the original EDT default bindings 159 3. Make it easy to switch between the original EDT default bindings
61 and the user's customized bindings, without having to exit Emacs. 160 and the user's customized EDT bindings, without having to exit
161 Emacs.
62 162
63 4. Provide support for some TPU/EVE functions not supported in 163 4. Provide support for some TPU/EVE functions not supported in EDT.
64 EDT.
65 164
66 5. Provide an easy way to restore ALL original Emacs key bindings, 165 5. Provide an easy way to restore ALL original Emacs key bindings,
67 just as they existed before the EDT emulation was first invoked. 166 just as they existed before the EDT emulation was first invoked.
68 167
69 6. Support GNU Emacs 19. (Support for GNU Emacs 18 has been dropped. 168 6. Support GNU Emacs 19 and higher. (GNU Emacs 18 and below is no
70 Also, although there is some code designed to support Xemacs 19 169 longer supported.) XEmacs 19, and above, is also supported.
71 (formerly Lucid Emacs), this is not fully implemented at this
72 time.
73 170
74 7. When running under X, support highlighting of marked text. 171 7. Supports highlighting of marked text within the EDT emulation on
172 all platforms on which Emacs supports highlighting of marked text.
75 173
76 8. Handle terminal configuration under X interactively when the 174 8. Handle terminal configuration interactively for most terminal
77 emulation is invoked for the first time. 175 configurations, when the emulation is invoked for the first time.
78 176
79 9. Support a PC AT keyboard under MS-DOS. 177 9. Support a PC AT keyboard under MS-DOS.
178
80 179
81II. TERMINALS/KEYBOARDS SUPPORTED: 180II. TERMINALS/KEYBOARDS SUPPORTED:
82 181
83Keyboards used under X Windows are supported via the edt-mapper function. The 182Keyboards used under a Window System are supported via the edt-mapper function.
84first time you invoke the emulation under X, the edt-mapper function is run 183The first time you invoke the emulation under a window system, the edt-mapper
85automatically and the user is prompted to identify which keys the emulation is 184function is run automatically and the user is prompted to identify which keys
86to use for the standard keypad and function keys EDT expects (e.g., PF1, PF2, 185the emulation is to use for the standard keypad and function keys EDT expects
87etc.). This configuration is saved to disk read each time the emulation is 186(e.g., PF1, PF2, KP0, KP1, F1, F2, etc.). This configuration is saved to disk
88invoked. 187read each time the emulation is invoked.
188
189In character oriented connections not running a window manager, built-in
190support for the following terminals/keyboards is provided:
89 191
90In character oriented connections not running a window manager, the following 192 (1) DEC VT-100 series and higher. This includes well behaved VT clones and
91terminals/keyboards are supported. (1) DEC VT-100 series and higher. This 193 emulators. If you are using a VT series terminal, be sure that the term
92includes well behaved VT clones and emulators. If you are using a VT series 194 environment variable is set properly before invoking emacs.
93terminal, be sure that the term environment variable is set properly before 195
94invoking emacs. (2) PC AT keyboard under MS-DOS. 196 (2) PC AT keyboard under MS-DOS.
95 197
96Be sure to read the SPECIAL NOTES FOR SOME PLATFORMS sections to see if those 198Be sure to read the SPECIAL NOTES FOR SOME PLATFORMS sections to see if those
97notes apply to you. 199notes apply to you.
@@ -108,7 +210,7 @@ status line informing you that the emulation has been enabled:
108You can have the EDT Emulation start up automatically, each time you initiate 210You can have the EDT Emulation start up automatically, each time you initiate
109a GNU Emacs session, by adding the following line to your .emacs file: 211a GNU Emacs session, by adding the following line to your .emacs file:
110 212
111 (setq term-setup-hook 'edt-emulation-on) 213 (add-hook term-setup-hook 'edt-emulation-on)
112 214
113A reference sheet is included (later on) listing the default EDT Emulation key 215A reference sheet is included (later on) listing the default EDT Emulation key
114bindings. This sheet is also accessible on line from within Emacs by pressing 216bindings. This sheet is also accessible on line from within Emacs by pressing
@@ -125,31 +227,43 @@ customizations:
125 User EDT custom keymap active 227 User EDT custom keymap active
126 228
127Once enabled, it is easy to switch back and forth between your customized EDT 229Once enabled, it is easy to switch back and forth between your customized EDT
128Emulation key bindings and the default EDT Emulation key bindings. It is also 230Emulation key bindings and the default EDT Emulation key bindings. (See the
129easy to turn off the emulation. Doing so completely restores the original key 231sample edt-user.el file below. Look at the binding to GOLD Z.) It is also
130bindings in effect just prior to invoking the emulation. 232easy to turn off the emulation (via the command edt-emulation-off). Doing so
131 233completely restores the original key bindings in effect just prior to invoking
132Where EDT key bindings and GNU Emacs key bindings conflict, the default GNU 234the emulation.
133Emacs key bindings are retained by the EDT emulation by default. If you are a 235
134diehard EDT user you may not like this. The CUSTOMIZING section explains how 236Emacs binds keys to ASCII control characters and so does the real EDT. Where
135to change this default. 237EDT key bindings and GNU Emacs key bindings conflict, the default GNU Emacs key
238bindings are retained by the EDT emulation by default. If you are a diehard
239EDT user you may not like this. The CUSTOMIZING section explains how to change
240this so that the EDT bindings to ASCII control characters override the default
241Emacs bindings.
136 242
137 243
138IV. SPECIAL NOTES FOR SOME PLATFORMS: 244IV. SPECIAL NOTES FOR SOME PLATFORMS:
139 245
140 Sun Workstations running X: 246 Sun Workstations running X:
141 247
142 Some earlier Sun keyboards do not have arrow keys separate from the 248 Some earlier Sun keyboards do not have arrow keys separate from the keypad
143 keypad keys. It is difficult to emulate the full EDT keypad and still 249 keys. It is difficult to emulate the full EDT keypad and still retain use
144 retain use of the arrow keys on such keyboards. 250 of the arrow keys on such keyboards.
251
252 The Sun Type 5 and other more recent Sun keyboards, however, do have
253 separate arrow keys. This makes them candidates for setting up a
254 reasonable EDT keypad emulation.
145 255
146 The Sun Type 5 keyboard, however, does have separate arrow keys. This 256 Depending upon the configuration of the version of X installed on your
147 makes it a candidate for setting up a reasonable EDT keypad emulation. 257 system, you may find the default X keynames for the keypad keys don't
148 Unfortunately, Sun's default X keynames for the keypad keys don't permit 258 permit Emacs to interpret some or all the keypad keys as something other
149 GNU Emacs to interpret the keypad 2, 4, 6, and 8 keys as something other 259 than arrow keys, numeric keys, Home, PgUP, etc. Both Sun and HP have been
150 than arrow keys, nor use all the top row of keys for PF1 thru PF4 keys. 260 particularly guilty of making bizarre keysym assignments to the keypad
151 Here's the contents of an .xmodmaprc file which corrects this problem for 261 keys.
152 Sun Type 5 keyboards: 262
263 In most cases, the X Windows command, xmodmap, can be used to correct the
264 problem. Here's a sample .xmodmaprc file which corrects this problem on
265 one Sun workstation configuration using an older SunOS release configured
266 with a Sun Type 5 keyboard:
153 267
154 ! File: .xmodmaprc 268 ! File: .xmodmaprc
155 ! 269 !
@@ -173,37 +287,52 @@ IV. SPECIAL NOTES FOR SOME PLATFORMS:
173 keycode 121 = KP_3 287 keycode 121 = KP_3
174 keycode 132 = KP_Add 288 keycode 132 = KP_Add
175 289
176 Feed .xmodmaprc to the xmodmap command and all the Sun Type 5 keypad keys 290 If edt-mapper.el does not recognize your keypad keys as unique keys, use
177 will now be configurable for the emulation of an LK-201 keypad (less the 291 the command
178 comma key). The line 292
293 xmodmap -pke
294
295 to get a listing of the actual key codes and the keysyms mapped to them
296 and then generate you own custom .xmodmaprc similar to the one above.
297
298 Next, feed .xmodmaprc to the xmodmap command and all the Sun Type 5 keypad
299 keys will now be configurable for the emulation of an LK-201 keypad (less
300 the comma key). In this example, the line
179 301
180 keycode 105 = F24 302 keycode 105 = F24
181 303
182 modifies the NumLock key to be the F24 key which can then be configured 304 changes the X Windows name of the keypad NumLock key to be known
183 to behave as the PF1 (Gold) key. In doing so, you will no longer 305 internally as the F24 key. Doing so permits it to be configured to behave
184 have a NumLock key. If you are using other software under X 306 as the PF1 (Gold) key.
185 which requires a NumLock key, then examine your keyboard and look 307
186 for one you don't use and redefine it to be the NumLock key. 308 The side effect of this change is that you will no longer have a NumLock
187 Basically, you need to clear the NumLock key from being assigned 309 key. If you are using other software under X which requires a NumLock
188 as a modifier, assign it to the key of your choice, and then add 310 key, then examine your keyboard and look for one you don't use and
189 it back as a modifier. (See the "General Notes on Using NumLock 311 redefine it to be the NumLock key. Basically, you need to clear the
190 for the PF1 Key on a Unix System" section below for further help 312 NumLock key from being assigned as a modifier, assign it to the key of
191 on how to do this.) 313 your choice, and then add it back as a modifier. (See the "General Notes
314 on Using NumLock for the PF1 Key on a Unix System" section below for
315 further help on how to do this.)
192 316
193 PC users running MS-DOS: 317 PC users running MS-DOS:
194 318
195 By default, F1 is configured to emulate the PF1 (GOLD) key. But NumLock 319 By default, F1 is configured to emulate the PF1 (GOLD) key. But NumLock
196 can be used instead if you load a freeware TSR distributed with 320 can be used instead if you load a freeware TSR distributed with MS-Kermit,
197 MS-Kermit, call gold.com. It is distributed in a file called gold22.zip 321 call gold.com. This was once distributed in a file called gold22.zip and
198 and comes with the source code as well as a loadable binary image. 322 came with the source code as well as a loadable binary image. (See
199 (See edt-pc.el for more information.) 323 edt-pc.el in the Emacs lisp/emulation directory for more information.)
200 324
201 PC users running GNU/Linux: 325 PC users running GNU/Linux:
202 326
203 The default X server configuration of three keys PC AT keyboard keys 327 The default X server configuration varies from distribution to
204 needs to be modified to permit the PC keyboard to emulate an LK-201 328 distribution and release to release of GNU/Linux. If your system fails to
205 keyboard properly. Here's the contents of an .xmodmaprc file which makes 329 recognize the keypad keys as distinct keys, change the NumLock state,
206 these changes for your: 330 turning it on or off, as the case may be, then try again. If this doesn't
331 solve your problem, you may have to modify the X keysym mappings with
332 xmodmap.
333
334 On one distribution on an Intel PC, the following .xmodmaprc set things up
335 nicely.
207 336
208 ! File: .xmodmaprc 337 ! File: .xmodmaprc
209 ! 338 !
@@ -214,18 +343,19 @@ IV. SPECIAL NOTES FOR SOME PLATFORMS:
214 keycode 96 = Num_Lock Pointer_EnableKeys 343 keycode 96 = Num_Lock Pointer_EnableKeys
215 add mod2 = Num_Lock 344 add mod2 = Num_Lock
216 345
217 Feed the file to the xmodmap command and the PC NumLock keypad 346 In this example, after feeding the file to the xmodmap command, the PC
218 key will now be configurable for the emulation of the PF1 key. 347 NumLock keypad key will be configurable for the emulation of the PF1 key.
219 The PC keypad can now emulate an LK-201 keypad (less the comma 348 The PC keypad can now emulate an LK-201 keypad (less the comma key), the
220 key), the standard keyboard supplied with DEC terminals VT-200 and above. 349 standard keyboard supplied with DEC terminals VT-200 and above. This
221 This .xmodmaprc file switches the role of the F12 and NumLock 350 .xmodmaprc file switches the role of the F12 and NumLock keys. It has
222 keys. It has been tested on RedHat GNU/Linux 5.2. Other 351 been tested on RedHat GNU/Linux 5.2. Other versions of GNU/Linux may
223 versions of GNU/Linux may require different keycodes. (See the 352 require different keycodes. (See the "General Notes on Using NumLock for
224 "General Notes on Using NumLock for the PF1 Key on a Unix System" 353 the PF1 Key on a Unix System" section below for further help on how to do
225 section below for further help on how to do this.) 354 this.)
226 355
227 NOTE: It is necessary to have NumLock ON for the PC keypad to emulate the 356 NOTE: Remember, it may be necessary to have NumLock in one position (ON)
228 LK-201 keypad properly. 357 or the other (OFF) for the PC keypad to emulate the LK-201 keypad
358 properly.
229 359
230 General Notes on Using NumLock for the PF1 Key on a Unix System: 360 General Notes on Using NumLock for the PF1 Key on a Unix System:
231 361
@@ -235,9 +365,9 @@ IV. SPECIAL NOTES FOR SOME PLATFORMS:
235 system, some investigation is needed to see how to do this on 365 system, some investigation is needed to see how to do this on
236 a particular system. 366 a particular system.
237 367
238 The following commands should be run and the output examined. 368 You will need to look at the output generated by xmodmap invoked with the
239 On RedHat GNU/Linux 5.2 on a PC, we get the following output when 369 "-pm" switch. examined. For example, on RedHat GNU/Linux 5.2 on a PC, we
240 running xmodmap. 370 get the following output when running xmodmap.
241 371
242 "xmodmap -pm" yields: 372 "xmodmap -pm" yields:
243 373
@@ -311,40 +441,36 @@ if you are to use the EDT Emulation effectively.
3111. Entering repeat counts works a little differently than in EDT. 4411. Entering repeat counts works a little differently than in EDT.
312 442
313 EDT allows users to enter a repeat count before entering a command that 443 EDT allows users to enter a repeat count before entering a command that
314 accepts repeat counts. For example, when in EDT, pressing these three 444 accepts repeat counts. For example, when using the real EDT, pressing
315 keys in sequence, GOLD 5 KP1, will move the cursor in the current 445 these three keys in sequence, GOLD 5 KP1, will move the cursor in the
316 direction 5 words. 446 current direction 5 words. This does NOT work in Emacs!
317 447
318 Emacs provides two ways to enter repeat counts, though neither involves 448 Emacs provides two ways to enter repeat counts and neither involves using
319 using the GOLD key. In Emacs, repeat counts can be entered by using the 449 the GOLD key. First, repeat counts can be entered in Emacs by using the
320 ESC key. For example, pressing these keys in sequence, ESC 1 0 KP1, will 450 ESC key. For example, pressing these keys in sequence, ESC 1 0 KP1, will
321 move the cursor in the current direction 10 words. 451 move the cursor in the current direction 10 words. Second, Emacs provides
452 another command called universal-argument that can be used to do the same
453 thing. Normally, in Emacs has this bound to C-u.
322 454
323 Emacs provides another command called universal-argument that can do the 4552. EDT's line mode commands and nokeypad mode commands are NOT supported
324 same thing, plus a few other things. Normally, Emacs has this bound to
325 C-u.
326
3272. The EDT SUBS command, bound to GOLD ENTER, is NOT supported. The built-in
328 Emacs query-replace command has been bound to GOLD ENTER, instead. It is
329 much more convenient to use than SUBS.
330
3313. EDT's line mode commands and nokeypad mode commands are NOT supported
332 (with one important exception; see item 8 in the Highlights section 456 (with one important exception; see item 8 in the Highlights section
333 below). Although, at first, this may seem like a big omission, the set of 457 below). Although, at first, this may seem like a big omission, the set of
334 built-in Emacs commands provides a much richer set of capabilities which 458 built-in Emacs commands provides a much richer set of capabilities which
335 more than make up for this omission. 459 more than make up for this omission.
336 460
337 To enter Emacs commands not bound to keys, you can press GOLD KP7 or the 461 To enter Emacs commands not bound to keys, you can press GOLD KP7 or the DO
338 DO key. Emacs will display its own command prompt called Meta-x (M-x). 462 key. Emacs will display its own command prompt "M-x". This stands for the
339 You can also invoke this prompt the normal Emacs way by entering ESC x. 463 keypress Meta-x, where Meta is a special shift key. The Alt key is often
464 mapped to behave as a Meta key. So, you can also invoke this prompt by
465 pressing Meta-x. Typing the sequence "ESC x" will also invoke the prompt.
340 466
3414. Selected text is highlighted ONLY when running under X Windows. Gnu Emacs 4673. Selected text is highlighted ONLY on systems where Emacs supports the
342 19 does not support highlighting of text on VT series terminals, at this 468 highlighting of text.
343 time.
344 469
3455. Just like TPU/EVE, The ENTER key is NOT used to terminate input when the 4704. Just like in TPU/EVE, the ENTER key is NOT used to terminate input when the
346 editor prompts you for input. The RETURN key is used, instead. (KP4 and 471 editor prompts you for input. The RETURN key is used, instead. (KP4 and
347 KP5 do terminate input for the FIND command, just like in EDT, however.) 472 KP5 (the direction keys) do terminate input for the FIND command, just like
473 in EDT, however.)
348 474
349 475
350 476
@@ -356,7 +482,7 @@ VI. SOME HIGHLIGHTS IN THIS EDT EMULATION, AND SOME COMPARISONS TO THE
356 C-k in the default EDT mode when EDT control sequence bindings are enabled 482 C-k in the default EDT mode when EDT control sequence bindings are enabled
357 or one of the sample edt-user.el customization files is used. The TPU/EVE 483 or one of the sample edt-user.el customization files is used. The TPU/EVE
358 learn command is supported but not bound to a key in the default EDT mode 484 learn command is supported but not bound to a key in the default EDT mode
359 but is bound in the sample edt-user.el files. 485 but is bound in the sample edt-user.el file.
360 486
361 Unlike the TPU/EVE learn command, which uses one key to begin the learn 487 Unlike the TPU/EVE learn command, which uses one key to begin the learn
362 sequence, C-l, and another command to remember the sequence, C-r, this 488 sequence, C-l, and another command to remember the sequence, C-r, this
@@ -371,12 +497,14 @@ VI. SOME HIGHLIGHTS IN THIS EDT EMULATION, AND SOME COMPARISONS TO THE
371 to GOLD C-k in the default EDT mode when EDT control sequence bindings are 497 to GOLD C-k in the default EDT mode when EDT control sequence bindings are
372 enabled or one of the sample edt-user.el customization files is used. 498 enabled or one of the sample edt-user.el customization files is used.
373 499
3742. Direction support is fully supported. It is no longer accomplished by 5002. Direction support is fully supported.
375 re-defining keys each time the direction is changed. Thus, commands
376 sensitive to the current direction setting may be bound easily to any key.
377 501
3783. All original emacs bindings are fully restored when EDT emulation is 5023. All original Emacs bindings are fully restored when EDT emulation is turned
379 turned off. 503 off. So, if a fellow worker comes over to your terminal to help you with a
504 software problem, for example, and is completely confused by your EDT
505 emulation bindings, just enter the command, edt-emulation-off, at the M-x
506 prompt and the original Emacs bindings will be restored. To resume the EDT
507 emulation, just enter edt-emulation-on.
380 508
3814. User custom EDT bindings are kept separate from the default EDT bindings. 5094. User custom EDT bindings are kept separate from the default EDT bindings.
382 One can toggle back and forth between the custom EDT bindings and default 510 One can toggle back and forth between the custom EDT bindings and default
@@ -401,7 +529,8 @@ VI. SOME HIGHLIGHTS IN THIS EDT EMULATION, AND SOME COMPARISONS TO THE
401 529
402 (setq edt-keep-current-page-delimiter t) 530 (setq edt-keep-current-page-delimiter t)
403 531
404 in your .emacs file. 532 in your .emacs file. Or, you can used the Emacs customize command
533 to change its setting.
405 534
4067. The EDT definition of a section of a terminal window is hardwired to be 16 5357. The EDT definition of a section of a terminal window is hardwired to be 16
407 lines of its one-and-only 24-line window (the EDT SECT command bound to 536 lines of its one-and-only 24-line window (the EDT SECT command bound to
@@ -419,7 +548,7 @@ VI. SOME HIGHLIGHTS IN THIS EDT EMULATION, AND SOME COMPARISONS TO THE
419 548
4209. EDT's FIND and FNDNXT are supported. 5499. EDT's FIND and FNDNXT are supported.
421 550
42210. EDT's APPEND and REPLACE commands are supported. 55110. EDT's APPEND, REPLACE, and SUBS commands are supported.
423 552
42411. CHNGCASE is supported. It works on individual characters or selected 55311. CHNGCASE is supported. It works on individual characters or selected
425 text, if SELECT is active. In addition, two new commands are provided: 554 text, if SELECT is active. In addition, two new commands are provided:
@@ -477,6 +606,9 @@ VI. SOME HIGHLIGHTS IN THIS EDT EMULATION, AND SOME COMPARISONS TO THE
477 into a toggle on/off switch. That is, if selection is ON, pressing SELECT 606 into a toggle on/off switch. That is, if selection is ON, pressing SELECT
478 again turns selection off (cancels selection). This function is used in 607 again turns selection off (cancels selection). This function is used in
479 the sample edt-user.el customization files. 608 the sample edt-user.el customization files.
609
61020. EDT scroll margins are supported, but are disabled by default. (See
611 CUSTOMIZING section below for instructions on how to enable them.)
480 612
481 613
482VII. CUSTOMIZING: 614VII. CUSTOMIZING:
@@ -531,14 +663,14 @@ Note:
531 host if pressed. So customizing bindings to these keys may 663 host if pressed. So customizing bindings to these keys may
532 not work for you. 664 not work for you.
533 665
534There are three basic functions that do the EDT emulation bindings: 666There are three basic functions that do the EDT emulation custom bindings:
535edt-bind-standard-key, edt-bind-gold-key, and edt-bind-function-key. 667edt-bind-key, edt-bind-gold-key, and edt-bind-function-key.
536 668
537The first two are for binding functions to keys which are standard across most 669The first two are for binding functions to keys which are standard across most
538keyboards. This makes them keyboard independent, making it possible to define 670keyboards. This makes them keyboard independent, making it possible to define
539these key bindings for all terminals in the file edt.el. 671these key bindings for all terminals in the file edt.el.
540 672
541The first, edt-bind-standard-key, is used typically to bind emacs commands to 673The first, edt-bind-key, is used typically to bind emacs commands to
542control keys, although some people use it to bind commands to other keys, as 674control keys, although some people use it to bind commands to other keys, as
543well. (For example, some people use it to bind the VT200 seldom used 675well. (For example, some people use it to bind the VT200 seldom used
544back-tick key (`) to the function "ESC-prefix" so it will behave like an ESC 676back-tick key (`) to the function "ESC-prefix" so it will behave like an ESC
@@ -546,23 +678,10 @@ key.) The second function, edt-bind-gold-key, is used to bind emacs commands
546to gold key sequences involving alpha-numeric keys, special character keys, 678to gold key sequences involving alpha-numeric keys, special character keys,
547and control keys. 679and control keys.
548 680
549The third function, edt-bind-function-key, is terminal dependent and is 681The third function, edt-bind-function-key, is terminal dependent and is defined
550defined in a terminal specific file (see edt-vt100.el for example). It is 682in a terminal specific file (see edt-vt100.el for example). It is used to bind
551used to bind emacs commands to function keys, to keypad keys, and to gold 683emacs commands to LK-201 function keys, to keypad keys, and to gold sequences
552sequences of those keys. 684of those keys.
553
554WARNING: Each of the three functions, edt-bind-function-key,
555 edt-bind-gold-key, and edt-bind-standard-key, has an optional
556 last argument. The optional argument should NOT be used in
557 edt-user.el! When the optional argument is missing, each
558 function knows to make the key binding part of the user's EDT
559 custom bindings, which is what you want to do in edt-user.el!
560
561 The EDT default bindings are set up in edt.el by calling these
562 same functions with the optional last argument set to "t". So, if
563 you decide to copy such function calls from edt.el to edt-user.el
564 for subsequent modification, BE SURE TO DELETE THE "t" AT THE END
565 OF EACH PARAMETER LIST!
566 685
567 686
568SPECIFYING WORD ENTITIES: 687SPECIFYING WORD ENTITIES:
@@ -608,6 +727,31 @@ this, add the following line to your .emacs file:
608 727
609 (setq edt-use-EDT-control-key-bindings t) 728 (setq edt-use-EDT-control-key-bindings t)
610 729
730
731SETTING SCROLL MARGINS:
732
733Scroll margins at the top and bottom of the window are now supported. (The
734design was copied from tpu-extras.el.) By default, this feature is enabled
735with the top margin set to 10% of the window and the bottom margin set to 15%
736of the window. To change these settings, you can invoke the function
737edt-set-scroll-margins in your .emacs file. For example, the following line
738
739 (edt-set-scroll-margins "20%" "25%")
740
741sets the top margin to 20% of the window and the bottom margin to 25% of the
742window. To disable this feature, set each margin to 0%. You can also invoke
743edt-set-scroll-margins interactively while EDT Emulation is active to change
744the settings for that session.
745
746NOTE: Another way to set the scroll margins is to use the Emacs customization
747feature (not available in Emacs 19) to set the following two variables
748directly:
749
750 edt-top-scroll-margin and edt-bottom-scroll-margin
751
752Enter the Emacs `customize' command. First select the Editing group and then
753select the Emulations group. Finally, select the Edt group and follow the
754directions.
611 755
612 DEFAULT EDT Keypad 756 DEFAULT EDT Keypad
613 757
@@ -623,8 +767,8 @@ G-F10: Paste Rectangle
623G-F12: Delete Other Windows | GOLD | HELP | FNDNXT | DEL L | 767G-F12: Delete Other Windows | GOLD | HELP | FNDNXT | DEL L |
624 F13: Delete to Begin of Word | (PF1) | (PF2) | (PF3) | (PF4) | 768 F13: Delete to Begin of Word | (PF1) | (PF2) | (PF3) | (PF4) |
625 HELP: Keypad Help |Mark Wisel|Desc Funct| FIND | UND L | 769 HELP: Keypad Help |Mark Wisel|Desc Funct| FIND | UND L |
626 DO: Execute extended command +----------+----------+----------+----------+ 770G-HELP: Emacs Help +----------+----------+----------+----------+
627 | PAGE | SECT | APPEND | DEL W | 771 DO: Execute extended command | PAGE | SECT | APPEND | DEL W |
628 C-g: Keyboard Quit | (7) | (8) | (9) | (-) | 772 C-g: Keyboard Quit | (7) | (8) | (9) | (-) |
629G-C-g: Keyboard Quit |Ex Ext Cmd|Fill Regio| REPLACE | UND W | 773G-C-g: Keyboard Quit |Ex Ext Cmd|Fill Regio| REPLACE | UND W |
630 C-h: Beginning of Line +----------+----------+----------+----------+ 774 C-h: Beginning of Line +----------+----------+----------+----------+
@@ -671,16 +815,17 @@ G-C-\: Split Window | FNDNXT | Yank | CUT |
671 G- : Undo (GOLD Spacebar) 815 G- : Undo (GOLD Spacebar)
672 G-=: Go to Line 816 G-=: Go to Line
673 G-`: What line 817 G-`: What line
818 G-/: Query-Replace
674 819
675;;; File: edt-user.el --- Sample User Customizations for the Enhanced 820;;; File: edt-user.el --- Sample User Customizations for the Enhanced
676;;; EDT Keypad Mode Emulation 821;;; EDT Keypad Mode Emulation
677;;; 822;;;
678;;; For GNU Emacs 19 823;;; For GNU Emacs 19 and Above
679;;; 824;;;
680;; Copyright (C) 1986, 1992, 1993 Free Software Foundation, Inc. 825;; Copyright (C) 1986, 1992, 1993, 2000 Free Software Foundation, Inc.
681 826
682;; Author: Kevin Gallagher <kevingal@onramp.net> 827;; Author: Kevin Gallagher <kgallagh@spd.dsccc.com>
683;; Maintainer: Kevin Gallagher <kevingal@onramp.net> 828;; Maintainer: Kevin Gallagher <kgallagh@spd.dsccc.com>
684;; Keywords: emulations 829;; Keywords: emulations
685 830
686;; GNU Emacs is free software; you can redistribute it and/or modify 831;; GNU Emacs is free software; you can redistribute it and/or modify
@@ -700,25 +845,7 @@ G-C-\: Split Window | FNDNXT | Yank | CUT |
700 845
701;;; Commentary: 846;;; Commentary:
702 847
703;; This file contains GNU Emacs User Custom EDT bindings and functions. In 848;; This file contains GNU Emacs User Custom EDT bindings and functions.
704;; this example file, there is no special test for the type of terminal being
705;; used. The assumption is that all key bindings here apply to all terminals
706;; that may be used. (In fact, it was written by an individual who uses only
707;; VT series terminals when logging into a VAX.)
708;;
709;; WARNING: Each of the three functions, edt-bind-function-key,
710;; edt-bind-gold-key, and edt-bind-standard-key, has an optional
711;; last argument. The optional argument should NOT be used in
712;; edt-user.el! When the optional argument is missing, each
713;; function knows to make the key binding part of the user's EDT
714;; custom bindings, which is what you want to do in edt-user.el!
715;;
716;; The EDT default bindings are set up in edt.el by calling these
717;; same functions with the optional last argument set to "t". So, if
718;; you decide to copy such function calls from edt.el to edt-user.el
719;; for subsequent modification, BE SURE TO DELETE THE "t" AT THE END
720;; OF EACH PARAMETER LIST!
721;;
722 849
723;;; Usage: 850;;; Usage:
724 851
@@ -760,19 +887,19 @@ G-C-\: Split Window | FNDNXT | Yank | CUT |
760 887
761 ;; Control bindings for regular keys. 888 ;; Control bindings for regular keys.
762 ;;; Leave binding of C-c as original prefix key. 889 ;;; Leave binding of C-c as original prefix key.
763 (edt-bind-standard-key "\C-j" 'edt-duplicate-word) 890 (edt-bind-key "\C-j" 'edt-duplicate-word)
764 (edt-bind-standard-key "\C-k" 'edt-define-key) 891 (edt-bind-key "\C-k" 'edt-define-key)
765 (edt-bind-gold-key "\C-k" 'edt-restore-key) 892 (edt-bind-gold-key "\C-k" 'edt-restore-key)
766 (edt-bind-standard-key "\C-l" 'edt-learn) 893 (edt-bind-key "\C-l" 'edt-learn)
767 ;;; Leave binding of C-m to newline. 894 ;;; Leave binding of C-m to newline.
768 (edt-bind-standard-key "\C-n" 'edt-set-screen-width-80) 895 (edt-bind-key "\C-n" 'edt-set-screen-width-80)
769 (edt-bind-standard-key "\C-o" 'open-line) 896 (edt-bind-key "\C-o" 'open-line)
770 (edt-bind-standard-key "\C-p" 'fill-paragraph) 897 (edt-bind-key "\C-p" 'fill-paragraph)
771 ;;; Leave binding of C-r to isearch-backward. 898 ;;; Leave binding of C-r to isearch-backward.
772 ;;; Leave binding of C-s to isearch-forward. 899 ;;; Leave binding of C-s to isearch-forward.
773 (edt-bind-standard-key "\C-t" 'edt-display-the-time) 900 (edt-bind-key "\C-t" 'edt-display-the-time)
774 (edt-bind-standard-key "\C-v" 'redraw-display) 901 (edt-bind-key "\C-v" 'redraw-display)
775 (edt-bind-standard-key "\C-w" 'edt-set-screen-width-132) 902 (edt-bind-key "\C-w" 'edt-set-screen-width-132)
776 ;;; Leave binding of C-x as original prefix key. 903 ;;; Leave binding of C-x as original prefix key.
777) 904)
778 905
@@ -797,8 +924,8 @@ G-F10: Paste Rectangle
797G-F12: Delete Other Windows | (PF1) | (PF2) | (PF3) | (PF4) | 924G-F12: Delete Other Windows | (PF1) | (PF2) | (PF3) | (PF4) |
798 F13: Delete to Begin of Word |Mark Wisel|Other Wind| FIND | UND L | 925 F13: Delete to Begin of Word |Mark Wisel|Other Wind| FIND | UND L |
799 HELP: Keypad Help +----------+----------+----------+----------+ 926 HELP: Keypad Help +----------+----------+----------+----------+
800 DO: Execute extended command | PAGE |Scroll Win|Open Line | DEL W | 927G-HELP: Emacs Help | PAGE |Scroll Win|Open Line | DEL W |
801 | (7) | (8) | (9) | (-) | 928 DO: Execute extended command | (7) | (8) | (9) | (-) |
802 C-a: Beginning of Line |Ex Ext Cmd|Fill Parag|Elim Tabs | UND W | 929 C-a: Beginning of Line |Ex Ext Cmd|Fill Parag|Elim Tabs | UND W |
803 C-b: Switch to Buffer +----------+----------+----------+----------+ 930 C-b: Switch to Buffer +----------+----------+----------+----------+
804 C-d: Delete Character | ADVANCE | BACKUP | CUT/COPY | DEL C | 931 C-d: Delete Character | ADVANCE | BACKUP | CUT/COPY | DEL C |
@@ -852,7 +979,8 @@ G-C-\\: Split Window
852 G-%: Go to Percentage 979 G-%: Go to Percentage
853 G- : Undo (GOLD Spacebar) 980 G- : Undo (GOLD Spacebar)
854 G-=: Go to Line 981 G-=: Go to Line
855 G-`: What line" 982 G-`: What line
983 G-/: Query-Replace"
856 984
857 (interactive) 985 (interactive)
858 (describe-function 'edt-user-keypad-help)) 986 (describe-function 'edt-user-keypad-help))