annotate lisp/emulation/edt.el @ 106730:d1805c8df951

(xd_remove_watch): Avoid trying to convert a void* to Lisp_Object, preferring to convert a lisp_Object to a void* instead. (Fdbus_init_bus): Use XHASH to get a scalar value from a Lisp_Object.
author Stefan Monnier <monnier@iro.umontreal.ca>
date Mon, 04 Jan 2010 12:38:20 -0500
parents dc80b06afb69
children 1d1d5d9bd884
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
38436
b174db545cfd Some fixes to follow coding conventions.
Pavel Janík <Pavel@Janik.cz>
parents: 35124
diff changeset
1 ;;; edt.el --- enhanced EDT keypad mode emulation for GNU Emacs 19
660
08eb386dd0f3 *** empty log message ***
Eric S. Raymond <esr@snark.thyrsus.com>
parents: 258
diff changeset
2
64701
34bd8e434dd7 Update years in copyright notice; nfc.
Thien-Thi Nguyen <ttn@gnuvola.org>
parents: 64085
diff changeset
3 ;; Copyright (C) 1986, 1992, 1993, 1994, 1995, 2000, 2001, 2002, 2003,
100908
a9dc0e7c3f2b Add 2009 to copyright years.
Glenn Morris <rgm@gnu.org>
parents: 97543
diff changeset
4 ;; 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation, Inc.
846
20674ae6bf52 *** empty log message ***
Eric S. Raymond <esr@snark.thyrsus.com>
parents: 811
diff changeset
5
74641
11fae7eadf2d Replace `/' with a `-', to fix a problem on Cygwin.
Eli Zaretskii <eliz@gnu.org>
parents: 68648
diff changeset
6 ;; Author: Kevin Gallagher <Kevin.Gallagher@boeing.com>
11fae7eadf2d Replace `/' with a `-', to fix a problem on Cygwin.
Eli Zaretskii <eliz@gnu.org>
parents: 68648
diff changeset
7 ;; Maintainer: Kevin Gallagher <Kevin.Gallagher@boeing.com>
811
e694e0879463 *** empty log message ***
Eric S. Raymond <esr@snark.thyrsus.com>
parents: 807
diff changeset
8 ;; Keywords: emulations
807
4f28bd14272c *** empty log message ***
Eric S. Raymond <esr@snark.thyrsus.com>
parents: 793
diff changeset
9
57
f34b559dc980 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
10 ;; This file is part of GNU Emacs.
f34b559dc980 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
11
94658
eb7b2376cae5 Switch to recommended form of GPLv3 permissions notice.
Glenn Morris <rgm@gnu.org>
parents: 93975
diff changeset
12 ;; GNU Emacs is free software: you can redistribute it and/or modify
eb7b2376cae5 Switch to recommended form of GPLv3 permissions notice.
Glenn Morris <rgm@gnu.org>
parents: 93975
diff changeset
13 ;; it under the terms of the GNU General Public License as published by
eb7b2376cae5 Switch to recommended form of GPLv3 permissions notice.
Glenn Morris <rgm@gnu.org>
parents: 93975
diff changeset
14 ;; the Free Software Foundation, either version 3 of the License, or
eb7b2376cae5 Switch to recommended form of GPLv3 permissions notice.
Glenn Morris <rgm@gnu.org>
parents: 93975
diff changeset
15 ;; (at your option) any later version.
57
f34b559dc980 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
16
94658
eb7b2376cae5 Switch to recommended form of GPLv3 permissions notice.
Glenn Morris <rgm@gnu.org>
parents: 93975
diff changeset
17 ;; GNU Emacs is distributed in the hope that it will be useful,
eb7b2376cae5 Switch to recommended form of GPLv3 permissions notice.
Glenn Morris <rgm@gnu.org>
parents: 93975
diff changeset
18 ;; but WITHOUT ANY WARRANTY; without even the implied warranty of
eb7b2376cae5 Switch to recommended form of GPLv3 permissions notice.
Glenn Morris <rgm@gnu.org>
parents: 93975
diff changeset
19 ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
eb7b2376cae5 Switch to recommended form of GPLv3 permissions notice.
Glenn Morris <rgm@gnu.org>
parents: 93975
diff changeset
20 ;; GNU General Public License for more details.
57
f34b559dc980 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
21
f34b559dc980 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
22 ;; You should have received a copy of the GNU General Public License
94658
eb7b2376cae5 Switch to recommended form of GPLv3 permissions notice.
Glenn Morris <rgm@gnu.org>
parents: 93975
diff changeset
23 ;; along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>.
57
f34b559dc980 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
24
35124
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
25
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
26
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
27 ;;; Commentary:
49598
0d8b17d428b5 Trailing whitepace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents: 48259
diff changeset
28 ;;
35124
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
29
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
30 ;; This is Version 4.0 of the EDT Emulation for Emacs 19 and above.
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
31 ;; It comes with special functions which replicate nearly all of EDT's
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
32 ;; keypad mode behavior. It sets up default keypad and function key
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
33 ;; bindings which closely match those found in EDT. Support is
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
34 ;; provided so that users may reconfigure most keypad and function key
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
35 ;; bindings to their own liking.
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
36
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
37 ;; NOTE: Version 4.0 contains several enhancements. See the
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
38 ;; Enhancement section below for the details.
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
39
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
40 ;; Getting Started:
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
41
49598
0d8b17d428b5 Trailing whitepace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents: 48259
diff changeset
42 ;; To start the EDT Emulation, first start Emacs and then enter
35124
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
43 ;;
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
44 ;; M-x edt-emulation-on
49598
0d8b17d428b5 Trailing whitepace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents: 48259
diff changeset
45 ;;
35124
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
46 ;; to begin the emulation. After initialization is complete, the
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
47 ;; following message will appear below the status line informing you
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
48 ;; that the emulation has been enabled: "Default EDT keymap active".
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
49
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
50 ;; You can have the EDT Emulation start up automatically, each time
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
51 ;; you initiate a GNU Emacs session, by adding the following line to
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
52 ;; your .emacs file:
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
53 ;;
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
54 ;; (add-hook term-setup-hook 'edt-emulation-on)
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
55
106588
dc80b06afb69 Update comments for edt doc changes.
Glenn Morris <rgm@gnu.org>
parents: 105829
diff changeset
56 ;; IMPORTANT: Be sure to read the Info node `edt' for more details.
dc80b06afb69 Update comments for edt doc changes.
Glenn Morris <rgm@gnu.org>
parents: 105829
diff changeset
57 ;; It contains very helpful user information.
35124
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
58
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
59 ;; The EDT emulation consists of the following files:
49598
0d8b17d428b5 Trailing whitepace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents: 48259
diff changeset
60 ;;
106588
dc80b06afb69 Update comments for edt doc changes.
Glenn Morris <rgm@gnu.org>
parents: 105829
diff changeset
61 ;; edt.texi - User manual
dc80b06afb69 Update comments for edt doc changes.
Glenn Morris <rgm@gnu.org>
parents: 105829
diff changeset
62 ;; edt-user.el - Sample Customization File
35124
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
63 ;; edt.el - EDT Emulation Functions and Default Configuration
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
64 ;; edt-lk201.el - Built-in support for DEC LK-201 Keyboards
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
65 ;; edt-vt100.el - Built-in support for DEC VT-100 (and above) terminals
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
66 ;; edt-pc.el - Built-in support for PC 101 Keyboards under MS-DOS
49598
0d8b17d428b5 Trailing whitepace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents: 48259
diff changeset
67 ;; edt-mapper.el - Create an EDT LK-201 Map File for Keyboards Without
35124
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
68 ;; Built-in Support
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
69
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
70 ;; Enhancements:
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
71
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
72 ;; Version 4.0 contains the following enhancements:
10689
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
73
35124
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
74 ;; 1. Scroll margins at the top and bottom of the window are now
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
75 ;; supported. (The design was copied from tpu-extras.el.) By
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
76 ;; default, this feature is enabled, with the top margin set to
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
77 ;; 10% of the window and the bottom margin set to 15% of the
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
78 ;; window. To change these settings, you can invoke the function
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
79 ;; edt-set-scroll-margins in your .emacs file. For example, the
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
80 ;; following line
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
81 ;;
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
82 ;; (edt-set-scroll-margins "20%" "25%")
49598
0d8b17d428b5 Trailing whitepace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents: 48259
diff changeset
83 ;;
35124
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
84 ;; sets the top margin to 20% of the window and the bottom margin
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
85 ;; to 25% of the window. To disable this feature, set each
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
86 ;; margin to 0%. You can also invoke edt-set-scroll-margins
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
87 ;; interactively while EDT Emulation is active to change the
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
88 ;; settings for that session.
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
89 ;;
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
90 ;; NOTE: Another way to set the scroll margins is to use the
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
91 ;; Emacs customization feature (not available in Emacs 19) to set
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
92 ;; the following two variables directly:
49598
0d8b17d428b5 Trailing whitepace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents: 48259
diff changeset
93 ;;
35124
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
94 ;; edt-top-scroll-margin and edt-bottom-scroll-margin
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
95 ;;
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
96 ;; Enter the Emacs `customize' command. First select the Editing
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
97 ;; group and then select the Emulations group. Finally, select
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
98 ;; the Edt group and follow the directions.
49598
0d8b17d428b5 Trailing whitepace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents: 48259
diff changeset
99 ;;
35124
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
100 ;; 2. The SUBS command is now supported and bound to GOLD-Enter by
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
101 ;; default. (This design was copied from tpu-edt.el.) Note, in
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
102 ;; earlier versions of EDT Emulation, GOLD-Enter was assigned to
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
103 ;; the Emacs function `query-replace'. The binding of
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
104 ;; `query-replace' has been moved to GOLD-/. If you prefer to
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
105 ;; restore `query-replace' to GOLD-Enter, then use an EDT user
106588
dc80b06afb69 Update comments for edt doc changes.
Glenn Morris <rgm@gnu.org>
parents: 105829
diff changeset
106 ;; customization file, edt-user.el, to do this.
dc80b06afb69 Update comments for edt doc changes.
Glenn Morris <rgm@gnu.org>
parents: 105829
diff changeset
107 ;; See Info node `edt' for more details.
35124
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
108
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
109 ;; 3. EDT Emulation now also works in XEmacs, including the
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
110 ;; highlighting of selected text.
807
4f28bd14272c *** empty log message ***
Eric S. Raymond <esr@snark.thyrsus.com>
parents: 793
diff changeset
111
35124
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
112 ;; 4. If you access a workstation using an X Server, observe that
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
113 ;; the initialization file generated by edt-mapper.el will now
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
114 ;; contain the name of the X Server vendor. This is a
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
115 ;; convenience for those who have access to their Unix account
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
116 ;; from more than one type of X Server. Since different X
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
117 ;; Servers typically require different EDT emulation
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
118 ;; initialization files, edt-mapper.el will now generate these
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
119 ;; different initialization files and save them with different
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
120 ;; names. Then, the correct initialization file for the
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
121 ;; particular X server in use is loaded correctly automatically.
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
122
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
123 ;; 5. Also, edt-mapper.el is now capable of binding an ASCII key
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
124 ;; sequence, providing the ASCII key sequence prefix is already
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
125 ;; known by Emacs to be a prefix. As a result of providing this
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
126 ;; support, some terminal/keyboard/window system configurations,
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
127 ;; which don't have a complete set of sensible function key
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
128 ;; bindings built into Emacs in `function-key-map', can still be
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
129 ;; configured for use with EDT Emulation. (Note: In a few rare
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
130 ;; circumstances this does not work properly. In particular, it
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
131 ;; does not work if a subset of the leading ASCII characters in a
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
132 ;; key sequence are recognized by Emacs as having an existing
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
133 ;; binding. For example, if the keypad 7 (KP-7) key generates
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
134 ;; the sequence \"<ESC>Ow\" and \"<ESC>O\" is already bound to a
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
135 ;; function, pressing KP-7 when told to do so by edt-mapper.el
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
136 ;; will result in edt-mapper.el incorrectly mapping \"<ESC>O\" to
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
137 ;; KP-7 and \"w\" to KP-8. If something like this happens to
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
138 ;; you, it is probably a bug in the support for your keyboard
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
139 ;; within Emacs OR a bug in the Unix termcap/terminfo support for
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
140 ;; your terminal OR a bug in the terminal emulation software you
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
141 ;; are using.)
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
142
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
143 ;; 6. The edt-quit function (bound to GOLD-q by default) has been
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
144 ;; modified to warn the user when file-related buffer
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
145 ;; modifications exist. It now cautions the user that those
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
146 ;; modifications will be lost if the user quits without saving
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
147 ;; those buffers.
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
148
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
149
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
150 ;;; History:
49598
0d8b17d428b5 Trailing whitepace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents: 48259
diff changeset
151 ;;
35124
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
152 ;; Version 4.0 2000 Added New Features and Fixed a Few Bugs
49598
0d8b17d428b5 Trailing whitepace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents: 48259
diff changeset
153 ;;
35124
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
154
10689
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
155
35124
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
156 ;;; Code:
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
157
10689
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
158 ;;; Electric Help functions are used for keypad help displays. A few
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
159 ;;; picture functions are used in rectangular cut and paste commands.
35124
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
160
10689
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
161 (require 'ehelp)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
162 (require 'picture)
807
4f28bd14272c *** empty log message ***
Eric S. Raymond <esr@snark.thyrsus.com>
parents: 793
diff changeset
163
10689
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
164 ;;;;
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
165 ;;;; VARIABLES and CONSTANTS
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
166 ;;;;
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
167
48259
c283da384991 (defgroup edt): Arrange that definition starts at beginning of line.
Markus Rost <rost@math.uni-bielefeld.de>
parents: 48247
diff changeset
168 (defgroup edt nil
c283da384991 (defgroup edt): Arrange that definition starts at beginning of line.
Markus Rost <rost@math.uni-bielefeld.de>
parents: 48247
diff changeset
169 "Emacs emulating EDT."
c283da384991 (defgroup edt): Arrange that definition starts at beginning of line.
Markus Rost <rost@math.uni-bielefeld.de>
parents: 48247
diff changeset
170 :prefix "edt-"
c283da384991 (defgroup edt): Arrange that definition starts at beginning of line.
Markus Rost <rost@math.uni-bielefeld.de>
parents: 48247
diff changeset
171 :group 'emulations)
35124
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
172
63914
402efef82fd9 (*EDT-keys*, edt-default-global-map, edt-last-copied-word,
Juanma Barranquero <lekktu@gmail.com>
parents: 62402
diff changeset
173 ;; To silence the byte-compiler
86243
4d615a83cee2 * progmodes/idlw-help.el: Require browse-url unconditionally, it
Dan Nicolaescu <dann@ics.uci.edu>
parents: 85777
diff changeset
174 (defvar *EDT-keys*)
4d615a83cee2 * progmodes/idlw-help.el: Require browse-url unconditionally, it
Dan Nicolaescu <dann@ics.uci.edu>
parents: 85777
diff changeset
175 (defvar edt-default-global-map)
4d615a83cee2 * progmodes/idlw-help.el: Require browse-url unconditionally, it
Dan Nicolaescu <dann@ics.uci.edu>
parents: 85777
diff changeset
176 (defvar edt-last-copied-word)
4d615a83cee2 * progmodes/idlw-help.el: Require browse-url unconditionally, it
Dan Nicolaescu <dann@ics.uci.edu>
parents: 85777
diff changeset
177 (defvar edt-learn-macro-count)
4d615a83cee2 * progmodes/idlw-help.el: Require browse-url unconditionally, it
Dan Nicolaescu <dann@ics.uci.edu>
parents: 85777
diff changeset
178 (defvar edt-orig-page-delimiter)
4d615a83cee2 * progmodes/idlw-help.el: Require browse-url unconditionally, it
Dan Nicolaescu <dann@ics.uci.edu>
parents: 85777
diff changeset
179 (defvar edt-orig-transient-mark-mode)
4d615a83cee2 * progmodes/idlw-help.el: Require browse-url unconditionally, it
Dan Nicolaescu <dann@ics.uci.edu>
parents: 85777
diff changeset
180 (defvar edt-rect-start-point)
4d615a83cee2 * progmodes/idlw-help.el: Require browse-url unconditionally, it
Dan Nicolaescu <dann@ics.uci.edu>
parents: 85777
diff changeset
181 (defvar edt-user-global-map)
4d615a83cee2 * progmodes/idlw-help.el: Require browse-url unconditionally, it
Dan Nicolaescu <dann@ics.uci.edu>
parents: 85777
diff changeset
182 (defvar rect-start-point)
4d615a83cee2 * progmodes/idlw-help.el: Require browse-url unconditionally, it
Dan Nicolaescu <dann@ics.uci.edu>
parents: 85777
diff changeset
183 (defvar time-string)
4d615a83cee2 * progmodes/idlw-help.el: Require browse-url unconditionally, it
Dan Nicolaescu <dann@ics.uci.edu>
parents: 85777
diff changeset
184 (defvar zmacs-region-stays)
63914
402efef82fd9 (*EDT-keys*, edt-default-global-map, edt-last-copied-word,
Juanma Barranquero <lekktu@gmail.com>
parents: 62402
diff changeset
185
35124
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
186 ;;;
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
187 ;;; Version Information
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
188 ;;;
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
189 (defconst edt-version "4.0" "EDT Emulation version number.")
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
190
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
191 ;;;
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
192 ;;; User Configurable Variables
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
193 ;;;
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
194
48247
80e9d4652a07 Simplify Emacs 19 compatibility.
Markus Rost <rost@math.uni-bielefeld.de>
parents: 45896
diff changeset
195 (defcustom edt-keep-current-page-delimiter nil
80e9d4652a07 Simplify Emacs 19 compatibility.
Markus Rost <rost@math.uni-bielefeld.de>
parents: 45896
diff changeset
196 "*Emacs MUST be restarted for a change in value to take effect!
35124
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
197 Non-nil leaves Emacs value of `page-delimiter' unchanged within EDT
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
198 Emulation. If set to nil (the default), the `page-delimiter' variable
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
199 is set to \"\\f\" when edt-emulation-on is first invoked. This
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
200 setting replicates EDT's page delimiter behavior. The original value
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
201 is restored when edt-emulation-off is called."
48247
80e9d4652a07 Simplify Emacs 19 compatibility.
Markus Rost <rost@math.uni-bielefeld.de>
parents: 45896
diff changeset
202 :type 'boolean
80e9d4652a07 Simplify Emacs 19 compatibility.
Markus Rost <rost@math.uni-bielefeld.de>
parents: 45896
diff changeset
203 :group 'edt)
49598
0d8b17d428b5 Trailing whitepace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents: 48259
diff changeset
204
48247
80e9d4652a07 Simplify Emacs 19 compatibility.
Markus Rost <rost@math.uni-bielefeld.de>
parents: 45896
diff changeset
205 (defcustom edt-use-EDT-control-key-bindings nil
80e9d4652a07 Simplify Emacs 19 compatibility.
Markus Rost <rost@math.uni-bielefeld.de>
parents: 45896
diff changeset
206 "*Emacs MUST be restarted for a change in value to take effect!
35124
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
207 Non-nil causes the control key bindings to be replaced with EDT
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
208 bindings. If set to nil (the default), EDT control key bindings are
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
209 not used and the current Emacs control key bindings are retained for
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
210 use within the EDT emulation."
48247
80e9d4652a07 Simplify Emacs 19 compatibility.
Markus Rost <rost@math.uni-bielefeld.de>
parents: 45896
diff changeset
211 :type 'boolean
80e9d4652a07 Simplify Emacs 19 compatibility.
Markus Rost <rost@math.uni-bielefeld.de>
parents: 45896
diff changeset
212 :group 'edt)
35124
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
213
48247
80e9d4652a07 Simplify Emacs 19 compatibility.
Markus Rost <rost@math.uni-bielefeld.de>
parents: 45896
diff changeset
214 (defcustom edt-word-entities '(?\t)
49598
0d8b17d428b5 Trailing whitepace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents: 48259
diff changeset
215 "*Specifies the list of EDT word entity characters.
35124
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
216 The default list, (\?\\t), contains just the TAB character, which
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
217 emulates EDT. Characters are specified in the list using their
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
218 decimal ASCII values. A question mark, followed by the actual
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
219 character, can be used to indicate the numerical value of the
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
220 character, instead of the actual decimal value. So, ?A means the
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
221 numerical value for the letter A, \?/ means the numerical value for /,
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
222 etc. Several unprintable and special characters have special
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
223 representations, which you can also use:
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
224
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
225 \?\\b specifies BS, C-h
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
226 \?\\t specifies TAB, C-i
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
227 \?\\n specifies LFD, C-j
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
228 \?\\v specifies VTAB, C-k
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
229 \?\\f specifies FF, C-l
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
230 \?\\r specifies CR, C-m
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
231 \?\\e specifies ESC, C-[
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
232 \?\\\\ specifies \\
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
233
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
234 In EDT Emulation movement-by-word commands, each character in the list
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
235 will be treated as if it were a separate word."
48247
80e9d4652a07 Simplify Emacs 19 compatibility.
Markus Rost <rost@math.uni-bielefeld.de>
parents: 45896
diff changeset
236 :type '(repeat integer)
80e9d4652a07 Simplify Emacs 19 compatibility.
Markus Rost <rost@math.uni-bielefeld.de>
parents: 45896
diff changeset
237 :group 'edt)
35124
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
238
48247
80e9d4652a07 Simplify Emacs 19 compatibility.
Markus Rost <rost@math.uni-bielefeld.de>
parents: 45896
diff changeset
239 (defcustom edt-top-scroll-margin 10
80e9d4652a07 Simplify Emacs 19 compatibility.
Markus Rost <rost@math.uni-bielefeld.de>
parents: 45896
diff changeset
240 "*Scroll margin at the top of the screen.
35124
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
241 Interpreted as a percent of the current window size with a default
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
242 setting of 10%. If set to 0, top scroll margin is disabled."
48247
80e9d4652a07 Simplify Emacs 19 compatibility.
Markus Rost <rost@math.uni-bielefeld.de>
parents: 45896
diff changeset
243 :type 'integer
80e9d4652a07 Simplify Emacs 19 compatibility.
Markus Rost <rost@math.uni-bielefeld.de>
parents: 45896
diff changeset
244 :group 'edt)
35124
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
245
48247
80e9d4652a07 Simplify Emacs 19 compatibility.
Markus Rost <rost@math.uni-bielefeld.de>
parents: 45896
diff changeset
246 (defcustom edt-bottom-scroll-margin 15
80e9d4652a07 Simplify Emacs 19 compatibility.
Markus Rost <rost@math.uni-bielefeld.de>
parents: 45896
diff changeset
247 "*Scroll margin at the bottom of the screen.
35124
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
248 Interpreted as a percent of the current window size with a default
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
249 setting of 15%. If set to 0, bottom scroll margin is disabled."
48247
80e9d4652a07 Simplify Emacs 19 compatibility.
Markus Rost <rost@math.uni-bielefeld.de>
parents: 45896
diff changeset
250 :type 'integer
80e9d4652a07 Simplify Emacs 19 compatibility.
Markus Rost <rost@math.uni-bielefeld.de>
parents: 45896
diff changeset
251 :group 'edt)
35124
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
252
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
253 ;;;
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
254 ;;; Internal Variables
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
255 ;;;
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
256
57
f34b559dc980 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
257 (defvar edt-last-deleted-lines ""
35124
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
258 "Last text deleted by the EDT emulation DEL L command.")
10689
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
259
57
f34b559dc980 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
260 (defvar edt-last-deleted-words ""
35124
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
261 "Last text deleted by the EDT emulation DEL W command.")
10689
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
262
57
f34b559dc980 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
263 (defvar edt-last-deleted-chars ""
35124
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
264 "Last text deleted by the EDT emulation DEL C command.")
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
265
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
266 (defvar edt-find-last-text ""
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
267 "Last text found by the EDT emulation FIND command.")
10689
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
268
35124
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
269 (defvar edt-match-beginning-mark (make-marker)
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
270 "Used internally by the EDT emulation SUBS command.")
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
271
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
272 (defvar edt-match-end-mark (make-marker)
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
273 "Used internally by the EDT emulation SUBS command.")
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
274
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
275 (defvar edt-last-replaced-key-definition nil
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
276 "Key definition replaced with `edt-define-key' or `edt-learn' command.")
10689
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
277
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
278 (defvar edt-direction-string ""
11442
331db5628809 Many doc fixes.
Karl Heuer <kwzh@gnu.org>
parents: 11273
diff changeset
279 "String indicating current direction of movement.")
10689
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
280
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
281 (defvar edt-select-mode nil
11442
331db5628809 Many doc fixes.
Karl Heuer <kwzh@gnu.org>
parents: 11273
diff changeset
282 "Non-nil means select mode is active.")
10689
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
283
35124
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
284 (defvar edt-select-mode-current ""
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
285 "Text displayed in mode line to indicate the state of EDT select mode.
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
286 When select mode is inactive, it is set to an empty string.")
10689
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
287
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
288 (defconst edt-select-mode-string " Select"
35124
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
289 "Used in mode line to indicate select mode is active.")
10689
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
290
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
291 (defconst edt-forward-string " ADVANCE"
11442
331db5628809 Many doc fixes.
Karl Heuer <kwzh@gnu.org>
parents: 11273
diff changeset
292 "Direction string in mode line to indicate forward movement.")
10689
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
293
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
294 (defconst edt-backward-string " BACKUP"
11442
331db5628809 Many doc fixes.
Karl Heuer <kwzh@gnu.org>
parents: 11273
diff changeset
295 "Direction string in mode line to indicate backward movement.")
10689
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
296
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
297 (defvar edt-default-map-active nil
11442
331db5628809 Many doc fixes.
Karl Heuer <kwzh@gnu.org>
parents: 11273
diff changeset
298 "Non-nil indicates that default EDT emulation key bindings are active.
42206
0f4506820432 Doc fix.
Pavel Janík <Pavel@Janik.cz>
parents: 38436
diff changeset
299 nil means user-defined custom bindings are active.")
10689
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
300
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
301 (defvar edt-user-map-configured nil
11442
331db5628809 Many doc fixes.
Karl Heuer <kwzh@gnu.org>
parents: 11273
diff changeset
302 "Non-nil indicates that user custom EDT key bindings are configured.
35124
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
303 This means that an edt-user.el file was found in the user's `load-path'.")
10689
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
304
35124
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
305 (defvar edt-term nil
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
306 "Specifies the terminal type, if applicable.")
10689
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
307
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
308 ;;;
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
309 ;;; Emacs version identifiers - currently referenced by
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
310 ;;;
35124
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
311 ;;; o edt-emulation-on o edt-load-keys
10689
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
312 ;;;
85777
2ca0af23d79d * emulation/edt.el (edt-emacs19-p, edt-x-emacs19-p)
Dan Nicolaescu <dann@ics.uci.edu>
parents: 85724
diff changeset
313 (defconst edt-emacs-variant (if (featurep 'emacs) "gnu" "xemacs")
35124
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
314 "Indicates Emacs variant: GNU Emacs or XEmacs \(aka Lucid Emacs\).")
10689
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
315
85777
2ca0af23d79d * emulation/edt.el (edt-emacs19-p, edt-x-emacs19-p)
Dan Nicolaescu <dann@ics.uci.edu>
parents: 85724
diff changeset
316 (defconst edt-window-system (if (featurep 'emacs) window-system (console-type))
35124
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
317 "Indicates window system \(in GNU Emacs\) or console type \(in XEmacs\).")
10689
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
318
95836
5d941efe34d7 (edt-xserver): Use replace-regexp-in-string.
Glenn Morris <rgm@gnu.org>
parents: 94658
diff changeset
319 (declare-function x-server-vendor "xfns.c" (&optional terminal))
5d941efe34d7 (edt-xserver): Use replace-regexp-in-string.
Glenn Morris <rgm@gnu.org>
parents: 94658
diff changeset
320
5d941efe34d7 (edt-xserver): Use replace-regexp-in-string.
Glenn Morris <rgm@gnu.org>
parents: 94658
diff changeset
321 (defconst edt-xserver (when (eq edt-window-system 'x)
5d941efe34d7 (edt-xserver): Use replace-regexp-in-string.
Glenn Morris <rgm@gnu.org>
parents: 94658
diff changeset
322 ;; The Cygwin window manager has a `/' in its
5d941efe34d7 (edt-xserver): Use replace-regexp-in-string.
Glenn Morris <rgm@gnu.org>
parents: 94658
diff changeset
323 ;; name, which breaks the generated file name of
5d941efe34d7 (edt-xserver): Use replace-regexp-in-string.
Glenn Morris <rgm@gnu.org>
parents: 94658
diff changeset
324 ;; the custom key map file. Replace `/' with a
5d941efe34d7 (edt-xserver): Use replace-regexp-in-string.
Glenn Morris <rgm@gnu.org>
parents: 94658
diff changeset
325 ;; `-' to work around that.
5d941efe34d7 (edt-xserver): Use replace-regexp-in-string.
Glenn Morris <rgm@gnu.org>
parents: 94658
diff changeset
326 (if (featurep 'xemacs)
5d941efe34d7 (edt-xserver): Use replace-regexp-in-string.
Glenn Morris <rgm@gnu.org>
parents: 94658
diff changeset
327 (replace-in-string (x-server-vendor) "[ /]" "-")
5d941efe34d7 (edt-xserver): Use replace-regexp-in-string.
Glenn Morris <rgm@gnu.org>
parents: 94658
diff changeset
328 (replace-regexp-in-string "[ /]" "-"
5d941efe34d7 (edt-xserver): Use replace-regexp-in-string.
Glenn Morris <rgm@gnu.org>
parents: 94658
diff changeset
329 (x-server-vendor))))
35124
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
330 "Indicates X server vendor name, if applicable.")
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
331
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
332 (defvar edt-keys-file nil
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
333 "User's custom keypad and function keys mappings to emulate LK-201 keyboard.")
63941
929eb735e11d (edt-last-copied-word): Add defvar.
Richard M. Stallman <rms@gnu.org>
parents: 63914
diff changeset
334
929eb735e11d (edt-last-copied-word): Add defvar.
Richard M. Stallman <rms@gnu.org>
parents: 63914
diff changeset
335 (defvar edt-last-copied-word nil
929eb735e11d (edt-last-copied-word): Add defvar.
Richard M. Stallman <rms@gnu.org>
parents: 63914
diff changeset
336 "Last word that the user copied.")
929eb735e11d (edt-last-copied-word): Add defvar.
Richard M. Stallman <rms@gnu.org>
parents: 63914
diff changeset
337
10689
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
338
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
339 ;;;;
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
340 ;;;; EDT Emulation Commands
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
341 ;;;;
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
342
35124
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
343 ;;; Almost all of EDT's keypad mode commands have equivalent Emacs
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
344 ;;; function counterparts. But many of these counterparts behave
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
345 ;;; somewhat differently in Emacs.
10689
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
346 ;;;
35124
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
347 ;;; So, the following Emacs functions emulate, where practical, the
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
348 ;;; exact behavior of the corresponding EDT keypad mode commands. In
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
349 ;;; a few cases, the emulation is not exact, but it should be close
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
350 ;;; enough for most EDT die-hards.
10689
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
351 ;;;
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
352
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
353 ;;;
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
354 ;;; PAGE
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
355 ;;;
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
356 ;;; Emacs uses the regexp assigned to page-delimiter to determine what
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
357 ;;; marks a page break. This is normally "^\f", which causes the
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
358 ;;; edt-page command to ignore form feeds not located at the beginning
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
359 ;;; of a line. To emulate the EDT PAGE command exactly,
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
360 ;;; page-delimiter is set to "\f" when EDT emulation is turned on, and
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
361 ;;; restored to its original value when EDT emulation is turned off.
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
362 ;;; But this can be overridden if the EDT definition is not desired by
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
363 ;;; placing
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
364 ;;;
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
365 ;;; (setq edt-keep-current-page-delimiter t)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
366 ;;;
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
367 ;;; in your .emacs file.
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
368
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
369 (defun edt-page-forward (num)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
370 "Move forward to just after next page delimiter.
35124
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
371 Argument NUM is the number of page delimiters to move."
10689
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
372 (interactive "p")
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
373 (edt-check-prefix num)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
374 (if (eobp)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
375 (error "End of buffer")
35124
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
376 (progn
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
377 (forward-page num)
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
378 (if (eobp)
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
379 (edt-line-to-bottom-of-window)
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
380 (edt-line-to-top-of-window)))))
10689
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
381
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
382 (defun edt-page-backward (num)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
383 "Move backward to just after previous page delimiter.
35124
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
384 Argument NUM is the number of page delimiters to move."
10689
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
385 (interactive "p")
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
386 (edt-check-prefix num)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
387 (if (bobp)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
388 (error "Beginning of buffer")
35124
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
389 (progn
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
390 (backward-page num)
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
391 (edt-line-to-top-of-window)
85777
2ca0af23d79d * emulation/edt.el (edt-emacs19-p, edt-x-emacs19-p)
Dan Nicolaescu <dann@ics.uci.edu>
parents: 85724
diff changeset
392 (if (featurep 'xemacs) (setq zmacs-region-stays t)))))
10689
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
393
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
394 (defun edt-page (num)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
395 "Move in current direction to next page delimiter.
35124
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
396 Argument NUM is the number of page delimiters to move."
10689
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
397 (interactive "p")
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
398 (if (equal edt-direction-string edt-forward-string)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
399 (edt-page-forward num)
35124
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
400 (edt-page-backward num)))
10689
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
401
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
402 ;;;
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
403 ;;; SECT
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
404 ;;;
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
405 ;;; EDT defaults a section size to be 16 lines of its one and only
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
406 ;;; 24-line window. That's two-thirds of the window at a time. The
35124
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
407 ;;; EDT SECT commands moves the cursor, not the window.
49598
0d8b17d428b5 Trailing whitepace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents: 48259
diff changeset
408 ;;;
35124
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
409 ;;; This emulation of EDT's SECT moves the cursor approximately
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
410 ;;; two-thirds of the current window at a time.
10689
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
411
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
412 (defun edt-sect-forward (num)
35124
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
413 "Move cursor forward two-thirds of a window's number of lines.
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
414 Argument NUM is the number of sections to move."
10689
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
415 (interactive "p")
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
416 (edt-check-prefix num)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
417 (edt-line-forward (* (* (/ (- (window-height) 1) 3) 2) num)))
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
418
35124
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
419
10689
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
420 (defun edt-sect-backward (num)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
421 "Move cursor backward two-thirds of a window.
35124
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
422 Argument NUM is the number of sections to move."
10689
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
423 (interactive "p")
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
424 (edt-check-prefix num)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
425 (edt-line-backward (* (* (/ (- (window-height) 1) 3) 2) num)))
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
426
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
427 (defun edt-sect (num)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
428 "Move in current direction a full window.
35124
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
429 Argument NUM is the number of sections to move."
10689
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
430 (interactive "p")
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
431 (if (equal edt-direction-string edt-forward-string)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
432 (edt-sect-forward num)
35124
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
433 (edt-sect-backward num)))
10689
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
434
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
435 ;;;
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
436 ;;; BEGINNING OF LINE
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
437 ;;;
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
438 ;;; EDT's beginning-of-line command is not affected by current
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
439 ;;; direction, for some unknown reason.
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
440
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
441 (defun edt-beginning-of-line (num)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
442 "Move backward to next beginning of line mark.
35124
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
443 Argument NUM is the number of BOL marks to move."
10689
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
444 (interactive "p")
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
445 (edt-check-prefix num)
35124
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
446 (let ((beg (edt-current-line)))
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
447 (if (bolp)
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
448 (forward-line (* -1 num))
10689
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
449 (progn
35124
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
450 (setq num (1- num))
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
451 (forward-line (* -1 num))))
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
452 (edt-top-check beg num))
85777
2ca0af23d79d * emulation/edt.el (edt-emacs19-p, edt-x-emacs19-p)
Dan Nicolaescu <dann@ics.uci.edu>
parents: 85724
diff changeset
453 (if (featurep 'xemacs) (setq zmacs-region-stays t)))
35124
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
454
10689
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
455
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
456 ;;;
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
457 ;;; EOL (End of Line)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
458 ;;;
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
459
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
460 (defun edt-end-of-line-forward (num)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
461 "Move forward to next end of line mark.
35124
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
462 Argument NUM is the number of EOL marks to move."
10689
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
463 (interactive "p")
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
464 (edt-check-prefix num)
35124
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
465 (let ((beg (edt-current-line)))
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
466 (forward-char)
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
467 (end-of-line num)
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
468 (edt-bottom-check beg num))
85777
2ca0af23d79d * emulation/edt.el (edt-emacs19-p, edt-x-emacs19-p)
Dan Nicolaescu <dann@ics.uci.edu>
parents: 85724
diff changeset
469 (if (featurep 'xemacs) (setq zmacs-region-stays t)))
35124
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
470
10689
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
471
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
472 (defun edt-end-of-line-backward (num)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
473 "Move backward to next end of line mark.
35124
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
474 Argument NUM is the number of EOL marks to move."
10689
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
475 (interactive "p")
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
476 (edt-check-prefix num)
35124
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
477 (let ((beg (edt-current-line)))
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
478 (end-of-line (1- num))
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
479 (edt-top-check beg num))
85777
2ca0af23d79d * emulation/edt.el (edt-emacs19-p, edt-x-emacs19-p)
Dan Nicolaescu <dann@ics.uci.edu>
parents: 85724
diff changeset
480 (if (featurep 'xemacs) (setq zmacs-region-stays t)))
35124
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
481
10689
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
482
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
483 (defun edt-end-of-line (num)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
484 "Move in current direction to next end of line mark.
35124
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
485 Argument NUM is the number of EOL marks to move."
10689
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
486 (interactive "p")
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
487 (if (equal edt-direction-string edt-forward-string)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
488 (edt-end-of-line-forward num)
35124
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
489 (edt-end-of-line-backward num)))
57
f34b559dc980 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
490
10689
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
491 ;;;
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
492 ;;; WORD
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
493 ;;;
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
494 ;;; This one is a tad messy. To emulate EDT's behavior everywhere in
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
495 ;;; the file (beginning of file, end of file, beginning of line, end
35124
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
496 ;;; of line, etc.) it takes a bit of special handling.
49598
0d8b17d428b5 Trailing whitepace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents: 48259
diff changeset
497 ;;;
10689
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
498 ;;; The variable edt-word-entities contains a list of characters which
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
499 ;;; are to be viewed as distinct words where ever they appear in the
35124
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
500 ;;; buffer. This emulates the EDT line mode command SET ENTITY WORD.
10689
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
501
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
502
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
503 (defun edt-one-word-forward ()
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
504 "Move forward to first character of next word."
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
505 (interactive)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
506 (if (eobp)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
507 (error "End of buffer"))
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
508 (if (eolp)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
509 (forward-char)
35124
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
510 (progn
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
511 (if (memq (following-char) edt-word-entities)
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
512 (forward-char)
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
513 (while (and
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
514 (not (eolp))
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
515 (not (eobp))
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
516 (not (eq ?\ (char-syntax (following-char))))
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
517 (not (memq (following-char) edt-word-entities)))
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
518 (forward-char)))
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
519 (while (and
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
520 (not (eolp))
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
521 (not (eobp))
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
522 (eq ?\ (char-syntax (following-char)))
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
523 (not (memq (following-char) edt-word-entities)))
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
524 (forward-char))))
85777
2ca0af23d79d * emulation/edt.el (edt-emacs19-p, edt-x-emacs19-p)
Dan Nicolaescu <dann@ics.uci.edu>
parents: 85724
diff changeset
525 (if (featurep 'xemacs) (setq zmacs-region-stays t)))
10689
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
526
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
527 (defun edt-one-word-backward ()
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
528 "Move backward to first character of previous word."
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
529 (interactive)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
530 (if (bobp)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
531 (error "Beginning of buffer"))
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
532 (if (bolp)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
533 (backward-char)
35124
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
534 (progn
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
535 (backward-char)
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
536 (while (and
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
537 (not (bolp))
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
538 (not (bobp))
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
539 (eq ?\ (char-syntax (following-char)))
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
540 (not (memq (following-char) edt-word-entities)))
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
541 (backward-char))
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
542 (if (not (memq (following-char) edt-word-entities))
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
543 (while (and
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
544 (not (bolp))
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
545 (not (bobp))
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
546 (not (eq ?\ (char-syntax (preceding-char))))
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
547 (not (memq (preceding-char) edt-word-entities)))
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
548 (backward-char)))))
85777
2ca0af23d79d * emulation/edt.el (edt-emacs19-p, edt-x-emacs19-p)
Dan Nicolaescu <dann@ics.uci.edu>
parents: 85724
diff changeset
549 (if (featurep 'xemacs) (setq zmacs-region-stays t)))
10689
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
550
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
551 (defun edt-word-forward (num)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
552 "Move forward to first character of next word.
35124
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
553 Argument NUM is the number of words to move."
10689
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
554 (interactive "p")
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
555 (edt-check-prefix num)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
556 (while (> num 0)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
557 (edt-one-word-forward)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
558 (setq num (1- num))))
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
559
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
560 (defun edt-word-backward (num)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
561 "Move backward to first character of previous word.
35124
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
562 Argument NUM is the number of words to move."
10689
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
563 (interactive "p")
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
564 (edt-check-prefix num)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
565 (while (> num 0)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
566 (edt-one-word-backward)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
567 (setq num (1- num))))
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
568
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
569 (defun edt-word (num)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
570 "Move in current direction to first character of next word.
35124
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
571 Argument NUM is the number of words to move."
10689
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
572 (interactive "p")
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
573 (if (equal edt-direction-string edt-forward-string)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
574 (edt-word-forward num)
35124
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
575 (edt-word-backward num)))
10689
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
576
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
577 ;;;
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
578 ;;; CHAR
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
579 ;;;
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
580
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
581 (defun edt-character (num)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
582 "Move in current direction to next character.
35124
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
583 Argument NUM is the number of characters to move."
10689
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
584 (interactive "p")
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
585 (edt-check-prefix num)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
586 (if (equal edt-direction-string edt-forward-string)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
587 (forward-char num)
35124
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
588 (backward-char num))
85777
2ca0af23d79d * emulation/edt.el (edt-emacs19-p, edt-x-emacs19-p)
Dan Nicolaescu <dann@ics.uci.edu>
parents: 85724
diff changeset
589 (if (featurep 'xemacs) (setq zmacs-region-stays t)))
10689
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
590
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
591 ;;;
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
592 ;;; LINE
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
593 ;;;
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
594 ;;; When direction is set to BACKUP, LINE behaves just like BEGINNING
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
595 ;;; OF LINE in EDT. So edt-line-backward is not really needed as a
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
596 ;;; separate function.
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
597
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
598 (defun edt-line-backward (num)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
599 "Move backward to next beginning of line mark.
35124
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
600 Argument NUM is the number of BOL marks to move."
57
f34b559dc980 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
601 (interactive "p")
10689
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
602 (edt-beginning-of-line num))
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
603
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
604 (defun edt-line-forward (num)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
605 "Move forward to next beginning of line mark.
35124
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
606 Argument NUM is the number of BOL marks to move."
10689
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
607 (interactive "p")
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
608 (edt-check-prefix num)
35124
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
609 (let ((beg (edt-current-line)))
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
610 (forward-line num)
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
611 (edt-bottom-check beg num))
85777
2ca0af23d79d * emulation/edt.el (edt-emacs19-p, edt-x-emacs19-p)
Dan Nicolaescu <dann@ics.uci.edu>
parents: 85724
diff changeset
612 (if (featurep 'xemacs) (setq zmacs-region-stays t)))
10689
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
613
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
614 (defun edt-line (num)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
615 "Move in current direction to next beginning of line mark.
35124
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
616 Argument NUM is the number of BOL marks to move."
10689
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
617 (interactive "p")
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
618 (if (equal edt-direction-string edt-forward-string)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
619 (edt-line-forward num)
35124
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
620 (edt-line-backward num)))
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
621
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
622 ;;;
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
623 ;;; UP and DOWN Arrows
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
624 ;;;
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
625
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
626 (defun edt-next-line (num)
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
627 "Move cursor down one line.
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
628 Argument NUM is the number of lines to move."
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
629 (interactive "p")
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
630 (edt-check-prefix num)
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
631 (let ((beg (edt-current-line)))
103307
e1566685f778 * emulation/edt.el (edt-previous-line, edt-next-line): Don't use
Chong Yidong <cyd@stupidchicken.com>
parents: 100908
diff changeset
632 ;; We're deliberately using next-line instead of forward-line.
e1566685f778 * emulation/edt.el (edt-previous-line, edt-next-line): Don't use
Chong Yidong <cyd@stupidchicken.com>
parents: 100908
diff changeset
633 (with-no-warnings (next-line num))
35124
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
634 (edt-bottom-check beg num))
85777
2ca0af23d79d * emulation/edt.el (edt-emacs19-p, edt-x-emacs19-p)
Dan Nicolaescu <dann@ics.uci.edu>
parents: 85724
diff changeset
635 (if (featurep 'xemacs) (setq zmacs-region-stays t)))
35124
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
636
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
637 (defun edt-previous-line (num)
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
638 "Move cursor up one line.
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
639 Argument NUM is the number of lines to move."
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
640 (interactive "p")
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
641 (edt-check-prefix num)
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
642 (let ((beg (edt-current-line)))
103307
e1566685f778 * emulation/edt.el (edt-previous-line, edt-next-line): Don't use
Chong Yidong <cyd@stupidchicken.com>
parents: 100908
diff changeset
643 ;; We're deliberately using previous-line instead of forward-line.
e1566685f778 * emulation/edt.el (edt-previous-line, edt-next-line): Don't use
Chong Yidong <cyd@stupidchicken.com>
parents: 100908
diff changeset
644 (with-no-warnings (previous-line num))
35124
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
645 (edt-top-check beg num))
85777
2ca0af23d79d * emulation/edt.el (edt-emacs19-p, edt-x-emacs19-p)
Dan Nicolaescu <dann@ics.uci.edu>
parents: 85724
diff changeset
646 (if (featurep 'xemacs) (setq zmacs-region-stays t)))
35124
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
647
10689
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
648
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
649 ;;;
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
650 ;;; TOP
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
651 ;;;
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
652
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
653 (defun edt-top ()
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
654 "Move cursor to the beginning of buffer."
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
655 (interactive)
35124
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
656 (goto-char (point-min))
85777
2ca0af23d79d * emulation/edt.el (edt-emacs19-p, edt-x-emacs19-p)
Dan Nicolaescu <dann@ics.uci.edu>
parents: 85724
diff changeset
657 (if (featurep 'xemacs) (setq zmacs-region-stays t)))
10689
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
658
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
659 ;;;
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
660 ;;; BOTTOM
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
661 ;;;
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
662
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
663 (defun edt-bottom ()
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
664 "Move cursor to the end of buffer."
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
665 (interactive)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
666 (goto-char (point-max))
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
667 (edt-line-to-bottom-of-window))
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
668
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
669 ;;;
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
670 ;;; FIND
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
671 ;;;
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
672
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
673 (defun edt-find-forward (&optional find)
35124
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
674 "Find first occurrence of a string in forward direction and save it.
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
675 Optional argument FIND is t is this function is called from `edt-find'."
10689
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
676 (interactive)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
677 (if (not find)
35124
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
678 (set 'edt-find-last-text (read-string "Search forward: ")))
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
679 (let* ((left nil)
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
680 (beg (edt-current-line))
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
681 (height (window-height))
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
682 (top-percent
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
683 (if (= 0 edt-top-scroll-margin) 10 edt-top-scroll-margin))
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
684 (bottom-percent
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
685 (if (= 0 edt-bottom-scroll-margin) 15 edt-bottom-scroll-margin))
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
686 (top-margin (/ (* height top-percent) 100))
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
687 (bottom-up-margin (+ 1 (/ (* height bottom-percent) 100)))
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
688 (bottom-margin (max beg (- height bottom-up-margin 1)))
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
689 (top (save-excursion (move-to-window-line top-margin) (point)))
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
690 (bottom (save-excursion (move-to-window-line bottom-margin) (point)))
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
691 (far (save-excursion
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
692 (goto-char bottom) (forward-line (- height 2)) (point))))
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
693 (if (search-forward edt-find-last-text)
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
694 (progn
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
695 (search-backward edt-find-last-text)
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
696 (edt-set-match)
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
697 (cond((> (point) far)
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
698 (setq left (save-excursion (forward-line height)))
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
699 (if (= 0 left) (recenter top-margin)
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
700 (recenter (- left bottom-up-margin))))
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
701 (t
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
702 (and (> (point) bottom) (recenter bottom-margin)))))))
85777
2ca0af23d79d * emulation/edt.el (edt-emacs19-p, edt-x-emacs19-p)
Dan Nicolaescu <dann@ics.uci.edu>
parents: 85724
diff changeset
703 (if (featurep 'xemacs) (setq zmacs-region-stays t)))
10689
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
704
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
705 (defun edt-find-backward (&optional find)
35124
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
706 "Find first occurrence of a string in the backward direction and save it.
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
707 Optional argument FIND is t if this function is called from `edt-find'."
10689
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
708 (interactive)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
709 (if (not find)
35124
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
710 (set 'edt-find-last-text (read-string "Search backward: ")))
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
711 (let* ((left nil)
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
712 (beg (edt-current-line))
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
713 (height (window-height))
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
714 (top-percent
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
715 (if (= 0 edt-top-scroll-margin) 10 edt-top-scroll-margin))
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
716 (bottom-percent
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
717 (if (= 0 edt-bottom-scroll-margin) 15 edt-bottom-scroll-margin))
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
718 (top-margin (/ (* height top-percent) 100))
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
719 (bottom-up-margin (+ 1 (/ (* height bottom-percent) 100)))
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
720 (bottom-margin (max beg (- height bottom-up-margin 1)))
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
721 (top (save-excursion (move-to-window-line top-margin) (point)))
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
722 (bottom (save-excursion (move-to-window-line bottom-margin) (point)))
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
723 (far (save-excursion
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
724 (goto-char bottom) (forward-line (- height 2)) (point))))
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
725 (if (search-backward edt-find-last-text)
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
726 (edt-set-match))
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
727 (and (< (point) top) (recenter (min beg top-margin))))
85777
2ca0af23d79d * emulation/edt.el (edt-emacs19-p, edt-x-emacs19-p)
Dan Nicolaescu <dann@ics.uci.edu>
parents: 85724
diff changeset
728 (if (featurep 'xemacs) (setq zmacs-region-stays t)))
10689
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
729
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
730 (defun edt-find ()
13978
2445061c92d4 (edt-find-forward, edt-find-backward, edt-find,
Karl Heuer <kwzh@gnu.org>
parents: 13337
diff changeset
731 "Find first occurrence of string in current direction and save it."
10689
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
732 (interactive)
35124
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
733 (set 'edt-find-last-text (read-string "Search: "))
10689
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
734 (if (equal edt-direction-string edt-forward-string)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
735 (edt-find-forward t)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
736 (edt-find-backward t)))
49598
0d8b17d428b5 Trailing whitepace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents: 48259
diff changeset
737
10689
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
738
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
739 ;;;
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
740 ;;; FNDNXT
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
741 ;;;
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
742
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
743 (defun edt-find-next-forward ()
13978
2445061c92d4 (edt-find-forward, edt-find-backward, edt-find,
Karl Heuer <kwzh@gnu.org>
parents: 13337
diff changeset
744 "Find next occurrence of a string in forward direction."
10689
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
745 (interactive)
35124
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
746 (let* ((left nil)
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
747 (beg (edt-current-line))
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
748 (height (window-height))
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
749 (top-percent
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
750 (if (= 0 edt-top-scroll-margin) 10 edt-top-scroll-margin))
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
751 (bottom-percent
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
752 (if (= 0 edt-bottom-scroll-margin) 15 edt-bottom-scroll-margin))
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
753 (top-margin (/ (* height top-percent) 100))
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
754 (bottom-up-margin (+ 1 (/ (* height bottom-percent) 100)))
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
755 (bottom-margin (max beg (- height bottom-up-margin 1)))
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
756 (top (save-excursion (move-to-window-line top-margin) (point)))
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
757 (bottom (save-excursion (move-to-window-line bottom-margin) (point)))
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
758 (far (save-excursion
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
759 (goto-char bottom) (forward-line (- height 2)) (point))))
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
760 (forward-char 1)
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
761 (if (search-forward edt-find-last-text nil t)
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
762 (progn
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
763 (search-backward edt-find-last-text)
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
764 (edt-set-match)
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
765 (cond((> (point) far)
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
766 (setq left (save-excursion (forward-line height)))
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
767 (if (= 0 left) (recenter top-margin)
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
768 (recenter (- left bottom-up-margin))))
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
769 (t
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
770 (and (> (point) bottom) (recenter bottom-margin)))))
10689
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
771 (progn
35124
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
772 (backward-char 1)
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
773 (error "Search failed: \"%s\"" edt-find-last-text))))
85777
2ca0af23d79d * emulation/edt.el (edt-emacs19-p, edt-x-emacs19-p)
Dan Nicolaescu <dann@ics.uci.edu>
parents: 85724
diff changeset
774 (if (featurep 'xemacs) (setq zmacs-region-stays t)))
10689
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
775
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
776 (defun edt-find-next-backward ()
13978
2445061c92d4 (edt-find-forward, edt-find-backward, edt-find,
Karl Heuer <kwzh@gnu.org>
parents: 13337
diff changeset
777 "Find next occurrence of a string in backward direction."
10689
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
778 (interactive)
35124
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
779 (let* ((left nil)
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
780 (beg (edt-current-line))
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
781 (height (window-height))
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
782 (top-percent
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
783 (if (= 0 edt-top-scroll-margin) 10 edt-top-scroll-margin))
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
784 (bottom-percent
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
785 (if (= 0 edt-bottom-scroll-margin) 15 edt-bottom-scroll-margin))
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
786 (top-margin (/ (* height top-percent) 100))
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
787 (bottom-up-margin (+ 1 (/ (* height bottom-percent) 100)))
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
788 (bottom-margin (max beg (- height bottom-up-margin 1)))
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
789 (top (save-excursion (move-to-window-line top-margin) (point)))
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
790 (bottom (save-excursion (move-to-window-line bottom-margin) (point)))
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
791 (far (save-excursion
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
792 (goto-char bottom) (forward-line (- height 2)) (point))))
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
793 (if (not (search-backward edt-find-last-text nil t))
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
794 (error "Search failed: \"%s\"" edt-find-last-text)
10689
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
795 (progn
35124
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
796 (edt-set-match)
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
797 (and (< (point) top) (recenter (min beg top-margin))))))
85777
2ca0af23d79d * emulation/edt.el (edt-emacs19-p, edt-x-emacs19-p)
Dan Nicolaescu <dann@ics.uci.edu>
parents: 85724
diff changeset
798 (if (featurep 'xemacs) (setq zmacs-region-stays t)))
10689
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
799
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
800 (defun edt-find-next ()
13978
2445061c92d4 (edt-find-forward, edt-find-backward, edt-find,
Karl Heuer <kwzh@gnu.org>
parents: 13337
diff changeset
801 "Find next occurrence of a string in current direction."
10689
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
802 (interactive)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
803 (if (equal edt-direction-string edt-forward-string)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
804 (edt-find-next-forward)
35124
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
805 (edt-find-next-backward)))
49598
0d8b17d428b5 Trailing whitepace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents: 48259
diff changeset
806
10689
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
807 ;;;
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
808 ;;; APPEND
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
809 ;;;
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
810
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
811 (defun edt-append ()
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
812 "Append this kill region to last killed region."
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
813 (interactive "*")
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
814 (edt-check-selection)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
815 (append-next-kill)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
816 (kill-region (mark) (point))
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
817 (message "Selected text APPENDED to kill ring"))
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
818
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
819 ;;;
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
820 ;;; DEL L
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
821 ;;;
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
822
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
823 (defun edt-delete-line (num)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
824 "Delete from cursor up to and including the end of line mark.
35124
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
825 Argument NUM is the number of lines to delete."
10689
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
826 (interactive "*p")
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
827 (edt-check-prefix num)
57
f34b559dc980 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
828 (let ((beg (point)))
f34b559dc980 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
829 (forward-line num)
f34b559dc980 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
830 (if (not (eq (preceding-char) ?\n))
10689
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
831 (insert "\n"))
57
f34b559dc980 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
832 (setq edt-last-deleted-lines
10689
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
833 (buffer-substring beg (point)))
57
f34b559dc980 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
834 (delete-region beg (point))))
f34b559dc980 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
835
10689
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
836 ;;;
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
837 ;;; DEL EOL
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
838 ;;;
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
839
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
840 (defun edt-delete-to-end-of-line (num)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
841 "Delete from cursor up to but excluding the end of line mark.
35124
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
842 Argument NUM is the number of lines to delete."
10689
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
843 (interactive "*p")
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
844 (edt-check-prefix num)
57
f34b559dc980 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
845 (let ((beg (point)))
f34b559dc980 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
846 (forward-char 1)
f34b559dc980 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
847 (end-of-line num)
f34b559dc980 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
848 (setq edt-last-deleted-lines
10689
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
849 (buffer-substring beg (point)))
57
f34b559dc980 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
850 (delete-region beg (point))))
f34b559dc980 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
851
10689
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
852 ;;;
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
853 ;;; SELECT
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
854 ;;;
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
855
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
856 (defun edt-select-mode (arg)
11442
331db5628809 Many doc fixes.
Karl Heuer <kwzh@gnu.org>
parents: 11273
diff changeset
857 "Turn EDT select mode off if ARG is nil; otherwise, turn EDT select mode on.
10689
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
858 In select mode, selected text is highlighted."
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
859 (if arg
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
860 (progn
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
861 (make-local-variable 'edt-select-mode)
35124
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
862 (setq edt-select-mode 'edt-select-mode-current)
10689
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
863 (setq rect-start-point (window-point)))
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
864 (progn
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
865 (kill-local-variable 'edt-select-mode)))
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
866 (force-mode-line-update))
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
867
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
868 (defun edt-select ()
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
869 "Set mark at cursor and start text selection."
35124
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
870 (interactive)
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
871 (set-mark-command nil))
10689
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
872
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
873 (defun edt-reset ()
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
874 "Cancel text selection."
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
875 (interactive)
85777
2ca0af23d79d * emulation/edt.el (edt-emacs19-p, edt-x-emacs19-p)
Dan Nicolaescu <dann@ics.uci.edu>
parents: 85724
diff changeset
876 (if (featurep 'emacs)
35124
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
877 (deactivate-mark)
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
878 (zmacs-deactivate-region)))
10689
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
879
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
880 ;;;
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
881 ;;; CUT
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
882 ;;;
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
883
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
884 (defun edt-cut ()
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
885 "Deletes selected text but copies to kill ring."
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
886 (interactive "*")
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
887 (edt-check-selection)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
888 (kill-region (mark) (point))
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
889 (message "Selected text CUT to kill ring"))
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
890
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
891 ;;;
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
892 ;;; DELETE TO BEGINNING OF LINE
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
893 ;;;
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
894
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
895 (defun edt-delete-to-beginning-of-line (num)
11442
331db5628809 Many doc fixes.
Karl Heuer <kwzh@gnu.org>
parents: 11273
diff changeset
896 "Delete from cursor to beginning of line.
35124
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
897 Argument NUM is the number of lines to delete."
10689
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
898 (interactive "*p")
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
899 (edt-check-prefix num)
57
f34b559dc980 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
900 (let ((beg (point)))
10689
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
901 (edt-beginning-of-line num)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
902 (setq edt-last-deleted-lines
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
903 (buffer-substring (point) beg))
57
f34b559dc980 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
904 (delete-region beg (point))))
f34b559dc980 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
905
10689
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
906 ;;;
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
907 ;;; DEL W
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
908 ;;;
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
909
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
910 (defun edt-delete-word (num)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
911 "Delete from cursor up to but excluding first character of next word.
35124
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
912 Argument NUM is the number of words to delete."
10689
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
913 (interactive "*p")
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
914 (edt-check-prefix num)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
915 (let ((beg (point)))
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
916 (edt-word-forward num)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
917 (setq edt-last-deleted-words (buffer-substring beg (point)))
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
918 (delete-region beg (point))))
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
919
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
920 ;;;
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
921 ;;; DELETE TO BEGINNING OF WORD
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
922 ;;;
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
923
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
924 (defun edt-delete-to-beginning-of-word (num)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
925 "Delete from cursor to beginning of word.
35124
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
926 Argument NUM is the number of words to delete."
10689
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
927 (interactive "*p")
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
928 (edt-check-prefix num)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
929 (let ((beg (point)))
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
930 (edt-word-backward num)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
931 (setq edt-last-deleted-words (buffer-substring (point) beg))
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
932 (delete-region beg (point))))
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
933
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
934 ;;;
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
935 ;;; DEL C
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
936 ;;;
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
937
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
938 (defun edt-delete-character (num)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
939 "Delete character under cursor.
35124
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
940 Argument NUM is the number of characters to delete."
10689
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
941 (interactive "*p")
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
942 (edt-check-prefix num)
57
f34b559dc980 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
943 (setq edt-last-deleted-chars
10689
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
944 (buffer-substring (point) (min (point-max) (+ (point) num))))
57
f34b559dc980 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
945 (delete-region (point) (min (point-max) (+ (point) num))))
f34b559dc980 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
946
10689
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
947 ;;;
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
948 ;;; DELETE CHAR
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
949 ;;;
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
950
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
951 (defun edt-delete-previous-character (num)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
952 "Delete character in front of cursor.
35124
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
953 Argument NUM is the number of characters to delete."
10689
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
954 (interactive "*p")
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
955 (edt-check-prefix num)
57
f34b559dc980 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
956 (setq edt-last-deleted-chars
10689
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
957 (buffer-substring (max (point-min) (- (point) num)) (point)))
57
f34b559dc980 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
958 (delete-region (max (point-min) (- (point) num)) (point)))
f34b559dc980 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
959
10689
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
960 ;;;
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
961 ;;; UND L
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
962 ;;;
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
963
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
964 (defun edt-undelete-line ()
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
965 "Undelete previous deleted line(s)."
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
966 (interactive "*")
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
967 (point-to-register 1)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
968 (insert edt-last-deleted-lines)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
969 (register-to-point 1))
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
970
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
971 ;;;
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
972 ;;; UND W
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
973 ;;;
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
974
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
975 (defun edt-undelete-word ()
11442
331db5628809 Many doc fixes.
Karl Heuer <kwzh@gnu.org>
parents: 11273
diff changeset
976 "Undelete previous deleted word(s)."
10689
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
977 (interactive "*")
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
978 (point-to-register 1)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
979 (insert edt-last-deleted-words)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
980 (register-to-point 1))
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
981
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
982 ;;;
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
983 ;;; UND C
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
984 ;;;
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
985
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
986 (defun edt-undelete-character ()
11442
331db5628809 Many doc fixes.
Karl Heuer <kwzh@gnu.org>
parents: 11273
diff changeset
987 "Undelete previous deleted character(s)."
10689
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
988 (interactive "*")
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
989 (point-to-register 1)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
990 (insert edt-last-deleted-chars)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
991 (register-to-point 1))
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
992
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
993 ;;;
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
994 ;;; REPLACE
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
995 ;;;
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
996
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
997 (defun edt-replace ()
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
998 "Replace marked section with last CUT (killed) text."
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
999 (interactive "*")
35124
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1000 (if (edt-check-match)
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1001 (replace-match (car kill-ring-yank-pointer))
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1002 (progn
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1003 (exchange-point-and-mark)
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1004 (let ((beg (point)))
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1005 (exchange-point-and-mark)
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1006 (delete-region beg (point)))
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1007 (yank))))
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1008
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1009 ;;;
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1010 ;;; SUBS
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1011 ;;;
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1012
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1013 (defun edt-substitute (num)
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1014 "Replace the selected region with the contents of the CUT buffer and.
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1015 Repeat the most recent FIND command. (The Emacs kill ring is used as
49598
0d8b17d428b5 Trailing whitepace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents: 48259
diff changeset
1016 the CUT buffer.)
35124
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1017 Argument NUM is the repeat count. A positive value indicates the of times
45896
2c6ffe81125c (edt-substitute): Fix typo.
Juanma Barranquero <lekktu@gmail.com>
parents: 42686
diff changeset
1018 to repeat the substitution. A negative argument means replace all occurrences
35124
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1019 of the search text."
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1020 (interactive "p")
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1021 (cond ((or edt-select-mode (edt-check-match))
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1022 (while (and (not (= num 0)) (or edt-select-mode (edt-check-match)))
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1023 (edt-replace)
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1024 (edt-find-next)
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1025 (setq num (1- num))))
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1026 (t
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1027 (error "No selection active"))))
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1028
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1029 (defun edt-set-match nil
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1030 "Set markers at match beginning and end."
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1031 ;; Add one to beginning mark so it stays with the first character of
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1032 ;; the string even if characters are added just before the string.
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1033 (setq edt-match-beginning-mark (copy-marker (1+ (match-beginning 0))))
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1034 (setq edt-match-end-mark (copy-marker (match-end 0))))
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1035
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1036 (defun edt-unset-match nil
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1037 "Unset match beginning and end markers."
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1038 (set-marker edt-match-beginning-mark nil)
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1039 (set-marker edt-match-end-mark nil))
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1040
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1041 (defun edt-match-beginning nil
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1042 "Return the location of the last match beginning."
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1043 (1- (marker-position edt-match-beginning-mark)))
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1044
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1045 (defun edt-match-end nil
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1046 "Return the location of the last match end."
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1047 (marker-position edt-match-end-mark))
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1048
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1049 (defun edt-check-match nil
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1050 "Return t if point is between edt-match markers.
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1051 Otherwise sets the edt-match markers to nil and returns nil."
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1052 ;; make sure 1- marker is in this buffer
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1053 ;; 2- point is at or after beginning marker
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1054 ;; 3- point is before ending marker, or in the case of
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1055 ;; zero length regions (like bol, or eol) that the
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1056 ;; beginning, end, and point are equal.
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1057 (cond ((and
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1058 (equal (marker-buffer edt-match-beginning-mark) (current-buffer))
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1059 (>= (point) (1- (marker-position edt-match-beginning-mark)))
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1060 (or
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1061 (< (point) (marker-position edt-match-end-mark))
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1062 (and (= (1- (marker-position edt-match-beginning-mark))
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1063 (marker-position edt-match-end-mark))
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1064 (= (marker-position edt-match-end-mark) (point))))) t)
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1065 (t
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1066 (edt-unset-match) nil)))
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1067
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1068 (defun edt-show-match-markers nil
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1069 "Show the values of the match markers."
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1070 (interactive)
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1071 (if (markerp edt-match-beginning-mark)
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1072 (let ((beg (marker-position edt-match-beginning-mark)))
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1073 (message "(%s, %s) in %s -- current %s in %s"
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1074 (if beg (1- beg) nil)
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1075 (marker-position edt-match-end-mark)
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1076 (marker-buffer edt-match-end-mark)
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1077 (point) (current-buffer)))))
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1078
10689
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1079
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1080 ;;;
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1081 ;;; ADVANCE
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1082 ;;;
57
f34b559dc980 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1083
10689
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1084 (defun edt-advance ()
11442
331db5628809 Many doc fixes.
Karl Heuer <kwzh@gnu.org>
parents: 11273
diff changeset
1085 "Set movement direction forward.
331db5628809 Many doc fixes.
Karl Heuer <kwzh@gnu.org>
parents: 11273
diff changeset
1086 Also, execute command specified if in Minibuffer."
57
f34b559dc980 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1087 (interactive)
10689
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1088 (setq edt-direction-string edt-forward-string)
11586
fba74d054979 (edt-advance, edt-backup): Use force-mode-line-update.
Karl Heuer <kwzh@gnu.org>
parents: 11442
diff changeset
1089 (force-mode-line-update)
35124
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1090 (if (string-equal " *Minibuf"
10689
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1091 (substring (buffer-name) 0 (min (length (buffer-name)) 9)))
35124
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1092 (exit-minibuffer))
85777
2ca0af23d79d * emulation/edt.el (edt-emacs19-p, edt-x-emacs19-p)
Dan Nicolaescu <dann@ics.uci.edu>
parents: 85724
diff changeset
1093 (if (featurep 'xemacs) (setq zmacs-region-stays t)))
35124
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1094
49598
0d8b17d428b5 Trailing whitepace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents: 48259
diff changeset
1095
10689
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1096 ;;;
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1097 ;;; BACKUP
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1098 ;;;
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1099
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1100 (defun edt-backup ()
11442
331db5628809 Many doc fixes.
Karl Heuer <kwzh@gnu.org>
parents: 11273
diff changeset
1101 "Set movement direction backward.
331db5628809 Many doc fixes.
Karl Heuer <kwzh@gnu.org>
parents: 11273
diff changeset
1102 Also, execute command specified if in Minibuffer."
10689
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1103 (interactive)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1104 (setq edt-direction-string edt-backward-string)
11586
fba74d054979 (edt-advance, edt-backup): Use force-mode-line-update.
Karl Heuer <kwzh@gnu.org>
parents: 11442
diff changeset
1105 (force-mode-line-update)
35124
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1106 (if (string-equal " *Minibuf"
10689
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1107 (substring (buffer-name) 0 (min (length (buffer-name)) 9)))
35124
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1108 (exit-minibuffer))
85777
2ca0af23d79d * emulation/edt.el (edt-emacs19-p, edt-x-emacs19-p)
Dan Nicolaescu <dann@ics.uci.edu>
parents: 85724
diff changeset
1109 (if (featurep 'xemacs) (setq zmacs-region-stays t)))
35124
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1110
10689
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1111
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1112 ;;;
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1113 ;;; CHNGCASE
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1114 ;;;
35124
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1115 ;; This function is based upon Jeff Kowalski's case-flip function in his
10689
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1116 ;; tpu.el.
57
f34b559dc980 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1117
10689
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1118 (defun edt-change-case (num)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1119 "Change the case of specified characters.
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1120 If text selection IS active, then characters between the cursor and mark are
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1121 changed. If text selection is NOT active, there are two cases. First, if the
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1122 current direction is ADVANCE, then the prefix number of character(s) under and
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1123 following cursor are changed. Second, if the current direction is BACKUP, then
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1124 the prefix number of character(s) before the cursor are changed. Accepts a
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1125 positive prefix for the number of characters to change, but the prefix is
35124
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1126 ignored if text selection is active.
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1127 Argument NUM is the numbers of consecutive characters to change."
10689
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1128 (interactive "*p")
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1129 (edt-check-prefix num)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1130 (if edt-select-mode
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1131 (let ((end (max (mark) (point)))
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1132 (point-save (point)))
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1133 (goto-char (min (point) (mark)))
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1134 (while (not (eq (point) end))
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1135 (funcall (if (<= ?a (following-char))
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1136 'upcase-region 'downcase-region)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1137 (point) (1+ (point)))
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1138 (forward-char 1))
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1139 (goto-char point-save))
35124
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1140 (progn
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1141 (if (string= edt-direction-string edt-backward-string)
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1142 (backward-char num))
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1143 (while (> num 0)
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1144 (funcall (if (<= ?a (following-char))
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1145 'upcase-region 'downcase-region)
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1146 (point) (1+ (point)))
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1147 (forward-char 1)
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1148 (setq num (1- num))))))
57
f34b559dc980 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1149
10689
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1150 ;;;
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1151 ;;; DEFINE KEY
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1152 ;;;
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1153
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1154 (defun edt-define-key ()
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1155 "Assign an interactively-callable function to a specified key sequence.
35124
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1156 The current key definition is saved in `edt-last-replaced-key-definition'.
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1157 Use `edt-restore-key' to restore last replaced key definition."
10689
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1158 (interactive)
85777
2ca0af23d79d * emulation/edt.el (edt-emacs19-p, edt-x-emacs19-p)
Dan Nicolaescu <dann@ics.uci.edu>
parents: 85724
diff changeset
1159 (if (featurep 'xemacs) (setq zmacs-region-stays t))
10689
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1160 (let (edt-function
35124
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1161 edt-key-definition)
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1162 (setq edt-key-definition
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1163 (read-key-sequence "Press the key to be defined: "))
85777
2ca0af23d79d * emulation/edt.el (edt-emacs19-p, edt-x-emacs19-p)
Dan Nicolaescu <dann@ics.uci.edu>
parents: 85724
diff changeset
1164 (if (if (featurep 'emacs)
35124
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1165 (string-equal "\C-m" edt-key-definition)
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1166 (string-equal "\C-m" (events-to-keys edt-key-definition)))
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1167 (message "Key not defined")
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1168 (progn
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1169 (setq edt-function (read-command "Enter command name: "))
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1170 (if (string-equal "" edt-function)
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1171 (message "Key not defined")
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1172 (progn
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1173 (setq edt-last-replaced-key-definition
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1174 (lookup-key (current-global-map) edt-key-definition))
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1175 (define-key (current-global-map)
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1176 edt-key-definition edt-function)))))))
10689
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1177
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1178 ;;;
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1179 ;;; FORM FEED INSERT
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1180 ;;;
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1181
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1182 (defun edt-form-feed-insert (num)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1183 "Insert form feed character at cursor position.
35124
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1184 Argument NUM is the number of form feeds to insert."
10689
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1185 (interactive "*p")
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1186 (edt-check-prefix num)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1187 (while (> num 0)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1188 (insert ?\f)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1189 (setq num (1- num))))
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1190
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1191 ;;;
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1192 ;;; TAB INSERT
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1193 ;;;
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1194
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1195 (defun edt-tab-insert (num)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1196 "Insert tab character at cursor position.
42686
64274328203b Fix typo.
Pavel Janík <Pavel@Janik.cz>
parents: 42206
diff changeset
1197 Argument NUM is the number of tabs to insert."
10689
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1198 (interactive "*p")
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1199 (edt-check-prefix num)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1200 (while (> num 0)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1201 (insert ?\t)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1202 (setq num (1- num))))
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1203
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1204 ;;;
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1205 ;;; Check Prefix
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1206 ;;;
57
f34b559dc980 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1207
10689
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1208 (defun edt-check-prefix (num)
35124
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1209 "Indicate error if prefix is not positive.
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1210 Argument NUM is the prefix value tested."
10689
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1211 (if (<= num 0)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1212 (error "Prefix must be positive")))
49598
0d8b17d428b5 Trailing whitepace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents: 48259
diff changeset
1213
10689
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1214 ;;;
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1215 ;;; Check Selection
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1216 ;;;
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1217
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1218 (defun edt-check-selection ()
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1219 "Indicate error if EDT selection is not active."
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1220 (if (not edt-select-mode)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1221 (error "Selection NOT active")))
35124
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1222
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1223 ;;;
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1224 ;;; Scroll Margins
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1225 ;;;
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1226
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1227 (defun edt-top-check (beg lines)
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1228 "Enforce scroll margin at the top of screen.
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1229 Argument BEG is the starting line number before cursor was moved.
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1230 Argument LINES is the number of lines the cursor moved toward the top."
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1231 (let ((margin (/ (* (window-height) edt-top-scroll-margin) 100)))
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1232 (cond ((< beg margin) (recenter beg))
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1233 ((< (- beg lines) margin) (recenter margin)))))
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1234
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1235 (defun edt-bottom-check (beg lines)
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1236 "Enforce scroll margin at the bottom of screen.
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1237 Argument BEG is the starting line number before cursor was moved.
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1238 Argument LINES is the number of lines the cursor moved toward the bottom."
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1239 (let* ((height (window-height))
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1240 (margin (+ 1 (/ (* height edt-bottom-scroll-margin) 100)))
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1241 ;; subtract 1 from height because it includes mode line
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1242 (difference (- height margin 1)))
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1243 (cond ((> beg difference) (recenter beg))
85777
2ca0af23d79d * emulation/edt.el (edt-emacs19-p, edt-x-emacs19-p)
Dan Nicolaescu <dann@ics.uci.edu>
parents: 85724
diff changeset
1244 ((and (featurep 'xemacs) (> (+ beg lines 1) difference))
35124
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1245 (recenter (- margin)))
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1246 ((> (+ beg lines) difference) (recenter (- margin))))))
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1247
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1248 (defun edt-current-line nil
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1249 "Return the vertical position of point in the selected window.
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1250 Top line is 0. Counts each text line only once, even if it wraps."
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1251 (+ (count-lines (window-start) (point)) (if (= (current-column) 0) 1 0) -1))
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1252
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1253 ;;;###autoload
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1254 (defun edt-set-scroll-margins (top bottom)
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1255 "Set scroll margins.
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1256 Argument TOP is the top margin in number of lines or percent of window.
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1257 Argument BOTTOM is the bottom margin in number of lines or percent of window."
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1258 (interactive
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1259 "sEnter top scroll margin (N lines or N%% or RETURN for current value): \
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1260 \nsEnter bottom scroll margin (N lines or N%% or RETURN for current value): ")
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1261 ;; set top scroll margin
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1262 (or (string= top "")
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1263 (if (string= "%" (substring top -1))
62402
a7e02ef1e3d6 Replace `string-to-int' by `string-to-number'.
Juanma Barranquero <lekktu@gmail.com>
parents: 52401
diff changeset
1264 (setq edt-top-scroll-margin (string-to-number top))
35124
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1265 (setq edt-top-scroll-margin
62402
a7e02ef1e3d6 Replace `string-to-int' by `string-to-number'.
Juanma Barranquero <lekktu@gmail.com>
parents: 52401
diff changeset
1266 (/ (1- (+ (* (string-to-number top) 100) (window-height)))
35124
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1267 (window-height)))))
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1268 ;; set bottom scroll margin
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1269 (or (string= bottom "")
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1270 (if (string= "%" (substring bottom -1))
62402
a7e02ef1e3d6 Replace `string-to-int' by `string-to-number'.
Juanma Barranquero <lekktu@gmail.com>
parents: 52401
diff changeset
1271 (setq edt-bottom-scroll-margin (string-to-number bottom))
35124
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1272 (setq edt-bottom-scroll-margin
62402
a7e02ef1e3d6 Replace `string-to-int' by `string-to-number'.
Juanma Barranquero <lekktu@gmail.com>
parents: 52401
diff changeset
1273 (/ (1- (+ (* (string-to-number bottom) 100) (window-height)))
35124
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1274 (window-height)))))
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1275 ;; report scroll margin settings if running interactively
105372
bd2966850aac Use `called-interactively-p' instead of `interactive-p'.
Juanma Barranquero <lekktu@gmail.com>
parents: 104386
diff changeset
1276 (and (called-interactively-p 'interactive)
35124
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1277 (message "Scroll margins set. Top = %s%%, Bottom = %s%%"
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1278 edt-top-scroll-margin edt-bottom-scroll-margin)))
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1279
10689
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1280
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1281 ;;;;
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1282 ;;;; ENHANCEMENTS AND ADDITIONS FOR EDT KEYPAD MODE
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1283 ;;;;
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1284
49598
0d8b17d428b5 Trailing whitepace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents: 48259
diff changeset
1285 ;;;
10689
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1286 ;;; Several enhancements and additions to EDT keypad mode commands are
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1287 ;;; provided here. Some of these have been motivated by similar
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1288 ;;; TPU/EVE and EVE-Plus commands. Others are new.
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1289
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1290 ;;;
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1291 ;;; CHANGE DIRECTION
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1292 ;;;
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1293
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1294 (defun edt-change-direction ()
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1295 "Toggle movement direction."
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1296 (interactive)
35124
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1297 (if (equal edt-direction-string edt-forward-string)
10689
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1298 (edt-backup)
35124
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1299 (edt-advance)))
10689
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1300
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1301 ;;;
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1302 ;;; TOGGLE SELECT
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1303 ;;;
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1304
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1305 (defun edt-toggle-select ()
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1306 "Toggle to start (or cancel) text selection."
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1307 (interactive)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1308 (if edt-select-mode
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1309 (edt-reset)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1310 (edt-select)))
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1311
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1312 ;;;
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1313 ;;; SENTENCE
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1314 ;;;
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1315
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1316 (defun edt-sentence-forward (num)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1317 "Move forward to start of next sentence.
35124
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1318 Argument NUM is the positive number of sentences to move."
57
f34b559dc980 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1319 (interactive "p")
10689
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1320 (edt-check-prefix num)
35124
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1321 (let* ((left nil)
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1322 (beg (edt-current-line))
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1323 (height (window-height))
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1324 (top-percent
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1325 (if (= 0 edt-top-scroll-margin) 10 edt-top-scroll-margin))
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1326 (bottom-percent
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1327 (if (= 0 edt-bottom-scroll-margin) 15 edt-bottom-scroll-margin))
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1328 (top-margin (/ (* height top-percent) 100))
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1329 (bottom-up-margin (+ 1 (/ (* height bottom-percent) 100)))
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1330 (bottom-margin (max beg (- height bottom-up-margin 1)))
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1331 (top (save-excursion (move-to-window-line top-margin) (point)))
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1332 (bottom (save-excursion (move-to-window-line bottom-margin) (point)))
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1333 (far (save-excursion
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1334 (goto-char bottom) (forward-line (- height 2)) (point))))
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1335 (if (eobp)
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1336 (progn
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1337 (error "End of buffer"))
10689
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1338 (progn
35124
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1339 (forward-sentence num)
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1340 (forward-word 1)
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1341 (backward-sentence)))
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1342 (cond((> (point) far)
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1343 (setq left (save-excursion (forward-line height)))
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1344 (if (= 0 left) (recenter top-margin)
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1345 (recenter (- left bottom-up-margin))))
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1346 (t
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1347 (and (> (point) bottom) (recenter bottom-margin)))))
85777
2ca0af23d79d * emulation/edt.el (edt-emacs19-p, edt-x-emacs19-p)
Dan Nicolaescu <dann@ics.uci.edu>
parents: 85724
diff changeset
1348 (if (featurep 'xemacs) (setq zmacs-region-stays t)))
57
f34b559dc980 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1349
10689
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1350 (defun edt-sentence-backward (num)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1351 "Move backward to next sentence beginning.
35124
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1352 Argument NUM is the positive number of sentences to move."
57
f34b559dc980 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1353 (interactive "p")
10689
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1354 (edt-check-prefix num)
35124
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1355 (let* ((left nil)
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1356 (beg (edt-current-line))
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1357 (height (window-height))
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1358 (top-percent
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1359 (if (= 0 edt-top-scroll-margin) 10 edt-top-scroll-margin))
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1360 (bottom-percent
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1361 (if (= 0 edt-bottom-scroll-margin) 15 edt-bottom-scroll-margin))
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1362 (top-margin (/ (* height top-percent) 100))
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1363 (bottom-up-margin (+ 1 (/ (* height bottom-percent) 100)))
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1364 (bottom-margin (max beg (- height bottom-up-margin 1)))
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1365 (top (save-excursion (move-to-window-line top-margin) (point)))
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1366 (bottom (save-excursion (move-to-window-line bottom-margin) (point)))
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1367 (far (save-excursion
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1368 (goto-char bottom) (forward-line (- height 2)) (point))))
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1369 (if (eobp)
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1370 (progn
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1371 (error "End of buffer"))
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1372 (backward-sentence num))
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1373 (and (< (point) top) (recenter (min beg top-margin))))
85777
2ca0af23d79d * emulation/edt.el (edt-emacs19-p, edt-x-emacs19-p)
Dan Nicolaescu <dann@ics.uci.edu>
parents: 85724
diff changeset
1374 (if (featurep 'xemacs) (setq zmacs-region-stays t)))
57
f34b559dc980 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1375
10689
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1376 (defun edt-sentence (num)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1377 "Move in current direction to next sentence.
35124
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1378 Argument NUM is the positive number of sentences to move."
57
f34b559dc980 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1379 (interactive "p")
10689
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1380 (if (equal edt-direction-string edt-forward-string)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1381 (edt-sentence-forward num)
35124
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1382 (edt-sentence-backward num)))
57
f34b559dc980 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1383
10689
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1384 ;;;
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1385 ;;; PARAGRAPH
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1386 ;;;
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1387
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1388 (defun edt-paragraph-forward (num)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1389 "Move forward to beginning of paragraph.
35124
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1390 Argument NUM is the positive number of paragraphs to move."
57
f34b559dc980 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1391 (interactive "p")
10689
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1392 (edt-check-prefix num)
35124
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1393 (let* ((left nil)
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1394 (beg (edt-current-line))
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1395 (height (window-height))
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1396 (top-percent
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1397 (if (= 0 edt-top-scroll-margin) 10 edt-top-scroll-margin))
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1398 (bottom-percent
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1399 (if (= 0 edt-bottom-scroll-margin) 15 edt-bottom-scroll-margin))
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1400 (top-margin (/ (* height top-percent) 100))
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1401 (bottom-up-margin (+ 1 (/ (* height bottom-percent) 100)))
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1402 (bottom-margin (max beg (- height bottom-up-margin 1)))
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1403 (top (save-excursion (move-to-window-line top-margin) (point)))
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1404 (bottom (save-excursion (move-to-window-line bottom-margin) (point)))
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1405 (far (save-excursion
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1406 (goto-char bottom) (forward-line (- height 2)) (point))))
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1407 (while (> num 0)
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1408 (forward-paragraph (+ num 1))
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1409 (start-of-paragraph-text)
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1410 (if (eolp)
85451
e1af3a725ca4 * textmodes/two-column.el (2C-split, 2C-merge):
Dan Nicolaescu <dann@ics.uci.edu>
parents: 78218
diff changeset
1411 (forward-line 1))
35124
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1412 (setq num (1- num)))
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1413 (cond((> (point) far)
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1414 (setq left (save-excursion (forward-line height)))
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1415 (if (= 0 left) (recenter top-margin)
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1416 (recenter (- left bottom-up-margin))))
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1417 (t
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1418 (and (> (point) bottom) (recenter bottom-margin)))))
85777
2ca0af23d79d * emulation/edt.el (edt-emacs19-p, edt-x-emacs19-p)
Dan Nicolaescu <dann@ics.uci.edu>
parents: 85724
diff changeset
1419 (if (featurep 'xemacs) (setq zmacs-region-stays t)))
57
f34b559dc980 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1420
10689
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1421 (defun edt-paragraph-backward (num)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1422 "Move backward to beginning of paragraph.
35124
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1423 Argument NUM is the positive number of paragraphs to move."
57
f34b559dc980 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1424 (interactive "p")
10689
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1425 (edt-check-prefix num)
35124
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1426 (let* ((left nil)
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1427 (beg (edt-current-line))
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1428 (height (window-height))
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1429 (top-percent
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1430 (if (= 0 edt-top-scroll-margin) 10 edt-top-scroll-margin))
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1431 (bottom-percent
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1432 (if (= 0 edt-bottom-scroll-margin) 15 edt-bottom-scroll-margin))
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1433 (top-margin (/ (* height top-percent) 100))
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1434 (bottom-up-margin (+ 1 (/ (* height bottom-percent) 100)))
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1435 (bottom-margin (max beg (- height bottom-up-margin 1)))
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1436 (top (save-excursion (move-to-window-line top-margin) (point)))
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1437 (bottom (save-excursion (move-to-window-line bottom-margin) (point)))
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1438 (far (save-excursion
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1439 (goto-char bottom) (forward-line (- height 2)) (point))))
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1440 (while (> num 0)
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1441 (start-of-paragraph-text)
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1442 (setq num (1- num)))
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1443 (and (< (point) top) (recenter (min beg top-margin))))
85777
2ca0af23d79d * emulation/edt.el (edt-emacs19-p, edt-x-emacs19-p)
Dan Nicolaescu <dann@ics.uci.edu>
parents: 85724
diff changeset
1444 (if (featurep 'xemacs) (setq zmacs-region-stays t)))
57
f34b559dc980 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1445
10689
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1446 (defun edt-paragraph (num)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1447 "Move in current direction to next paragraph.
35124
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1448 Argument NUM is the positive number of paragraphs to move."
10689
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1449 (interactive "p")
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1450 (if (equal edt-direction-string edt-forward-string)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1451 (edt-paragraph-forward num)
35124
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1452 (edt-paragraph-backward num)))
57
f34b559dc980 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1453
10689
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1454 ;;;
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1455 ;;; RESTORE KEY
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1456 ;;;
57
f34b559dc980 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1457
10689
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1458 (defun edt-restore-key ()
11442
331db5628809 Many doc fixes.
Karl Heuer <kwzh@gnu.org>
parents: 11273
diff changeset
1459 "Restore last replaced key definition.
35124
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1460 Definition is stored in `edt-last-replaced-key-definition'."
10689
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1461 (interactive)
85777
2ca0af23d79d * emulation/edt.el (edt-emacs19-p, edt-x-emacs19-p)
Dan Nicolaescu <dann@ics.uci.edu>
parents: 85724
diff changeset
1462 (if (featurep 'xemacs) (setq zmacs-region-stays t))
10689
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1463 (if edt-last-replaced-key-definition
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1464 (progn
35124
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1465 (let (edt-key-definition)
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1466 (set 'edt-key-definition
10689
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1467 (read-key-sequence "Press the key to be restored: "))
85777
2ca0af23d79d * emulation/edt.el (edt-emacs19-p, edt-x-emacs19-p)
Dan Nicolaescu <dann@ics.uci.edu>
parents: 85724
diff changeset
1468 (if (if (featurep 'emacs)
35124
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1469 (string-equal "\C-m" edt-key-definition)
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1470 (string-equal "\C-m" (events-to-keys edt-key-definition)))
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1471 (message "Key not restored")
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1472 (progn
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1473 (define-key (current-global-map)
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1474 edt-key-definition edt-last-replaced-key-definition)
85777
2ca0af23d79d * emulation/edt.el (edt-emacs19-p, edt-x-emacs19-p)
Dan Nicolaescu <dann@ics.uci.edu>
parents: 85724
diff changeset
1475 (if (featurep 'emacs)
35124
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1476 (message "Key definition for %s has been restored."
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1477 edt-key-definition)
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1478 (message "Key definition for %s has been restored."
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1479 (events-to-keys edt-key-definition)))))))
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1480 (error "No replaced key definition to restore!")))
57
f34b559dc980 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1481
10689
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1482 ;;;
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1483 ;;; WINDOW TOP
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1484 ;;;
57
f34b559dc980 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1485
10689
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1486 (defun edt-window-top ()
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1487 "Move the cursor to the top of the window."
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1488 (interactive)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1489 (let ((start-column (current-column)))
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1490 (move-to-window-line 0)
35124
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1491 (move-to-column start-column))
85777
2ca0af23d79d * emulation/edt.el (edt-emacs19-p, edt-x-emacs19-p)
Dan Nicolaescu <dann@ics.uci.edu>
parents: 85724
diff changeset
1492 (if (featurep 'xemacs) (setq zmacs-region-stays t)))
10689
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1493
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1494 ;;;
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1495 ;;; WINDOW BOTTOM
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1496 ;;;
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1497
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1498 (defun edt-window-bottom ()
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1499 "Move the cursor to the bottom of the window."
57
f34b559dc980 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1500 (interactive)
10689
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1501 (let ((start-column (current-column)))
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1502 (move-to-window-line (- (window-height) 2))
35124
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1503 (move-to-column start-column))
85777
2ca0af23d79d * emulation/edt.el (edt-emacs19-p, edt-x-emacs19-p)
Dan Nicolaescu <dann@ics.uci.edu>
parents: 85724
diff changeset
1504 (if (featurep 'xemacs) (setq zmacs-region-stays t)))
10689
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1505
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1506 ;;;
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1507 ;;; SCROLL WINDOW LINE
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1508 ;;;
57
f34b559dc980 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1509
10689
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1510 (defun edt-scroll-window-forward-line ()
11442
331db5628809 Many doc fixes.
Karl Heuer <kwzh@gnu.org>
parents: 11273
diff changeset
1511 "Move window forward one line leaving cursor at position in window."
10689
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1512 (interactive)
35124
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1513 (scroll-up 1)
85777
2ca0af23d79d * emulation/edt.el (edt-emacs19-p, edt-x-emacs19-p)
Dan Nicolaescu <dann@ics.uci.edu>
parents: 85724
diff changeset
1514 (if (featurep 'xemacs) (setq zmacs-region-stays t)))
10689
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1515
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1516 (defun edt-scroll-window-backward-line ()
11442
331db5628809 Many doc fixes.
Karl Heuer <kwzh@gnu.org>
parents: 11273
diff changeset
1517 "Move window backward one line leaving cursor at position in window."
10689
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1518 (interactive)
35124
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1519 (scroll-down 1)
85777
2ca0af23d79d * emulation/edt.el (edt-emacs19-p, edt-x-emacs19-p)
Dan Nicolaescu <dann@ics.uci.edu>
parents: 85724
diff changeset
1520 (if (featurep 'xemacs) (setq zmacs-region-stays t)))
10689
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1521
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1522 (defun edt-scroll-line ()
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1523 "Move window one line in current direction."
57
f34b559dc980 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1524 (interactive)
10689
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1525 (if (equal edt-direction-string edt-forward-string)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1526 (edt-scroll-window-forward-line)
35124
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1527 (edt-scroll-window-backward-line)))
10689
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1528
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1529 ;;;
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1530 ;;; SCROLL WINDOW
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1531 ;;;
35124
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1532 ;;; Scroll a window (less one line) at a time. Leave cursor in center of
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1533 ;;; window.
10689
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1534
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1535 (defun edt-scroll-window-forward (num)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1536 "Scroll forward one window in buffer, less one line.
35124
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1537 Argument NUM is the positive number of windows to move."
10689
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1538 (interactive "p")
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1539 (edt-check-prefix num)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1540 (scroll-up (- (* (window-height) num) 2))
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1541 (edt-line-forward (/ (- (window-height) 1) 2)))
57
f34b559dc980 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1542
10689
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1543 (defun edt-scroll-window-backward (num)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1544 "Scroll backward one window in buffer, less one line.
35124
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1545 Argument NUM is the positive number of windows to move."
10689
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1546 (interactive "p")
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1547 (edt-check-prefix num)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1548 (scroll-down (- (* (window-height) num) 2))
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1549 (edt-line-backward (/ (- (window-height) 1) 2)))
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1550
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1551 (defun edt-scroll-window (num)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1552 "Scroll one window in buffer, less one line, in current direction.
35124
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1553 Argument NUM is the positive number of windows to move."
10689
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1554 (interactive "p")
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1555 (if (equal edt-direction-string edt-forward-string)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1556 (edt-scroll-window-forward num)
35124
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1557 (edt-scroll-window-backward num)))
10689
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1558
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1559 ;;;
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1560 ;;; LINE TO BOTTOM OF WINDOW
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1561 ;;;
57
f34b559dc980 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1562
f34b559dc980 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1563 (defun edt-line-to-bottom-of-window ()
10689
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1564 "Move the current line to the bottom of the window."
57
f34b559dc980 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1565 (interactive)
35124
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1566 (recenter -1)
85777
2ca0af23d79d * emulation/edt.el (edt-emacs19-p, edt-x-emacs19-p)
Dan Nicolaescu <dann@ics.uci.edu>
parents: 85724
diff changeset
1567 (if (featurep 'xemacs) (setq zmacs-region-stays t)))
57
f34b559dc980 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1568
10689
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1569 ;;;
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1570 ;;; LINE TO TOP OF WINDOW
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1571 ;;;
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1572
57
f34b559dc980 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1573 (defun edt-line-to-top-of-window ()
f34b559dc980 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1574 "Move the current line to the top of the window."
f34b559dc980 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1575 (interactive)
35124
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1576 (recenter 0)
85777
2ca0af23d79d * emulation/edt.el (edt-emacs19-p, edt-x-emacs19-p)
Dan Nicolaescu <dann@ics.uci.edu>
parents: 85724
diff changeset
1577 (if (featurep 'xemacs) (setq zmacs-region-stays t)))
57
f34b559dc980 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1578
10689
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1579 ;;;
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1580 ;;; LINE TO MIDDLE OF WINDOW
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1581 ;;;
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1582
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1583 (defun edt-line-to-middle-of-window ()
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1584 "Move window so line with cursor is in the middle of the window."
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1585 (interactive)
35124
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1586 (recenter '(4))
85777
2ca0af23d79d * emulation/edt.el (edt-emacs19-p, edt-x-emacs19-p)
Dan Nicolaescu <dann@ics.uci.edu>
parents: 85724
diff changeset
1587 (if (featurep 'xemacs) (setq zmacs-region-stays t)))
10689
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1588
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1589 ;;;
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1590 ;;; GOTO PERCENTAGE
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1591 ;;;
57
f34b559dc980 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1592
10689
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1593 (defun edt-goto-percentage (num)
35124
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1594 "Move to specified percentage in buffer from top of buffer.
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1595 Argument NUM is the percentage into the buffer to move."
10689
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1596 (interactive "NGoto-percentage: ")
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1597 (if (or (> num 100) (< num 0))
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1598 (error "Percentage %d out of range 0 < percent < 100" num)
35124
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1599 (goto-char (/ (* (point-max) num) 100)))
85777
2ca0af23d79d * emulation/edt.el (edt-emacs19-p, edt-x-emacs19-p)
Dan Nicolaescu <dann@ics.uci.edu>
parents: 85724
diff changeset
1600 (if (featurep 'xemacs) (setq zmacs-region-stays t)))
10689
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1601
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1602 ;;;
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1603 ;;; FILL REGION
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1604 ;;;
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1605
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1606 (defun edt-fill-region ()
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1607 "Fill selected text."
35124
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1608 (interactive "*")
10689
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1609 (edt-check-selection)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1610 (fill-region (point) (mark)))
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1611
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1612 ;;;
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1613 ;;; INDENT OR FILL REGION
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1614 ;;;
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1615
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1616 (defun edt-indent-or-fill-region ()
57
f34b559dc980 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1617 "Fill region in text modes, indent region in programming language modes."
35124
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1618 (interactive "*")
10872
adc2429d1531 (edt-indent-or-fill-region): Remove ^ from paragraph-start & paragraph-separate.
Boris Goldowsky <boris@gnu.org>
parents: 10689
diff changeset
1619 (if (string= paragraph-start "$\\|\f")
57
f34b559dc980 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1620 (indent-region (point) (mark) nil)
35124
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1621 (fill-region (point) (mark))))
10689
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1622
86243
4d615a83cee2 * progmodes/idlw-help.el: Require browse-url unconditionally, it
Dan Nicolaescu <dann@ics.uci.edu>
parents: 85777
diff changeset
1623
87116
c3fbe3fd56de Remove directory part from filenames in function declarations.
Glenn Morris <rgm@gnu.org>
parents: 86530
diff changeset
1624 (declare-function c-mark-function "cc-cmds" ())
10689
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1625 ;;;
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1626 ;;; MARK SECTION WISELY
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1627 ;;;
57
f34b559dc980 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1628
10689
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1629 (defun edt-mark-section-wisely ()
35124
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1630 "Mark the section in a manner consistent with the `major-mode'.
63941
929eb735e11d (edt-last-copied-word): Add defvar.
Richard M. Stallman <rms@gnu.org>
parents: 63914
diff changeset
1631 Uses `mark-defun' for Emacs-Lisp and Lisp, and for Fortran,
929eb735e11d (edt-last-copied-word): Add defvar.
Richard M. Stallman <rms@gnu.org>
parents: 63914
diff changeset
1632 `c-mark-function' for C,
35124
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1633 and `mark-paragraph' for other modes."
57
f34b559dc980 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1634 (interactive)
10689
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1635 (if edt-select-mode
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1636 (progn
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1637 (edt-reset))
35124
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1638 (progn
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1639 (cond ((or (eq major-mode 'emacs-lisp-mode)
63941
929eb735e11d (edt-last-copied-word): Add defvar.
Richard M. Stallman <rms@gnu.org>
parents: 63914
diff changeset
1640 (eq major-mode 'fortran-mode)
35124
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1641 (eq major-mode 'lisp-mode))
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1642 (mark-defun)
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1643 (message "Lisp defun selected"))
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1644 ((eq major-mode 'c-mode)
63941
929eb735e11d (edt-last-copied-word): Add defvar.
Richard M. Stallman <rms@gnu.org>
parents: 63914
diff changeset
1645 (c-mark-function)
35124
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1646 (message "C function selected"))
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1647 (t (mark-paragraph)
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1648 (message "Paragraph selected"))))))
10689
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1649
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1650 ;;;
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1651 ;;; COPY
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1652 ;;;
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1653
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1654 (defun edt-copy ()
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1655 "Copy selected region to kill ring, but don't delete it!"
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1656 (interactive)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1657 (edt-check-selection)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1658 (copy-region-as-kill (mark) (point))
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1659 (edt-reset)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1660 (message "Selected text COPIED to kill ring"))
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1661
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1662 ;;;
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1663 ;;; CUT or COPY
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1664 ;;;
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1665
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1666 (defun edt-cut-or-copy ()
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1667 "Cuts (or copies) selected text to kill ring.
35124
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1668 Cuts selected text if `buffer-read-only' is nil.
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1669 Copies selected text if `buffer-read-only' is t."
10689
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1670 (interactive)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1671 (if buffer-read-only
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1672 (edt-copy)
35124
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1673 (edt-cut)))
10689
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1674
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1675 ;;;
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1676 ;;; DELETE ENTIRE LINE
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1677 ;;;
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1678
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1679 (defun edt-delete-entire-line ()
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1680 "Delete entire line regardless of cursor position in the line."
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1681 (interactive "*")
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1682 (beginning-of-line)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1683 (edt-delete-line 1))
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1684
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1685 ;;;
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1686 ;;; DUPLICATE LINE
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1687 ;;;
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1688
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1689 (defun edt-duplicate-line (num)
35124
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1690 "Duplicate the line of text containing the cursor.
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1691 Argument NUM is the number of times to duplicate the line."
10689
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1692 (interactive "*p")
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1693 (edt-check-prefix num)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1694 (let ((old-column (current-column))
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1695 (count num))
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1696 (edt-delete-entire-line)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1697 (edt-undelete-line)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1698 (while (> count 0)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1699 (edt-undelete-line)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1700 (setq count (1- count)))
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1701 (edt-line-forward num)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1702 (move-to-column old-column)))
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1703
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1704 ;;;
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1705 ;;; DUPLICATE WORD
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1706 ;;;
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1707
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1708 (defun edt-duplicate-word()
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1709 "Duplicate word (or rest of word) found directly above cursor, if any."
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1710 (interactive "*")
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1711 (let ((start (point))
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1712 (start-column (current-column)))
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1713 (forward-line -1)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1714 (move-to-column start-column)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1715 (if (and (not (equal start (point)))
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1716 (not (eolp)))
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1717 (progn
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1718 (if (and (equal ?\t (preceding-char))
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1719 (< start-column (current-column)))
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1720 (backward-char))
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1721 (let ((beg (point)))
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1722 (edt-one-word-forward)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1723 (setq edt-last-copied-word (buffer-substring beg (point))))
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1724 (forward-line)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1725 (move-to-column start-column)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1726 (insert edt-last-copied-word))
35124
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1727 (progn
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1728 (if (not (equal start (point)))
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1729 (forward-line))
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1730 (move-to-column start-column)
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1731 (error "Nothing to duplicate!")))))
10689
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1732
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1733 ;;;
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1734 ;;; KEY NOT ASSIGNED
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1735 ;;;
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1736
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1737 (defun edt-key-not-assigned ()
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1738 "Displays message that key has not been assigned to a function."
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1739 (interactive)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1740 (error "Key not assigned"))
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1741
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1742 ;;;
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1743 ;;; TOGGLE CAPITALIZATION OF WORD
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1744 ;;;
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1745
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1746 (defun edt-toggle-capitalization-of-word ()
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1747 "Toggle the capitalization of the current word and move forward to next."
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1748 (interactive "*")
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1749 (edt-one-word-forward)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1750 (edt-one-word-backward)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1751 (edt-change-case 1)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1752 (edt-one-word-backward)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1753 (edt-one-word-forward))
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1754
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1755 ;;;
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1756 ;;; ELIMINATE ALL TABS
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1757 ;;;
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1758
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1759 (defun edt-eliminate-all-tabs ()
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1760 "Convert all tabs to spaces in the entire buffer."
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1761 (interactive "*")
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1762 (untabify (point-min) (point-max))
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1763 (message "TABS converted to SPACES"))
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1764
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1765 ;;;
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1766 ;;; DISPLAY THE TIME
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1767 ;;;
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1768
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1769 (defun edt-display-the-time ()
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1770 "Display the current time."
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1771 (interactive)
85777
2ca0af23d79d * emulation/edt.el (edt-emacs19-p, edt-x-emacs19-p)
Dan Nicolaescu <dann@ics.uci.edu>
parents: 85724
diff changeset
1772 (if (featurep 'xemacs) (setq zmacs-region-stays t))
63941
929eb735e11d (edt-last-copied-word): Add defvar.
Richard M. Stallman <rms@gnu.org>
parents: 63914
diff changeset
1773 (message "%s" (current-time-string)))
10689
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1774
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1775 ;;;
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1776 ;;; LEARN
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1777 ;;;
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1778
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1779 (defun edt-learn ()
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1780 "Learn a sequence of key strokes to bind to a key."
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1781 (interactive)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1782 (if (eq defining-kbd-macro t)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1783 (edt-remember)
35124
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1784 (start-kbd-macro nil)))
10689
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1785
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1786 ;;;
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1787 ;;; REMEMBER
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1788 ;;;
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1789
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1790 (defun edt-remember ()
35124
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1791 "Store the sequence of key strokes started by `edt-learn' to a key."
10689
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1792 (interactive)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1793 (if (eq defining-kbd-macro nil)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1794 (error "Nothing to remember!")
35124
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1795 (progn
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1796 (end-kbd-macro nil)
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1797 (let (edt-key-definition)
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1798 (set 'edt-key-definition
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1799 (read-key-sequence "Enter key for binding: "))
85777
2ca0af23d79d * emulation/edt.el (edt-emacs19-p, edt-x-emacs19-p)
Dan Nicolaescu <dann@ics.uci.edu>
parents: 85724
diff changeset
1800 (if (if (featurep 'emacs)
35124
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1801 (string-equal "\C-m" edt-key-definition)
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1802 (string-equal "\C-m" (events-to-keys edt-key-definition)))
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1803 (message "Key sequence not remembered")
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1804 (progn
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1805 (set 'edt-learn-macro-count (+ edt-learn-macro-count 1))
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1806 (setq edt-last-replaced-key-definition
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1807 (lookup-key (current-global-map)
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1808 edt-key-definition))
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1809 (define-key (current-global-map) edt-key-definition
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1810 (name-last-kbd-macro
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1811 (intern (concat "last-learned-sequence-"
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1812 (int-to-string edt-learn-macro-count)))))))))))
10689
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1813
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1814 ;;;
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1815 ;;; EXIT
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1816 ;;;
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1817
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1818 (defun edt-exit ()
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1819 "Save current buffer, ask to save other buffers, and then exit Emacs."
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1820 (interactive)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1821 (save-buffer)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1822 (save-buffers-kill-emacs))
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1823
49598
0d8b17d428b5 Trailing whitepace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents: 48259
diff changeset
1824 ;;;
10689
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1825 ;;; QUIT
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1826 ;;;
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1827
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1828 (defun edt-quit ()
35124
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1829 "Quit Emacs without saving buffer modifications.
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1830 Warn user that modifications will be lost."
10689
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1831 (interactive)
35124
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1832 (let ((list (buffer-list))
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1833 (working t))
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1834 (while (and list working)
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1835 (let ((buffer (car list)))
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1836 (if (and (buffer-file-name buffer) (buffer-modified-p buffer))
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1837 (if (edt-y-or-n-p
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1838 "Modifications will not be saved, continue quitting? ")
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1839 (kill-emacs)
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1840 (setq working nil)))
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1841 (setq list (cdr list))))
49598
0d8b17d428b5 Trailing whitepace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents: 48259
diff changeset
1842 (if working (kill-emacs))))
10689
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1843
49598
0d8b17d428b5 Trailing whitepace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents: 48259
diff changeset
1844 ;;;
10689
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1845 ;;; SPLIT WINDOW
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1846 ;;;
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1847
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1848 (defun edt-split-window ()
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1849 "Split current window and place cursor in the new window."
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1850 (interactive)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1851 (split-window)
35124
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1852 (other-window 1)
85777
2ca0af23d79d * emulation/edt.el (edt-emacs19-p, edt-x-emacs19-p)
Dan Nicolaescu <dann@ics.uci.edu>
parents: 85724
diff changeset
1853 (if (featurep 'xemacs) (setq zmacs-region-stays t)))
10689
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1854
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1855 ;;;
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1856 ;;; COPY RECTANGLE
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1857 ;;;
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1858
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1859 (defun edt-copy-rectangle ()
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1860 "Copy a rectangle of text between mark and cursor to register."
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1861 (interactive)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1862 (edt-check-selection)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1863 (copy-rectangle-to-register 3 (region-beginning) (region-end) nil)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1864 (edt-reset)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1865 (message "Selected rectangle COPIED to register"))
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1866
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1867 ;;;
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1868 ;;; CUT RECTANGLE
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1869 ;;;
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1870
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1871 (defun edt-cut-rectangle-overstrike-mode ()
11442
331db5628809 Many doc fixes.
Karl Heuer <kwzh@gnu.org>
parents: 11273
diff changeset
1872 "Cut a rectangle of text between mark and cursor to register.
331db5628809 Many doc fixes.
Karl Heuer <kwzh@gnu.org>
parents: 11273
diff changeset
1873 Replace cut characters with spaces and moving cursor back to
331db5628809 Many doc fixes.
Karl Heuer <kwzh@gnu.org>
parents: 11273
diff changeset
1874 upper left corner."
10689
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1875 (interactive "*")
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1876 (edt-check-selection)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1877 (setq edt-rect-start-point (region-beginning))
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1878 (picture-clear-rectangle-to-register (region-beginning) (region-end) 3)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1879 (set-window-point (get-buffer-window (window-buffer)) edt-rect-start-point)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1880 (message "Selected rectangle CUT to register"))
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1881
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1882 (defun edt-cut-rectangle-insert-mode ()
11442
331db5628809 Many doc fixes.
Karl Heuer <kwzh@gnu.org>
parents: 11273
diff changeset
1883 "Cut a rectangle of text between mark and cursor to register.
331db5628809 Many doc fixes.
Karl Heuer <kwzh@gnu.org>
parents: 11273
diff changeset
1884 Move cursor back to upper left corner."
35124
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1885 (interactive "*")
10689
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1886 (edt-check-selection)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1887 (setq edt-rect-start-point (region-beginning))
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1888 (picture-clear-rectangle-to-register (region-beginning) (region-end) 3 t)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1889 (fixup-whitespace)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1890 (set-window-point (get-buffer-window (window-buffer)) edt-rect-start-point)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1891 (message "Selected rectangle CUT to register"))
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1892
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1893 (defun edt-cut-rectangle ()
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1894 "Cut a rectangular region of text to register.
11442
331db5628809 Many doc fixes.
Karl Heuer <kwzh@gnu.org>
parents: 11273
diff changeset
1895 If overwrite mode is active, cut text is replaced with whitespace."
10689
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1896 (interactive "*")
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1897 (if overwrite-mode
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1898 (edt-cut-rectangle-overstrike-mode)
35124
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1899 (edt-cut-rectangle-insert-mode)))
10689
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1900
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1901 ;;;
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1902 ;;; PASTE RECTANGLE
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1903 ;;;
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1904
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1905 (defun edt-paste-rectangle-overstrike-mode ()
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1906 "Paste a rectangular region of text from register, replacing text at cursor."
35124
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1907 (interactive "*")
10689
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1908 (picture-yank-rectangle-from-register 3))
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1909
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1910 (defun edt-paste-rectangle-insert-mode ()
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1911 "Paste previously deleted rectangular region, inserting text at cursor."
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1912 (interactive "*")
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1913 (picture-yank-rectangle-from-register 3 t))
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1914
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1915 (defun edt-paste-rectangle ()
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1916 "Paste a rectangular region of text.
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1917 If overwrite mode is active, existing text is replace with text from register."
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1918 (interactive)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1919 (if overwrite-mode
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1920 (edt-paste-rectangle-overstrike-mode)
35124
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1921 (edt-paste-rectangle-insert-mode)))
10689
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1922
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1923 ;;;
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1924 ;;; DOWNCASE REGION
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1925 ;;;
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1926
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1927 (defun edt-lowercase ()
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1928 "Change specified characters to lower case.
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1929 If text selection IS active, then characters between the cursor and
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1930 mark are changed. If text selection is NOT active, there are two
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1931 situations. If the current direction is ADVANCE, then the word under
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1932 the cursor is changed to lower case and the cursor is moved to rest at
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1933 the beginning of the next word. If the current direction is BACKUP,
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1934 the word prior to the word under the cursor is changed to lower case
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1935 and the cursor is left to rest at the beginning of that word."
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1936 (interactive "*")
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1937 (if edt-select-mode
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1938 (progn
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1939 (downcase-region (mark) (point)))
35124
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1940 (progn
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1941 ;; Move to beginning of current word.
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1942 (if (and
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1943 (not (bobp))
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1944 (not (eobp))
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1945 (not (bolp))
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1946 (not (eolp))
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1947 (not (eq ?\ (char-syntax (preceding-char))))
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1948 (not (memq (preceding-char) edt-word-entities))
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1949 (not (memq (following-char) edt-word-entities)))
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1950 (edt-one-word-backward))
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1951 (if (equal edt-direction-string edt-backward-string)
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1952 (edt-one-word-backward))
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1953 (let ((beg (point)))
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1954 (edt-one-word-forward)
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1955 (downcase-region beg (point)))
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1956 (if (equal edt-direction-string edt-backward-string)
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1957 (edt-one-word-backward)))))
10689
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1958
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1959 ;;;
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1960 ;;; UPCASE REGION
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1961 ;;;
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1962
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1963 (defun edt-uppercase ()
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1964 "Change specified characters to upper case.
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1965 If text selection IS active, then characters between the cursor and
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1966 mark are changed. If text selection is NOT active, there are two
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1967 situations. If the current direction is ADVANCE, then the word under
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1968 the cursor is changed to upper case and the cursor is moved to rest at
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1969 the beginning of the next word. If the current direction is BACKUP,
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1970 the word prior to the word under the cursor is changed to upper case
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1971 and the cursor is left to rest at the beginning of that word."
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1972 (interactive "*")
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1973 (if edt-select-mode
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1974 (progn
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1975 (upcase-region (mark) (point)))
35124
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1976 (progn
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1977 ;; Move to beginning of current word.
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1978 (if (and
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1979 (not (bobp))
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1980 (not (eobp))
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1981 (not (bolp))
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1982 (not (eolp))
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1983 (not (eq ?\ (char-syntax (preceding-char))))
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1984 (not (memq (preceding-char) edt-word-entities))
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1985 (not (memq (following-char) edt-word-entities)))
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1986 (edt-one-word-backward))
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1987 (if (equal edt-direction-string edt-backward-string)
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1988 (edt-one-word-backward))
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1989 (let ((beg (point)))
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1990 (edt-one-word-forward)
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1991 (upcase-region beg (point)))
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1992 (if (equal edt-direction-string edt-backward-string)
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1993 (edt-one-word-backward)))))
10689
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1994
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1995 ;;;
35124
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1996 ;;; Functions used in loading LK-201 key mapping file.
10689
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1997 ;;;
35124
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1998 (defvar edt-last-answer nil
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
1999 "Most recent response to `edt-y-or-n-p'.")
10689
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
2000
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
2001 (defun edt-y-or-n-p (prompt &optional not-yes)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
2002 "Prompt for a y or n answer with positive default.
35124
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
2003 Like Emacs `y-or-n-p', also accepts space as y and DEL as n.
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
2004 Argument PROMPT is the prompt string.
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
2005 Optional argument NOT-YES changes the default to negative."
14346
4a609420dfc1 (edt-display-the-time): Pass proper format string to message.
Karl Heuer <kwzh@gnu.org>
parents: 14169
diff changeset
2006 (message "%s[%s]" prompt (if not-yes "n" "y"))
10689
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
2007 (let ((doit t))
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
2008 (while doit
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
2009 (setq doit nil)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
2010 (let ((ans (read-char)))
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
2011 (cond ((or (= ans ?y) (= ans ?Y) (= ans ?\ ))
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
2012 (setq edt-last-answer t))
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
2013 ((or (= ans ?n) (= ans ?N) (= ans ?\C-?))
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
2014 (setq edt-last-answer nil))
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
2015 ((= ans ?\r) (setq edt-last-answer (not not-yes)))
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
2016 (t
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
2017 (setq doit t) (beep)
14346
4a609420dfc1 (edt-display-the-time): Pass proper format string to message.
Karl Heuer <kwzh@gnu.org>
parents: 14169
diff changeset
2018 (message "Please answer y or n. %s[%s]"
4a609420dfc1 (edt-display-the-time): Pass proper format string to message.
Karl Heuer <kwzh@gnu.org>
parents: 14169
diff changeset
2019 prompt (if not-yes "n" "y")))))))
10689
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
2020 edt-last-answer)
35124
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
2021
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
2022 ;;;
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
2023 ;;; INITIALIZATION COMMANDS.
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
2024 ;;;
10689
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
2025
35124
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
2026 ;;;
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
2027 ;;; Function used to load LK-201 key mapping file generated by edt-mapper.el.
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
2028 ;;;
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
2029 (defun edt-load-keys (file)
49598
0d8b17d428b5 Trailing whitepace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents: 48259
diff changeset
2030 "Load the LK-201 key mapping FILE generated by edt-mapper.el.
35124
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
2031 If FILE is nil, which is the normal case, try to load a default file.
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
2032 The default file names are based upon the window system, terminal
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
2033 type, and version of Emacs in use: GNU Emacs or XEmacs (aka Lucid
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
2034 Emacs). If a default file does not exist, ask user if one should be
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
2035 created."
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
2036 (interactive "fKey definition file: ")
10689
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
2037 (cond (file
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
2038 (setq file (expand-file-name file)))
35124
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
2039 (edt-keys-file
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
2040 (setq file (expand-file-name edt-keys-file)))
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
2041 (t
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
2042 (setq file
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
2043 (expand-file-name
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
2044 (concat
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
2045 "~/.edt-" edt-emacs-variant
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
2046 (if edt-term (concat "-" edt-term))
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
2047 (if edt-xserver (concat "-" edt-xserver))
49598
0d8b17d428b5 Trailing whitepace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents: 48259
diff changeset
2048 (if edt-window-system
35124
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
2049 (concat "-" (upcase (symbol-name edt-window-system))))
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
2050 "-keys")))))
10689
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
2051 (cond ((file-readable-p file)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
2052 (load-file file))
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
2053 (t
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
2054 (switch-to-buffer "*scratch*")
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
2055 (erase-buffer)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
2056 (insert "
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
2057
35124
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
2058 Ack!! You're running the Enhanced EDT Emulation without loading an
49598
0d8b17d428b5 Trailing whitepace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents: 48259
diff changeset
2059 EDT key mapping file. To create an EDT key mapping file, run the
35124
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
2060 edt-mapper.el program. It is safest to run it from an Emacs loaded
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
2061 without any of your own customizations found in your .emacs file, etc.
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
2062 The reason for this is that some user customizations confuse edt-mapper.
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
2063 You can do this by quitting Emacs and then invoking Emacs again as
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
2064 follows:
10689
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
2065
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
2066 emacs -q -l edt-mapper.el
49598
0d8b17d428b5 Trailing whitepace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents: 48259
diff changeset
2067
35124
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
2068 [NOTE: If you do nothing out of the ordinary in your .emacs file, and
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
2069 the search for edt-mapper.el is successful, you can try running it now.]
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
2070
10689
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
2071 The file edt-mapper.el includes these same directions on how to
16426
0db426a80aff (edt-load-xkeys): Doc fix.
Richard M. Stallman <rms@gnu.org>
parents: 14346
diff changeset
2072 use it! Perhaps it's lying around here someplace. \n ")
10689
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
2073 (let ((file "edt-mapper.el")
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
2074 (found nil)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
2075 (path nil)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
2076 (search-list (append (list (expand-file-name ".")) load-path)))
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
2077 (while (and (not found) search-list)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
2078 (setq path (concat (car search-list)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
2079 (if (string-match "/$" (car search-list)) "" "/")
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
2080 file))
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
2081 (if (and (file-exists-p path) (not (file-directory-p path)))
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
2082 (setq found t))
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
2083 (setq search-list (cdr search-list)))
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
2084 (cond (found
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
2085 (insert (format
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
2086 "Ah yes, there it is, in \n\n %s \n\n" path))
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
2087 (if (edt-y-or-n-p "Do you want to run it now? ")
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
2088 (load-file path)
35124
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
2089 (error "EDT Emulation not configured")))
10689
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
2090 (t
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
2091 (insert "Nope, I can't seem to find it. :-(\n\n")
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
2092 (sit-for 20)
35124
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
2093 (error "EDT Emulation not configured")))))))
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
2094
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
2095 ;;;
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
2096 ;;; Turning the EDT Emulation on and off.
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
2097 ;;;
10689
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
2098
258
1e0bc00dca7a *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 199
diff changeset
2099 ;;;###autoload
57
f34b559dc980 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2100 (defun edt-emulation-on ()
10689
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
2101 "Turn on EDT Emulation."
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
2102 (interactive)
35124
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
2103 ;; If using pc window system (MS-DOS), set terminal type to pc.
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
2104 ;; If not a window system (GNU) or a tty window system (XEmacs),
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
2105 ;; get terminal type.
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
2106 (if (eq edt-window-system 'pc)
10689
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
2107 (setq edt-term "pc")
35124
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
2108 (if (or (not edt-window-system) (eq edt-window-system 'tty))
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
2109 (setq edt-term (getenv "TERM"))))
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
2110 ;; Look for for terminal configuration file for this terminal type.
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
2111 ;; Otherwise, load the user's custom configuration file.
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
2112 (if (or (not edt-window-system) (memq edt-window-system '(pc tty)))
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
2113 (progn
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
2114 ;; Load terminal-specific configuration file, if it exists for this
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
2115 ;; terminal type. Note: All DEC VT series terminals are supported
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
2116 ;; by the same terminal configuration file: edt-vt100.el.
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
2117 (if (string-equal "vt" (substring edt-term 0 (min (length edt-term) 2)))
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
2118 (setq edt-term "vt100"))
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
2119 (let ((term edt-term)
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
2120 hyphend)
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
2121 (while (and term
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
2122 (not (load (concat "edt-" term) t t)))
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
2123 ;; Strip off last hyphen and what follows, then try again
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
2124 (if (setq hyphend (string-match "[-_][^-_]+$" term))
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
2125 (setq term (substring term 0 hyphend))
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
2126 (setq term nil)))
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
2127 ;; If no terminal-specific configuration file exists, load user's
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
2128 ;; custom EDT terminal configuration file.
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
2129 ;; If this is a pc running MS-DOS, then custom configuration files
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
2130 ;; are not supported. So, if the file is missing, issue an error
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
2131 ;; message.
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
2132 (if (null term)
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
2133 (if (equal edt-term "pc")
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
2134 (error "Unable to find EDT terminal specific file edt-pc.el")
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
2135 (edt-load-keys nil))
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
2136 (setq edt-term term))))
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
2137 (edt-load-keys nil))
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
2138 ;; Make highlighting of selected text work properly for EDT commands.
85777
2ca0af23d79d * emulation/edt.el (edt-emacs19-p, edt-x-emacs19-p)
Dan Nicolaescu <dann@ics.uci.edu>
parents: 85724
diff changeset
2139 (if (featurep 'emacs)
35124
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
2140 (progn
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
2141 (setq edt-orig-transient-mark-mode transient-mark-mode)
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
2142 (add-hook 'activate-mark-hook
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
2143 (function
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
2144 (lambda ()
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
2145 (edt-select-mode t))))
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
2146 (add-hook 'deactivate-mark-hook
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
2147 (function
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
2148 (lambda ()
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
2149 (edt-select-mode nil)))))
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
2150 (progn
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
2151 (add-hook 'zmacs-activate-region-hook
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
2152 (function
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
2153 (lambda ()
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
2154 (edt-select-mode t))))
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
2155 (add-hook 'zmacs-deactivate-region-hook
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
2156 (function
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
2157 (lambda ()
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
2158 (edt-select-mode nil))))))
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
2159 ;; Load user's EDT custom key bindings file, if it exists.
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
2160 ;; Otherwise, use the default bindings.
10689
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
2161 (if (load "edt-user" t t)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
2162 (edt-user-emulation-setup)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
2163 (edt-default-emulation-setup)))
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
2164
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
2165 (defun edt-emulation-off()
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
2166 "Select original global key bindings, disabling EDT Emulation."
57
f34b559dc980 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2167 (interactive)
10689
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
2168 (use-global-map global-map)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
2169 (if (not edt-keep-current-page-delimiter)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
2170 (setq page-delimiter edt-orig-page-delimiter))
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
2171 (setq edt-direction-string "")
35124
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
2172 (setq edt-select-mode-current nil)
10689
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
2173 (edt-reset)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
2174 (force-mode-line-update t)
85777
2ca0af23d79d * emulation/edt.el (edt-emacs19-p, edt-x-emacs19-p)
Dan Nicolaescu <dann@ics.uci.edu>
parents: 85724
diff changeset
2175 (if (featurep 'emacs)
35124
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
2176 (setq transient-mark-mode edt-orig-transient-mark-mode))
10689
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
2177 (message "Original key bindings restored; EDT Emulation disabled"))
57
f34b559dc980 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2178
10689
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
2179 (defun edt-default-emulation-setup (&optional user-setup)
35124
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
2180 "Setup emulation of DEC's EDT editor.
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
2181 Optional argument USER-SETUP non-nil means called from function
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
2182 `edt-user-emulation-setup'."
10689
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
2183 ;; Setup default EDT global map by copying global map bindings.
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
2184 ;; This preserves ESC and C-x prefix bindings and other bindings we
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
2185 ;; wish to retain in EDT emulation mode keymaps. It also permits
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
2186 ;; customization of these bindings in the EDT global maps without
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
2187 ;; disturbing the original bindings in global-map.
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
2188 (fset 'edt-default-ESC-prefix (copy-keymap 'ESC-prefix))
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
2189 (setq edt-default-global-map (copy-keymap (current-global-map)))
85777
2ca0af23d79d * emulation/edt.el (edt-emacs19-p, edt-x-emacs19-p)
Dan Nicolaescu <dann@ics.uci.edu>
parents: 85724
diff changeset
2190 (if (featurep 'emacs)
35124
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
2191 (define-key edt-default-global-map "\e" 'edt-default-ESC-prefix)
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
2192 (define-key edt-default-global-map [escape] 'edt-default-ESC-prefix))
10689
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
2193 (define-prefix-command 'edt-default-gold-map)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
2194 (edt-setup-default-bindings)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
2195 ;; If terminal has additional function keys, the terminal-specific
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
2196 ;; initialization file can assign bindings to them via the optional
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
2197 ;; function edt-setup-extra-default-bindings.
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
2198 (if (fboundp 'edt-setup-extra-default-bindings)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
2199 (edt-setup-extra-default-bindings))
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
2200 ;; Variable needed by edt-learn.
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
2201 (setq edt-learn-macro-count 0)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
2202 ;; Display EDT text selection active within the mode line
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
2203 (or (assq 'edt-select-mode minor-mode-alist)
35124
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
2204 (setq minor-mode-alist
10689
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
2205 (cons '(edt-select-mode edt-select-mode) minor-mode-alist)))
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
2206 ;; Display EDT direction of motion within the mode line
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
2207 (or (assq 'edt-direction-string minor-mode-alist)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
2208 (setq minor-mode-alist
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
2209 (cons
35124
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
2210 '(edt-direction-string edt-direction-string) minor-mode-alist)))
10689
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
2211 (if user-setup
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
2212 (progn
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
2213 (setq edt-user-map-configured t)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
2214 (fset 'edt-emulation-on (symbol-function 'edt-select-user-global-map)))
35124
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
2215 (progn
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
2216 (fset 'edt-emulation-on (symbol-function 'edt-select-default-global-map))
97543
e4ee733b4030 (edt-default-emulation-setup): Share global-buffers-menu-map with the
Chong Yidong <cyd@stupidchicken.com>
parents: 95836
diff changeset
2217 (edt-select-default-global-map)))
e4ee733b4030 (edt-default-emulation-setup): Share global-buffers-menu-map with the
Chong Yidong <cyd@stupidchicken.com>
parents: 95836
diff changeset
2218 ;; We need to share `global-buffers-menu-map' with the saved global
e4ee733b4030 (edt-default-emulation-setup): Share global-buffers-menu-map with the
Chong Yidong <cyd@stupidchicken.com>
parents: 95836
diff changeset
2219 ;; keymap, because `menu-bar-update-buffers' directly changes it.
e4ee733b4030 (edt-default-emulation-setup): Share global-buffers-menu-map with the
Chong Yidong <cyd@stupidchicken.com>
parents: 95836
diff changeset
2220 (define-key (current-global-map) [menu-bar buffer]
e4ee733b4030 (edt-default-emulation-setup): Share global-buffers-menu-map with the
Chong Yidong <cyd@stupidchicken.com>
parents: 95836
diff changeset
2221 (cons "Buffers" global-buffers-menu-map)))
10689
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
2222
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
2223 (defun edt-user-emulation-setup ()
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
2224 "Setup user custom emulation of DEC's EDT editor."
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
2225 ;; Initialize EDT default bindings.
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
2226 (edt-default-emulation-setup t)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
2227 ;; Setup user EDT global map by copying default EDT global map bindings.
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
2228 (fset 'edt-user-ESC-prefix (copy-keymap 'edt-default-ESC-prefix))
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
2229 (setq edt-user-global-map (copy-keymap edt-default-global-map))
85777
2ca0af23d79d * emulation/edt.el (edt-emacs19-p, edt-x-emacs19-p)
Dan Nicolaescu <dann@ics.uci.edu>
parents: 85724
diff changeset
2230 (if (featurep 'emacs)
35124
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
2231 (define-key edt-user-global-map "\e" 'edt-user-ESC-prefix)
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
2232 (define-key edt-user-global-map [escape] 'edt-user-ESC-prefix))
10689
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
2233 ;; If terminal has additional function keys, the user's initialization
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
2234 ;; file can assign bindings to them via the optional
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
2235 ;; function edt-setup-extra-default-bindings.
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
2236 (define-prefix-command 'edt-user-gold-map)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
2237 (fset 'edt-user-gold-map (copy-keymap 'edt-default-gold-map))
86530
bc8f1a009d53 (edt-user-emulation-setup): Test edt-setup-user-bindings is bound
Glenn Morris <rgm@gnu.org>
parents: 86243
diff changeset
2238 ;; This is a function that the user can define for custom bindings.
106588
dc80b06afb69 Update comments for edt doc changes.
Glenn Morris <rgm@gnu.org>
parents: 105829
diff changeset
2239 ;; See Info node `edt' for more details, and sample edt-user.el file.
86530
bc8f1a009d53 (edt-user-emulation-setup): Test edt-setup-user-bindings is bound
Glenn Morris <rgm@gnu.org>
parents: 86243
diff changeset
2240 (if (fboundp 'edt-setup-user-bindings)
bc8f1a009d53 (edt-user-emulation-setup): Test edt-setup-user-bindings is bound
Glenn Morris <rgm@gnu.org>
parents: 86243
diff changeset
2241 (edt-setup-user-bindings))
10689
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
2242 (edt-select-user-global-map))
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
2243
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
2244 (defun edt-select-default-global-map()
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
2245 "Select default EDT emulation key bindings."
57
f34b559dc980 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2246 (interactive)
85777
2ca0af23d79d * emulation/edt.el (edt-emacs19-p, edt-x-emacs19-p)
Dan Nicolaescu <dann@ics.uci.edu>
parents: 85724
diff changeset
2247 (if (featurep 'emacs)
35124
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
2248 (transient-mark-mode 1))
10689
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
2249 (use-global-map edt-default-global-map)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
2250 (if (not edt-keep-current-page-delimiter)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
2251 (progn
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
2252 (setq edt-orig-page-delimiter page-delimiter)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
2253 (setq page-delimiter "\f")))
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
2254 (setq edt-default-map-active t)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
2255 (edt-advance)
35124
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
2256 (setq edt-select-mode-current 'edt-select-mode-string)
10689
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
2257 (edt-reset)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
2258 (message "Default EDT keymap active"))
57
f34b559dc980 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2259
10689
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
2260 (defun edt-select-user-global-map()
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
2261 "Select user EDT emulation custom key bindings."
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
2262 (interactive)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
2263 (if edt-user-map-configured
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
2264 (progn
85777
2ca0af23d79d * emulation/edt.el (edt-emacs19-p, edt-x-emacs19-p)
Dan Nicolaescu <dann@ics.uci.edu>
parents: 85724
diff changeset
2265 (if (featurep 'emacs)
35124
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
2266 (transient-mark-mode 1))
10689
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
2267 (use-global-map edt-user-global-map)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
2268 (if (not edt-keep-current-page-delimiter)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
2269 (progn
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
2270 (setq edt-orig-page-delimiter page-delimiter)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
2271 (setq page-delimiter "\f")))
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
2272 (setq edt-default-map-active nil)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
2273 (edt-advance)
35124
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
2274 (setq edt-select-mode-current 'edt-select-mode-string)
10689
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
2275 (edt-reset)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
2276 (message "User EDT custom keymap active"))
35124
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
2277 (error "User EDT custom keymap NOT configured!")))
10689
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
2278
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
2279 (defun edt-switch-global-maps ()
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
2280 "Toggle between default EDT keymap and user EDT keymap."
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
2281 (interactive)
35124
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
2282 (if edt-default-map-active
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
2283 (edt-select-user-global-map)
10689
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
2284 (edt-select-default-global-map)))
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
2285
35124
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
2286 ;;
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
2287 ;; Functions used to set up DEFAULT bindings to EDT emulation functions.
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
2288 ;;
57
f34b559dc980 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2289
35124
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
2290 (defun edt-bind-function-key-default (function-key binding gold-binding)
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
2291 "Binds LK-201 function keys to default bindings in the EDT Emulator.
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
2292 Argument FUNCTION-KEY is the name of the function key or keypad function key.
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
2293 Argument BINDING is the Emacs function to be bound to <KEY>.
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
2294 Argument GOLD-BINDING is the Emacs function to be bound to GOLD <KEY>."
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
2295 (let ((key (cdr (assoc function-key *EDT-keys*))))
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
2296 (if (and key (not (equal key "")))
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
2297 (progn
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
2298 (define-key edt-default-global-map key binding)
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
2299 (define-key 'edt-default-gold-map key gold-binding)))))
10689
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
2300
35124
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
2301 (defun edt-bind-key-default (key binding)
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
2302 "Bind key sequences to default bindings in the EDT Emulator.
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
2303 Argument KEY is the name of a standard key or a function key.
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
2304 Argument BINDING is the Emacs function to be bound to <KEY>."
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
2305 (define-key edt-default-global-map key binding))
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
2306
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
2307 (defun edt-bind-gold-key-default (key gold-binding)
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
2308 "Binds <GOLD> key sequences to default bindings in the EDT Emulator.
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
2309 Argument KEY is the name of a standard key or a function key.
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
2310 Argument GOLD-BINDING is the Emacs function to be bound to GOLD <KEY>."
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
2311 (define-key 'edt-default-gold-map key gold-binding))
10689
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
2312
35124
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
2313 ;;
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
2314 ;; Functions used to set up USER CUSTOM bindings to EDT emulation functions.
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
2315 ;;
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
2316 (defun edt-bind-function-key (function-key binding gold-binding)
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
2317 "Binds LK-201 function keys to custom bindings in the EDT Emulator.
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
2318 Argument FUNCTION-KEY is the name of the function key or keypad function key.
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
2319 Argument BINDING is the Emacs function to be bound to <KEY>.
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
2320 Argument GOLD-BINDING is the Emacs function to be bound to GOLD <KEY>."
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
2321 (let ((key (cdr (assoc function-key *EDT-keys*))))
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
2322 (if (and key (not (equal key "")))
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
2323 (progn
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
2324 (define-key edt-user-global-map key binding)
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
2325 (define-key 'edt-user-gold-map key gold-binding)))))
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
2326
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
2327 (defun edt-bind-key (key binding)
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
2328 "Bind standard key sequences to custom bindings in the EDT Emulator.
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
2329 Argument KEY is the name of a key. It can be a standard key or a function key.
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
2330 Argument BINDING is the Emacs function to be bound to <KEY>."
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
2331 (define-key edt-user-global-map key binding))
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
2332
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
2333 ;; For backward compatibility to existing edt-user.el files.
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
2334 (fset 'edt-bind-standard-key (symbol-function 'edt-bind-key))
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
2335
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
2336 (defun edt-bind-gold-key (key gold-binding)
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
2337 "Binds <GOLD> standard key sequences to custom bindings in the EDT Emulator.
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
2338 Argument KEY is the name of a standard key or a function key.
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
2339 Argument GOLD-BINDING is the Emacs function to be bound to GOLD <KEY>."
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
2340 (define-key 'edt-user-gold-map key gold-binding))
10689
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
2341
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
2342 (defun edt-setup-default-bindings ()
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
2343 "Assigns default EDT Emulation keyboard bindings."
3479
7cda082508c9 (GOLD-prefix): Define *after* GOLD-map.
Richard M. Stallman <rms@gnu.org>
parents: 2570
diff changeset
2344
10689
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
2345 ;; Function Key Bindings: Regular and GOLD.
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
2346
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
2347 ;; VT100/VT200/VT300 PF1 (GOLD), PF2, PF3, PF4 Keys
35124
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
2348 (edt-bind-function-key-default "PF1"
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
2349 'edt-default-gold-map 'edt-mark-section-wisely)
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
2350 (edt-bind-function-key-default "PF2"
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
2351 'edt-electric-keypad-help 'describe-function)
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
2352 (edt-bind-function-key-default "PF3" 'edt-find-next 'edt-find)
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
2353 (edt-bind-function-key-default "PF4" 'edt-delete-line 'edt-undelete-line)
10689
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
2354
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
2355 ;; VT100/VT200/VT300 Arrow Keys
35124
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
2356 (edt-bind-function-key-default "UP" 'edt-previous-line 'edt-window-top)
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
2357 (edt-bind-function-key-default "DOWN" 'edt-next-line 'edt-window-bottom)
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
2358 (edt-bind-function-key-default "LEFT" 'backward-char 'edt-sentence-backward)
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
2359 (edt-bind-function-key-default "RIGHT" 'forward-char 'edt-sentence-forward)
10689
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
2360
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
2361 ;; VT100/VT200/VT300 Keypad Keys
35124
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
2362 (edt-bind-function-key-default "KP0" 'edt-line 'open-line)
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
2363 (edt-bind-function-key-default "KP1" 'edt-word 'edt-change-case)
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
2364 (edt-bind-function-key-default "KP2"
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
2365 'edt-end-of-line 'edt-delete-to-end-of-line)
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
2366 (edt-bind-function-key-default "KP3" 'edt-character 'quoted-insert)
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
2367 (edt-bind-function-key-default "KP4" 'edt-advance 'edt-bottom)
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
2368 (edt-bind-function-key-default "KP5" 'edt-backup 'edt-top)
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
2369 (edt-bind-function-key-default "KP6" 'edt-cut 'yank)
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
2370 (edt-bind-function-key-default "KP7" 'edt-page 'execute-extended-command)
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
2371 (edt-bind-function-key-default "KP8" 'edt-sect 'edt-fill-region)
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
2372 (edt-bind-function-key-default "KP9" 'edt-append 'edt-replace)
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
2373 (edt-bind-function-key-default "KP-" 'edt-delete-word 'edt-undelete-word)
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
2374 (edt-bind-function-key-default "KP,"
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
2375 'edt-delete-character 'edt-undelete-character)
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
2376 (edt-bind-function-key-default "KPP" 'edt-select 'edt-reset)
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
2377 (edt-bind-function-key-default "KPE" 'other-window 'edt-substitute)
57
f34b559dc980 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2378
10689
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
2379 ;; VT200/VT300 Function Keys
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
2380 ;; (F1 through F5, on the VT220, are not programmable, so we skip
35124
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
2381 ;; making default bindings to those keys.
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
2382 (edt-bind-function-key-default "FIND" 'edt-find-next 'edt-find)
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
2383 (edt-bind-function-key-default "INSERT" 'yank 'edt-key-not-assigned)
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
2384 (edt-bind-function-key-default "REMOVE" 'edt-cut 'edt-copy)
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
2385 (edt-bind-function-key-default "SELECT"
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
2386 'edt-toggle-select 'edt-key-not-assigned)
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
2387 (edt-bind-function-key-default "NEXT"
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
2388 'edt-sect-forward 'edt-key-not-assigned)
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
2389 (edt-bind-function-key-default "PREVIOUS"
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
2390 'edt-sect-backward 'edt-key-not-assigned)
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
2391 (edt-bind-function-key-default "F6"
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
2392 'edt-key-not-assigned 'edt-key-not-assigned)
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
2393 (edt-bind-function-key-default "F7"
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
2394 'edt-copy-rectangle 'edt-key-not-assigned)
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
2395 (edt-bind-function-key-default "F8"
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
2396 'edt-cut-rectangle-overstrike-mode 'edt-paste-rectangle-overstrike-mode)
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
2397 (edt-bind-function-key-default "F9"
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
2398 'edt-cut-rectangle-insert-mode 'edt-paste-rectangle-insert-mode)
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
2399 (edt-bind-function-key-default "F10" 'edt-cut-rectangle 'edt-paste-rectangle)
10689
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
2400 ;; Under X, the F11 key can be bound. If using a VT-200 or higher terminal,
35124
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
2401 ;; the default emacs terminal support causes the VT F11 key to seem as if it
10689
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
2402 ;; is an ESC key when in emacs.
35124
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
2403 (edt-bind-function-key-default "F11"
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
2404 'edt-key-not-assigned 'edt-key-not-assigned)
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
2405 (edt-bind-function-key-default "F12"
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
2406 'edt-beginning-of-line 'delete-other-windows) ;BS
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
2407 (edt-bind-function-key-default "F13"
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
2408 'edt-delete-to-beginning-of-word 'edt-key-not-assigned) ;LF
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
2409 (edt-bind-function-key-default "F14"
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
2410 'edt-key-not-assigned 'edt-key-not-assigned)
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
2411 (edt-bind-function-key-default "HELP"
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
2412 'edt-electric-keypad-help 'edt-key-not-assigned)
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
2413 (edt-bind-function-key-default "DO"
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
2414 'execute-extended-command 'edt-key-not-assigned)
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
2415 (edt-bind-function-key-default "F17"
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
2416 'edt-key-not-assigned 'edt-key-not-assigned)
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
2417 (edt-bind-function-key-default "F18"
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
2418 'edt-key-not-assigned 'edt-key-not-assigned)
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
2419 (edt-bind-function-key-default "F19"
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
2420 'edt-key-not-assigned 'edt-key-not-assigned)
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
2421 (edt-bind-function-key-default "F20"
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
2422 'edt-key-not-assigned 'edt-key-not-assigned)
57
f34b559dc980 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2423
10689
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
2424 ;; Control key bindings: Regular and GOLD
49598
0d8b17d428b5 Trailing whitepace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents: 48259
diff changeset
2425 ;;
10689
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
2426 ;; Standard EDT control key bindings conflict with standard Emacs
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
2427 ;; control key bindings. Normally, the standard Emacs control key
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
2428 ;; bindings are left unchanged in the default EDT mode. However, if
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
2429 ;; the variable edt-use-EDT-control-key-bindings is set to true
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
2430 ;; before invoking edt-emulation-on for the first time, then the
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
2431 ;; standard EDT bindings (with some enhancements) as defined here are
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
2432 ;; used, instead.
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
2433 (if edt-use-EDT-control-key-bindings
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
2434 (progn
35124
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
2435 (edt-bind-key-default "\C-a" 'edt-key-not-assigned)
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
2436 (edt-bind-key-default "\C-b" 'edt-key-not-assigned)
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
2437 ;; Leave binding of C-c to an Emacs prefix key.
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
2438 (edt-bind-key-default "\C-d" 'edt-key-not-assigned)
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
2439 (edt-bind-key-default "\C-e" 'edt-key-not-assigned)
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
2440 (edt-bind-key-default "\C-f" 'edt-key-not-assigned)
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
2441 ;; Leave binding of C-g to the Emacs keyboard-quit
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
2442 (edt-bind-key-default "\C-h" 'edt-beginning-of-line)
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
2443 (edt-bind-key-default "\C-i" 'edt-tab-insert)
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
2444 (edt-bind-key-default "\C-j" 'edt-delete-to-beginning-of-word)
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
2445 (edt-bind-key-default "\C-k" 'edt-define-key)
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
2446 (edt-bind-gold-key-default "\C-k" 'edt-restore-key)
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
2447 (edt-bind-key-default "\C-l" 'edt-form-feed-insert)
10689
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
2448 ;; Leave binding of C-m to newline.
35124
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
2449 (edt-bind-key-default "\C-n" 'edt-set-screen-width-80)
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
2450 (edt-bind-key-default "\C-o" 'edt-key-not-assigned)
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
2451 (edt-bind-key-default "\C-p" 'edt-key-not-assigned)
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
2452 (edt-bind-key-default "\C-q" 'edt-key-not-assigned)
10689
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
2453 ;; Leave binding of C-r to isearch-backward.
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
2454 ;; Leave binding of C-s to isearch-forward.
35124
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
2455 (edt-bind-key-default "\C-t" 'edt-display-the-time)
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
2456 (edt-bind-key-default "\C-u" 'edt-delete-to-beginning-of-line)
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
2457 (edt-bind-key-default "\C-v" 'redraw-display)
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
2458 (edt-bind-key-default "\C-w" 'edt-set-screen-width-132)
10689
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
2459 ;; Leave binding of C-x as original prefix key.
35124
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
2460 (edt-bind-key-default "\C-y" 'edt-key-not-assigned)
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
2461 ;; Leave binding of C-z to suspend-emacs.
10689
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
2462 )
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
2463 )
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
2464
35124
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
2465 ;; GOLD bindings for a few keys.
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
2466 (edt-bind-gold-key-default "\C-g" 'keyboard-quit); Just in case.
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
2467 (edt-bind-gold-key-default "\C-h" 'help-for-help); Just in case.
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
2468 (edt-bind-gold-key-default [f1] 'help-for-help)
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
2469 (edt-bind-gold-key-default [help] 'help-for-help)
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
2470 (edt-bind-gold-key-default "\C-\\" 'split-window-vertically)
57
f34b559dc980 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2471
10689
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
2472 ;; GOLD bindings for regular keys.
35124
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
2473 (edt-bind-gold-key-default "a" 'edt-key-not-assigned)
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
2474 (edt-bind-gold-key-default "A" 'edt-key-not-assigned)
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
2475 (edt-bind-gold-key-default "b" 'buffer-menu)
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
2476 (edt-bind-gold-key-default "B" 'buffer-menu)
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
2477 (edt-bind-gold-key-default "c" 'compile)
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
2478 (edt-bind-gold-key-default "C" 'compile)
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
2479 (edt-bind-gold-key-default "d" 'delete-window)
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
2480 (edt-bind-gold-key-default "D" 'delete-window)
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
2481 (edt-bind-gold-key-default "e" 'edt-exit)
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
2482 (edt-bind-gold-key-default "E" 'edt-exit)
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
2483 (edt-bind-gold-key-default "f" 'find-file)
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
2484 (edt-bind-gold-key-default "F" 'find-file)
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
2485 (edt-bind-gold-key-default "g" 'find-file-other-window)
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
2486 (edt-bind-gold-key-default "G" 'find-file-other-window)
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
2487 (edt-bind-gold-key-default "h" 'edt-electric-keypad-help)
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
2488 (edt-bind-gold-key-default "H" 'edt-electric-keypad-help)
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
2489 (edt-bind-gold-key-default "i" 'insert-file)
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
2490 (edt-bind-gold-key-default "I" 'insert-file)
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
2491 (edt-bind-gold-key-default "j" 'edt-key-not-assigned)
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
2492 (edt-bind-gold-key-default "J" 'edt-key-not-assigned)
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
2493 (edt-bind-gold-key-default "k" 'edt-toggle-capitalization-of-word)
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
2494 (edt-bind-gold-key-default "K" 'edt-toggle-capitalization-of-word)
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
2495 (edt-bind-gold-key-default "l" 'edt-lowercase)
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
2496 (edt-bind-gold-key-default "L" 'edt-lowercase)
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
2497 (edt-bind-gold-key-default "m" 'save-some-buffers)
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
2498 (edt-bind-gold-key-default "M" 'save-some-buffers)
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
2499 (edt-bind-gold-key-default "n" 'next-error)
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
2500 (edt-bind-gold-key-default "N" 'next-error)
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
2501 (edt-bind-gold-key-default "o" 'switch-to-buffer-other-window)
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
2502 (edt-bind-gold-key-default "O" 'switch-to-buffer-other-window)
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
2503 (edt-bind-gold-key-default "p" 'edt-key-not-assigned)
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
2504 (edt-bind-gold-key-default "P" 'edt-key-not-assigned)
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
2505 (edt-bind-gold-key-default "q" 'edt-quit)
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
2506 (edt-bind-gold-key-default "Q" 'edt-quit)
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
2507 (edt-bind-gold-key-default "r" 'revert-buffer)
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
2508 (edt-bind-gold-key-default "R" 'revert-buffer)
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
2509 (edt-bind-gold-key-default "s" 'save-buffer)
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
2510 (edt-bind-gold-key-default "S" 'save-buffer)
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
2511 (edt-bind-gold-key-default "t" 'edt-key-not-assigned)
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
2512 (edt-bind-gold-key-default "T" 'edt-key-not-assigned)
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
2513 (edt-bind-gold-key-default "u" 'edt-uppercase)
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
2514 (edt-bind-gold-key-default "U" 'edt-uppercase)
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
2515 (edt-bind-gold-key-default "v" 'find-file-other-window)
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
2516 (edt-bind-gold-key-default "V" 'find-file-other-window)
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
2517 (edt-bind-gold-key-default "w" 'write-file)
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
2518 (edt-bind-gold-key-default "W" 'write-file)
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
2519 (edt-bind-gold-key-default "x" 'edt-key-not-assigned)
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
2520 (edt-bind-gold-key-default "X" 'edt-key-not-assigned)
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
2521 (edt-bind-gold-key-default "y" 'edt-emulation-off)
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
2522 (edt-bind-gold-key-default "Y" 'edt-emulation-off)
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
2523 (edt-bind-gold-key-default "z" 'edt-switch-global-maps)
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
2524 (edt-bind-gold-key-default "Z" 'edt-switch-global-maps)
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
2525 (edt-bind-gold-key-default "1" 'delete-other-windows)
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
2526 (edt-bind-gold-key-default "!" 'edt-key-not-assigned)
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
2527 (edt-bind-gold-key-default "2" 'edt-split-window)
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
2528 (edt-bind-gold-key-default "@" 'edt-key-not-assigned)
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
2529 (edt-bind-gold-key-default "3" 'edt-key-not-assigned)
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
2530 (edt-bind-gold-key-default "#" 'edt-key-not-assigned)
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
2531 (edt-bind-gold-key-default "4" 'edt-key-not-assigned)
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
2532 (edt-bind-gold-key-default "$" 'edt-key-not-assigned)
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
2533 (edt-bind-gold-key-default "5" 'edt-key-not-assigned)
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
2534 (edt-bind-gold-key-default "%" 'edt-goto-percentage)
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
2535 (edt-bind-gold-key-default "6" 'edt-key-not-assigned)
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
2536 (edt-bind-gold-key-default "^" 'edt-key-not-assigned)
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
2537 (edt-bind-gold-key-default "7" 'edt-key-not-assigned)
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
2538 (edt-bind-gold-key-default "&" 'edt-key-not-assigned)
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
2539 (edt-bind-gold-key-default "8" 'edt-key-not-assigned)
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
2540 (edt-bind-gold-key-default "*" 'edt-key-not-assigned)
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
2541 (edt-bind-gold-key-default "9" 'edt-key-not-assigned)
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
2542 (edt-bind-gold-key-default "(" 'edt-key-not-assigned)
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
2543 (edt-bind-gold-key-default "0" 'edt-key-not-assigned)
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
2544 (edt-bind-gold-key-default ")" 'edt-key-not-assigned)
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
2545 (edt-bind-gold-key-default " " 'undo)
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
2546 (edt-bind-gold-key-default "," 'edt-key-not-assigned)
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
2547 (edt-bind-gold-key-default "<" 'edt-key-not-assigned)
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
2548 (edt-bind-gold-key-default "." 'edt-key-not-assigned)
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
2549 (edt-bind-gold-key-default ">" 'edt-key-not-assigned)
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
2550 (edt-bind-gold-key-default "/" 'query-replace)
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
2551 (edt-bind-gold-key-default "?" 'edt-key-not-assigned)
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
2552 (edt-bind-gold-key-default "\\" 'edt-key-not-assigned)
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
2553 (edt-bind-gold-key-default "|" 'edt-key-not-assigned)
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
2554 (edt-bind-gold-key-default ";" 'edt-key-not-assigned)
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
2555 (edt-bind-gold-key-default ":" 'edt-key-not-assigned)
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
2556 (edt-bind-gold-key-default "'" 'edt-key-not-assigned)
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
2557 (edt-bind-gold-key-default "\"" 'edt-key-not-assigned)
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
2558 (edt-bind-gold-key-default "-" 'edt-key-not-assigned)
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
2559 (edt-bind-gold-key-default "_" 'edt-key-not-assigned)
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
2560 (edt-bind-gold-key-default "=" 'goto-line)
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
2561 (edt-bind-gold-key-default "+" 'edt-key-not-assigned)
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
2562 (edt-bind-gold-key-default "[" 'edt-key-not-assigned)
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
2563 (edt-bind-gold-key-default "{" 'edt-key-not-assigned)
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
2564 (edt-bind-gold-key-default "]" 'edt-key-not-assigned)
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
2565 (edt-bind-gold-key-default "}" 'edt-key-not-assigned)
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
2566 (edt-bind-gold-key-default "`" 'what-line)
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
2567 (edt-bind-gold-key-default "~" 'edt-key-not-assigned)
10689
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
2568 )
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
2569
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
2570 ;;;
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
2571 ;;; DEFAULT EDT KEYPAD HELP
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
2572 ;;;
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
2573
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
2574 ;;;
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
2575 ;;; Upper case commands in the keypad diagram below indicate that the
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
2576 ;;; emulation should look and feel very much like EDT. Lower case
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
2577 ;;; commands are enhancements and/or additions to the EDT keypad
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
2578 ;;; commands or are native Emacs commands.
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
2579 ;;;
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
2580
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
2581 (defun edt-keypad-help ()
35124
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
2582 "DEFAULT EDT Keypad Active.
57
f34b559dc980 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2583
10689
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
2584 F7: Copy Rectangle +----------+----------+----------+----------+
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
2585 F8: Cut Rect Overstrike |Prev Line |Next Line |Bkwd Char |Frwd Char |
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
2586 G-F8: Paste Rect Overstrike | (UP) | (DOWN) | (LEFT) | (RIGHT) |
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
2587 F9: Cut Rect Insert |Window Top|Window Bot|Bkwd Sent |Frwd Sent |
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
2588 G-F9: Paste Rect Insert +----------+----------+----------+----------+
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
2589 F10: Cut Rectangle
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
2590 G-F10: Paste Rectangle
49598
0d8b17d428b5 Trailing whitepace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents: 48259
diff changeset
2591 F11: ESC
10689
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
2592 F12: Begining of Line +----------+----------+----------+----------+
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
2593 G-F12: Delete Other Windows | GOLD | HELP | FNDNXT | DEL L |
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
2594 F13: Delete to Begin of Word | (PF1) | (PF2) | (PF3) | (PF4) |
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
2595 HELP: Keypad Help |Mark Wisel|Desc Funct| FIND | UND L |
35124
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
2596 G-HELP: Emacs Help +----------+----------+----------+----------+
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
2597 DO: Execute extended command | PAGE | SECT | APPEND | DEL W |
10689
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
2598 C-g: Keyboard Quit | (7) | (8) | (9) | (-) |
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
2599 G-C-g: Keyboard Quit |Ex Ext Cmd|Fill Regio| REPLACE | UND W |
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
2600 C-h: Beginning of Line +----------+----------+----------+----------+
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
2601 G-C-h: Emacs Help | ADVANCE | BACKUP | CUT | DEL C |
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
2602 C-i: Tab Insert | (4) | (5) | (6) | (,) |
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
2603 C-j: Delete to Begin of Word | BOTTOM | TOP | Yank | UND C |
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
2604 C-k: Define Key +----------+----------+----------+----------+
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
2605 G-C-k: Restore Key | WORD | EOL | CHAR | Next |
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
2606 C-l: Form Feed Insert | (1) | (2) | (3) | Window |
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
2607 C-n: Set Screen Width 80 | CHNGCASE | DEL EOL |Quoted Ins| !
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
2608 C-r: Isearch Backward +---------------------+----------+ (ENTER) |
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
2609 C-s: Isearch Forward | LINE | SELECT | !
35124
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
2610 C-t: Display the Time | (0) | (.) | SUBS |
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
2611 C-u: Delete to Begin of Line | Open Line | RESET | |
10689
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
2612 C-v: Redraw Display +---------------------+----------+----------+
49598
0d8b17d428b5 Trailing whitepace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents: 48259
diff changeset
2613 C-w: Set Screen Width 132
10689
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
2614 C-z: Suspend Emacs +----------+----------+----------+
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
2615 G-C-\\: Split Window | FNDNXT | Yank | CUT |
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
2616 | (FIND) | (INSERT) | (REMOVE) |
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
2617 G-b: Buffer Menu | FIND | | COPY |
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
2618 G-c: Compile +----------+----------+----------+
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
2619 G-d: Delete Window |SELECT/RES|SECT BACKW|SECT FORWA|
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
2620 G-e: Exit | (SELECT) |(PREVIOUS)| (NEXT) |
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
2621 G-f: Find File | | | |
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
2622 G-g: Find File Other Window +----------+----------+----------+
49598
0d8b17d428b5 Trailing whitepace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents: 48259
diff changeset
2623 G-h: Keypad Help
0d8b17d428b5 Trailing whitepace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents: 48259
diff changeset
2624 G-i: Insert File
0d8b17d428b5 Trailing whitepace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents: 48259
diff changeset
2625 G-k: Toggle Capitalization Word
0d8b17d428b5 Trailing whitepace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents: 48259
diff changeset
2626 G-l: Downcase Region
0d8b17d428b5 Trailing whitepace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents: 48259
diff changeset
2627 G-m: Save Some Buffers
0d8b17d428b5 Trailing whitepace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents: 48259
diff changeset
2628 G-n: Next Error
10689
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
2629 G-o: Switch to Next Window
49598
0d8b17d428b5 Trailing whitepace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents: 48259
diff changeset
2630 G-q: Quit
0d8b17d428b5 Trailing whitepace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents: 48259
diff changeset
2631 G-r: Revert File
0d8b17d428b5 Trailing whitepace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents: 48259
diff changeset
2632 G-s: Save Buffer
0d8b17d428b5 Trailing whitepace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents: 48259
diff changeset
2633 G-u: Upcase Region
0d8b17d428b5 Trailing whitepace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents: 48259
diff changeset
2634 G-v: Find File Other Window
0d8b17d428b5 Trailing whitepace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents: 48259
diff changeset
2635 G-w: Write file
0d8b17d428b5 Trailing whitepace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents: 48259
diff changeset
2636 G-y: EDT Emulation OFF
10689
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
2637 G-z: Switch to User EDT Key Bindings
49598
0d8b17d428b5 Trailing whitepace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents: 48259
diff changeset
2638 G-1: Delete Other Windows
0d8b17d428b5 Trailing whitepace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents: 48259
diff changeset
2639 G-2: Split Window
0d8b17d428b5 Trailing whitepace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents: 48259
diff changeset
2640 G-%: Go to Percentage
0d8b17d428b5 Trailing whitepace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents: 48259
diff changeset
2641 G- : Undo (GOLD Spacebar)
0d8b17d428b5 Trailing whitepace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents: 48259
diff changeset
2642 G-=: Go to Line
35124
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
2643 G-`: What line
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
2644 G-/: Query-Replace"
57
f34b559dc980 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2645
10689
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
2646 (interactive)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
2647 (describe-function 'edt-keypad-help))
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
2648
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
2649 (defun edt-electric-helpify (fun)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
2650 (let ((name "*Help*"))
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
2651 (if (save-window-excursion
104386
2e0765155e47 Use help-print-return-message rather than the now obsolete alias.
Glenn Morris <rgm@gnu.org>
parents: 103307
diff changeset
2652 (let* ((p (symbol-function 'help-print-return-message))
10689
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
2653 (b (get-buffer name))
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
2654 (m (buffer-modified-p b)))
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
2655 (and b (not (get-buffer-window b))
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
2656 (setq b nil))
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
2657 (unwind-protect
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
2658 (progn
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
2659 (message "%s..." (capitalize (symbol-name fun)))
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
2660 (and b
105829
328150f0cf76 * url-util.el (url-insert-entities-in-string):
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 105372
diff changeset
2661 (with-current-buffer b
10689
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
2662 (set-buffer-modified-p t)))
104386
2e0765155e47 Use help-print-return-message rather than the now obsolete alias.
Glenn Morris <rgm@gnu.org>
parents: 103307
diff changeset
2663 (fset 'help-print-return-message 'ignore)
10689
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
2664 (call-interactively fun)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
2665 (and (get-buffer name)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
2666 (get-buffer-window (get-buffer name))
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
2667 (or (not b)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
2668 (not (eq b (get-buffer name)))
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
2669 (not (buffer-modified-p b)))))
104386
2e0765155e47 Use help-print-return-message rather than the now obsolete alias.
Glenn Morris <rgm@gnu.org>
parents: 103307
diff changeset
2670 (fset 'help-print-return-message p)
10689
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
2671 (and b (buffer-name b)
105829
328150f0cf76 * url-util.el (url-insert-entities-in-string):
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 105372
diff changeset
2672 (with-current-buffer b
10689
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
2673 (set-buffer-modified-p m))))))
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
2674 (with-electric-help 'delete-other-windows name t))))
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
2675
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
2676 (defun edt-electric-keypad-help ()
11442
331db5628809 Many doc fixes.
Karl Heuer <kwzh@gnu.org>
parents: 11273
diff changeset
2677 "Display default EDT bindings."
10689
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
2678 (interactive)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
2679 (edt-electric-helpify 'edt-keypad-help))
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
2680
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
2681 (defun edt-electric-user-keypad-help ()
11442
331db5628809 Many doc fixes.
Karl Heuer <kwzh@gnu.org>
parents: 11273
diff changeset
2682 "Display user custom EDT bindings."
10689
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
2683 (interactive)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
2684 (edt-electric-helpify 'edt-user-keypad-help))
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
2685
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
2686 ;;;
13058
1d26583f8c2b (edt-set-screen-width-80, edt-set-screen-width-132):
Karl Heuer <kwzh@gnu.org>
parents: 12421
diff changeset
2687 ;;; EDT emulation screen width commands.
10689
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
2688 ;;;
35124
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
2689 ;; Some terminals require modification of terminal attributes when
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
2690 ;; changing the number of columns displayed, hence the fboundp tests
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
2691 ;; below. These functions are defined in the corresponding terminal
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
2692 ;; specific file, if needed.
10689
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
2693
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
2694 (defun edt-set-screen-width-80 ()
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
2695 "Set screen width to 80 columns."
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
2696 (interactive)
13058
1d26583f8c2b (edt-set-screen-width-80, edt-set-screen-width-132):
Karl Heuer <kwzh@gnu.org>
parents: 12421
diff changeset
2697 (if (fboundp 'edt-set-term-width-80)
1d26583f8c2b (edt-set-screen-width-80, edt-set-screen-width-132):
Karl Heuer <kwzh@gnu.org>
parents: 12421
diff changeset
2698 (edt-set-term-width-80))
35124
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
2699 (set-frame-width nil 80)
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
2700 (message "Terminal width 80"))
10689
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
2701
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
2702 (defun edt-set-screen-width-132 ()
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
2703 "Set screen width to 132 columns."
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
2704 (interactive)
13058
1d26583f8c2b (edt-set-screen-width-80, edt-set-screen-width-132):
Karl Heuer <kwzh@gnu.org>
parents: 12421
diff changeset
2705 (if (fboundp 'edt-set-term-width-132)
1d26583f8c2b (edt-set-screen-width-80, edt-set-screen-width-132):
Karl Heuer <kwzh@gnu.org>
parents: 12421
diff changeset
2706 (edt-set-term-width-132))
35124
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
2707 (set-frame-width nil 132)
0b78d7b101c2 Update to version 4.0. Provide support for
Gerd Moellmann <gerd@gnu.org>
parents: 18943
diff changeset
2708 (message "Terminal width 132"))
10689
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
2709
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
2710 (provide 'edt)
660
08eb386dd0f3 *** empty log message ***
Eric S. Raymond <esr@snark.thyrsus.com>
parents: 258
diff changeset
2711
93975
1e3a407766b9 Fix up comment convention on the arch-tag lines.
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 92374
diff changeset
2712 ;; arch-tag: 18d1c54f-6900-4078-8bbc-7c2292f48941
660
08eb386dd0f3 *** empty log message ***
Eric S. Raymond <esr@snark.thyrsus.com>
parents: 258
diff changeset
2713 ;;; edt.el ends here