annotate lisp/emulation/edt.el @ 11273:96404b701856

(edt-keep-current-page-delimiter): Doc fix.
author Richard M. Stallman <rms@gnu.org>
date Fri, 07 Apr 1995 22:11:47 +0000
parents adc2429d1531
children 331db5628809
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
10689
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
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
10689
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
3 ;; Copyright (C) 1986, 1992, 1993, 1994, 1995 Free Software Foundation, Inc.
846
20674ae6bf52 *** empty log message ***
Eric S. Raymond <esr@snark.thyrsus.com>
parents: 811
diff changeset
4
10689
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
5 ;; Author: Kevin Gallagher <kgallagh@spd.dsccc.com>
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
6 ;; Maintainer: Kevin Gallagher <kgallagh@spd.dsccc.com>
11273
96404b701856 (edt-keep-current-page-delimiter): Doc fix.
Richard M. Stallman <rms@gnu.org>
parents: 10872
diff changeset
7 ;; Version: 3.0.3
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
f34b559dc980 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
12 ;; GNU Emacs is free software; you can redistribute it and/or modify
f34b559dc980 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
13 ;; it under the terms of the GNU General Public License as published by
807
4f28bd14272c *** empty log message ***
Eric S. Raymond <esr@snark.thyrsus.com>
parents: 793
diff changeset
14 ;; the Free Software Foundation; either version 2, or (at your option)
57
f34b559dc980 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
15 ;; any later version.
f34b559dc980 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
16
f34b559dc980 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
17 ;; GNU Emacs is distributed in the hope that it will be useful,
f34b559dc980 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
18 ;; but WITHOUT ANY WARRANTY; without even the implied warranty of
f34b559dc980 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
19 ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
f34b559dc980 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
20 ;; GNU General Public License for more details.
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
f34b559dc980 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
23 ;; along with GNU Emacs; see the file COPYING. If not, write to
f34b559dc980 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
24 ;; the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
f34b559dc980 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
25
10689
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
26 ;;; Usage:
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
27
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
28 ;; See edt-user.doc
807
4f28bd14272c *** empty log message ***
Eric S. Raymond <esr@snark.thyrsus.com>
parents: 793
diff changeset
29
10689
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
30 ;; ====================================================================
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
31
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
32 ;;; 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
33 ;;; picture functions are used in rectangular cut and paste commands.
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
34 (require 'ehelp)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
35 (require 'picture)
807
4f28bd14272c *** empty log message ***
Eric S. Raymond <esr@snark.thyrsus.com>
parents: 793
diff changeset
36
10689
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
37 ;;;;
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
38 ;;;; VARIABLES and CONSTANTS
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
39 ;;;;
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
40
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
41 (defconst edt-version "3.0.3" "EDT version number.")
662
8a533acedb77 *** empty log message ***
Eric S. Raymond <esr@snark.thyrsus.com>
parents: 660
diff changeset
42
57
f34b559dc980 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
43 (defvar edt-last-deleted-lines ""
10689
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
44 "Last text deleted by an EDT emulation line delete command.")
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
45
57
f34b559dc980 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
46 (defvar edt-last-deleted-words ""
10689
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
47 "Last text deleted by an EDT emulation word delete command.")
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
48
57
f34b559dc980 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
49 (defvar edt-last-deleted-chars ""
10689
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
50 "Last text deleted by an EDT emulation character delete command.")
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
51
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
52 (defvar edt-last-replaced-key-definition ""
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
53 "Key definition replaced with edt-define-key or edt-learn command.")
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
54
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
55 (defvar edt-direction-string ""
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
56 "Current direction of movement.")
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
57
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
58 (defvar edt-select-mode nil
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
59 "Select minor mode.")
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
60
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
61 (defvar edt-select-mode-text ""
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
62 "Select mode active text.")
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
63
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
64 (defconst edt-select-mode-string " Select"
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
65 "String used to indicated select mode is active.")
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
66
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
67 (defconst edt-forward-string " ADVANCE"
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
68 "Direction string indicating forward movement.")
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
69
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
70 (defconst edt-backward-string " BACKUP"
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
71 "Direction string indicating backward movement.")
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
72
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
73 (defvar edt-default-map-active nil
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
74 "Indicates, when true, that default EDT emulation key bindings are active;
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
75 user-defined custom bindings are active when set to nil.")
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
76
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
77 (defvar edt-user-map-configured nil
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
78 "Indicates, when true, that user custom EDT emulation key bindings are
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
79 configured and available for use.")
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
80
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
81 (defvar edt-keep-current-page-delimiter nil
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
82 "If set to true, when edt-emulation-on is first invoked,
11273
96404b701856 (edt-keep-current-page-delimiter): Doc fix.
Richard M. Stallman <rms@gnu.org>
parents: 10872
diff changeset
83 modification of the page-delimiter varible to \"\\f\" is suppressed,
10689
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
84 thereby retaining current Emacs setting.")
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
85
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
86 (defvar edt-use-EDT-control-key-bindings nil
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
87 "If set to true, EDT control key bindings are defined.
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
88 When true, many standard Emacs control key bindings are overwritten.
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
89 If set to nil (the default), EDT control key bindings are not used.
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
90 Instead, the standard Emacs control key bindings are retained.")
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
91
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
92 (defvar edt-word-entities '(?\t)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
93 "*Specifies the list of word entity characters.")
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
94
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
95 ;;;
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
96 ;;; Emacs version identifiers - currently referenced by
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
97 ;;;
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
98 ;;; o edt-emulation-on o edt-load-xkeys
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
99 ;;;
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
100 (defconst edt-emacs19-p (not (string-lessp emacs-version "19"))
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
101 "Non-NIL if we are running Lucid or GNU Emacs version 19.")
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
102
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
103 (defconst edt-lucid-emacs19-p
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
104 (and edt-emacs19-p (string-match "Lucid" emacs-version))
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
105 "Non-NIL if we are running Lucid Emacs version 19.")
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
106
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
107 (defconst edt-gnu-emacs19-p (and edt-emacs19-p (not edt-lucid-emacs19-p))
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
108 "Non-NIL if we are running GNU Emacs version 19.")
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
109
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
110 (defvar edt-xkeys-file nil
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
111 "File mapping X function keys to LK-201 keyboard function and keypad keys.")
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
112
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
113 ;;;;
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
114 ;;;; EDT Emulation Commands
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
115 ;;;;
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
116
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
117 ;;; Almost all of EDT's keypad mode commands have equivalent
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
118 ;;; counterparts in Emacs. Some behave the same way in Emacs as they
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
119 ;;; do in EDT, but most do not.
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
120 ;;;
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
121 ;;; The following Emacs functions emulate, where practical, the exact
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
122 ;;; behavior of the corresponding EDT keypad mode commands. In a few
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
123 ;;; cases, the emulation is not exact, but it is close enough for most
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
124 ;;; EDT die-hards.
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
125 ;;;
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
126 ;;; In a very few cases, we chose to use the superior Emacs way of
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
127 ;;; handling things. For example, we do not emulate the EDT SUBS
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
128 ;;; command. Instead, we chose to use the superior Emacs
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
129 ;;; query-replace function.
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
130 ;;;
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
131
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
132 ;;;
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
133 ;;; PAGE
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
134 ;;;
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
135 ;;; 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
136 ;;; 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
137 ;;; 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
138 ;;; 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
139 ;;; 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
140 ;;; 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
141 ;;; 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
142 ;;; placing
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
143 ;;;
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
144 ;;; (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
145 ;;;
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
146 ;;; in your .emacs file.
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
147
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
148 (defun edt-page-forward (num)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
149 "Move forward to just after next page delimiter.
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
150 Accepts a positive prefix argument for the number of page delimiters to move."
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
151 (interactive "p")
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
152 (edt-check-prefix num)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
153 (if (eobp)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
154 (error "End of buffer")
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
155 (progn
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
156 (forward-page num)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
157 (if (eobp)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
158 (edt-line-to-bottom-of-window)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
159 (edt-line-to-top-of-window)))))
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
160
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
161 (defun edt-page-backward (num)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
162 "Move backward to just after previous page delimiter.
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
163 Accepts a positive prefix argument for the number of page delimiters to move."
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
164 (interactive "p")
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
165 (edt-check-prefix num)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
166 (if (bobp)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
167 (error "Beginning of buffer")
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
168 (progn
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
169 (backward-page num)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
170 (edt-line-to-top-of-window))))
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
171
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
172 (defun edt-page (num)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
173 "Move in current direction to next page delimiter.
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
174 Accepts a positive prefix argument for the number of page delimiters to move."
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
175 (interactive "p")
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
176 (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
177 (edt-page-forward num)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
178 (edt-page-backward num)))
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
179
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
180 ;;;
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
181 ;;; SECT
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
182 ;;;
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
183 ;;; 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
184 ;;; 24-line window. That's two-thirds of the window at a time. The
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
185 ;;; EDT SECT commands moves the cursor, not the window.
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
186 ;;;
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
187 ;;; This emulation of EDT's SECT moves the cursor approximately two-thirds
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
188 ;;; of the current window at a time.
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
189
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
190 (defun edt-sect-forward (num)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
191 "Move cursor forward two-thirds of a window.
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
192 Accepts a positive prefix argument for the number of sections to move."
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
193 (interactive "p")
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
194 (edt-check-prefix num)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
195 (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
196
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
197 (defun edt-sect-backward (num)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
198 "Move cursor backward two-thirds of a window.
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
199 Accepts a positive prefix argument for the number of sections to move."
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
200 (interactive "p")
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
201 (edt-check-prefix num)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
202 (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
203
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
204 (defun edt-sect (num)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
205 "Move in current direction a full window.
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
206 Accepts a positive prefix argument for the number windows to move."
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
207 (interactive "p")
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
208 (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
209 (edt-sect-forward num)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
210 (edt-sect-backward num)))
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
211
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
212 ;;;
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
213 ;;; BEGINNING OF LINE
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
214 ;;;
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
215 ;;; 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
216 ;;; direction, for some unknown reason.
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
217
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
218 (defun edt-beginning-of-line (num)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
219 "Move backward to next beginning of line mark.
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
220 Accepts a positive prefix argument for the number of BOL marks to move."
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
221 (interactive "p")
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
222 (edt-check-prefix num)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
223 (if (bolp)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
224 (forward-line (* -1 num))
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
225 (progn
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
226 (setq num (1- num))
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
227 (forward-line (* -1 num)))))
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
228
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
229 ;;;
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
230 ;;; EOL (End of Line)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
231 ;;;
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
232
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
233 (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
234 "Move forward to next end of line mark.
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
235 Accepts a positive prefix argument for the number of EOL marks to move."
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
236 (interactive "p")
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
237 (edt-check-prefix num)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
238 (forward-char)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
239 (end-of-line num))
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
240
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
241 (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
242 "Move backward to next end of line mark.
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
243 Accepts a positive prefix argument for the number of EOL marks to move."
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
244 (interactive "p")
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
245 (edt-check-prefix num)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
246 (end-of-line (1- num)))
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
247
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
248 (defun edt-end-of-line (num)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
249 "Move in current direction to next end of line mark.
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
250 Accepts a positive prefix argument for the number of EOL marks to move."
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
251 (interactive "p")
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
252 (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
253 (edt-end-of-line-forward num)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
254 (edt-end-of-line-backward num)))
57
f34b559dc980 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
255
10689
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
256 ;;;
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
257 ;;; WORD
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
258 ;;;
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
259 ;;; 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
260 ;;; the file (beginning of file, end of file, beginning of line, end
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
261 ;;; of line, etc.) it takes a bit of special handling.
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
262 ;;;
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
263 ;;; 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
264 ;;; are to be viewed as distinct words where ever they appear in the
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
265 ;;; buffer. This emulates the EDT line mode command SET ENTITY WORD.
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
266
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
267
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
268 (defun edt-one-word-forward ()
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
269 "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
270 (interactive)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
271 (if (eobp)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
272 (error "End of buffer"))
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
273 (if (eolp)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
274 (forward-char)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
275 (progn
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
276 (if (memq (following-char) edt-word-entities)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
277 (forward-char)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
278 (while (and
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
279 (not (eolp))
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
280 (not (eobp))
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
281 (not (eq ?\ (char-syntax (following-char))))
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
282 (not (memq (following-char) edt-word-entities)))
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
283 (forward-char)))
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
284 (while (and
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
285 (not (eolp))
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
286 (not (eobp))
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
287 (eq ?\ (char-syntax (following-char)))
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
288 (not (memq (following-char) edt-word-entities)))
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
289 (forward-char)))))
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 (defun edt-one-word-backward ()
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
292 "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
293 (interactive)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
294 (if (bobp)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
295 (error "Beginning of buffer"))
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
296 (if (bolp)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
297 (backward-char)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
298 (progn
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
299 (backward-char)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
300 (while (and
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
301 (not (bolp))
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
302 (not (bobp))
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
303 (eq ?\ (char-syntax (following-char)))
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
304 (not (memq (following-char) edt-word-entities)))
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
305 (backward-char))
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
306 (if (not (memq (following-char) edt-word-entities))
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
307 (while (and
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
308 (not (bolp))
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
309 (not (bobp))
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
310 (not (eq ?\ (char-syntax (preceding-char))))
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
311 (not (memq (preceding-char) edt-word-entities)))
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
312 (backward-char))))))
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
313
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
314 (defun edt-word-forward (num)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
315 "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
316 Accepts a positive prefix argument for the number of words to move."
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
317 (interactive "p")
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
318 (edt-check-prefix num)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
319 (while (> num 0)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
320 (edt-one-word-forward)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
321 (setq num (1- num))))
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
322
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
323 (defun edt-word-backward (num)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
324 "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
325 Accepts a positive prefix argument for the number of words to move."
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
326 (interactive "p")
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
327 (edt-check-prefix num)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
328 (while (> num 0)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
329 (edt-one-word-backward)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
330 (setq num (1- num))))
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
331
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
332 (defun edt-word (num)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
333 "Move in current direction to first character of next word.
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
334 Accepts a positive prefix argument for the number of words to move."
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
335 (interactive "p")
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
336 (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
337 (edt-word-forward num)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
338 (edt-word-backward num)))
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 ;;;
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
341 ;;; CHAR
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
342 ;;;
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
343
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
344 (defun edt-character (num)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
345 "Move in current direction to next character.
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
346 Accepts a positive prefix argument for the number of characters to move."
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
347 (interactive "p")
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
348 (edt-check-prefix num)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
349 (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
350 (forward-char num)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
351 (backward-char num)))
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 ;;; LINE
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 ;;; 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
357 ;;; 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
358 ;;; separate function.
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
359
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
360 (defun edt-line-backward (num)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
361 "Move backward to next beginning of line mark.
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
362 Accepts a positive prefix argument for the number of BOL marks to move."
57
f34b559dc980 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
363 (interactive "p")
10689
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
364 (edt-beginning-of-line num))
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
365
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
366 (defun edt-line-forward (num)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
367 "Move forward to next beginning of line mark.
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
368 Accepts a positive prefix argument for the number of BOL marks to move."
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
369 (interactive "p")
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
370 (edt-check-prefix num)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
371 (forward-line num))
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
372
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
373 (defun edt-line (num)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
374 "Move in current direction to next beginning of line mark.
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
375 Accepts a positive prefix argument for the number of BOL marks to move."
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
376 (interactive "p")
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
377 (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
378 (edt-line-forward num)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
379 (edt-line-backward num)))
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
380
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 ;;; TOP
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
383 ;;;
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
384
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
385 (defun edt-top ()
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
386 "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
387 (interactive)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
388 (goto-char (point-min)))
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
389
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
390 ;;;
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
391 ;;; BOTTOM
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
392 ;;;
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-bottom ()
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
395 "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
396 (interactive)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
397 (goto-char (point-max))
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
398 (edt-line-to-bottom-of-window))
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
399
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
400 ;;;
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
401 ;;; FIND
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
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
404 (defun edt-find-forward (&optional find)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
405 "Find first occurance of a string in the forward direction and save the string."
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
406 (interactive)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
407 (if (not find)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
408 (set 'search-last-string (read-string "Search forward: ")))
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
409 (if (search-forward search-last-string)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
410 (search-backward search-last-string)))
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-find-backward (&optional find)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
413 "Find first occurance of a string in the backward direction and save the string."
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
414 (interactive)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
415 (if (not find)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
416 (set 'search-last-string (read-string "Search backward: ")))
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
417 (search-backward search-last-string))
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
418
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
419 (defun edt-find ()
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
420 "Find first occurance of string in current direction and save the string."
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
421 (interactive)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
422 (set 'search-last-string (read-string "Search: "))
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
423 (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
424 (edt-find-forward t)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
425 (edt-find-backward t)))
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
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
428 ;;;
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
429 ;;; FNDNXT
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
430 ;;;
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
431
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
432 (defun edt-find-next-forward ()
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
433 "Find next occurance of a string in forward direction."
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
434 (interactive)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
435 (forward-char 1)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
436 (if (search-forward search-last-string nil t)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
437 (search-backward search-last-string)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
438 (progn
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
439 (backward-char 1)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
440 (error "Search failed: \"%s\"." search-last-string))))
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
441
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
442 (defun edt-find-next-backward ()
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
443 "Find next occurance of a string in backward direction."
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
444 (interactive)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
445 (if (eq (search-backward search-last-string nil t) nil)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
446 (progn
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
447 (error "Search failed: \"%s\"." search-last-string))))
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
448
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
449 (defun edt-find-next ()
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
450 "Find next occurance of a string in current direction."
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
451 (interactive)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
452 (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
453 (edt-find-next-forward)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
454 (edt-find-next-backward)))
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 ;;; APPEND
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-append ()
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
461 "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
462 (interactive "*")
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
463 (edt-check-selection)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
464 (append-next-kill)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
465 (kill-region (mark) (point))
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
466 (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
467
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
468 ;;;
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
469 ;;; DEL L
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
470 ;;;
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-delete-line (num)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
473 "Delete from cursor up to and including the end of line mark.
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
474 Accepts a positive prefix argument for the number of lines to delete."
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)
57
f34b559dc980 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
477 (let ((beg (point)))
f34b559dc980 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
478 (forward-line num)
f34b559dc980 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
479 (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
480 (insert "\n"))
57
f34b559dc980 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
481 (setq edt-last-deleted-lines
10689
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
482 (buffer-substring beg (point)))
57
f34b559dc980 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
483 (delete-region beg (point))))
f34b559dc980 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
484
10689
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
485 ;;;
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
486 ;;; DEL EOL
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
487 ;;;
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
488
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
489 (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
490 "Delete from cursor up to but excluding the end of line mark.
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
491 Accepts a positive prefix argument for the number of lines to delete."
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
492 (interactive "*p")
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
493 (edt-check-prefix num)
57
f34b559dc980 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
494 (let ((beg (point)))
f34b559dc980 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
495 (forward-char 1)
f34b559dc980 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
496 (end-of-line num)
f34b559dc980 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
497 (setq edt-last-deleted-lines
10689
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
498 (buffer-substring beg (point)))
57
f34b559dc980 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
499 (delete-region beg (point))))
f34b559dc980 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
500
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 ;;; SELECT
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
503 ;;;
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
504
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
505 (defun edt-select-mode (arg)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
506 "Turn EDT select mode off if arg is nil; otherwise, turn EDT select mode on.
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
507 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
508 (if arg
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
509 (progn
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
510 (make-local-variable 'edt-select-mode)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
511 (setq edt-select-mode 'edt-select-mode-text)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
512 (setq rect-start-point (window-point)))
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
513 (progn
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
514 (kill-local-variable 'edt-select-mode)))
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
515 (force-mode-line-update))
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
516
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
517 (defun edt-select ()
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
518 "Set mark at cursor and start text selection."
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
519 (interactive)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
520 (set-mark-command nil))
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
521
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
522 (defun edt-reset ()
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
523 "Cancel text selection."
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
524 (interactive)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
525 (deactivate-mark))
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 ;;;
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
528 ;;; CUT
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
529 ;;;
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
530
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
531 (defun edt-cut ()
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
532 "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
533 (interactive "*")
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
534 (edt-check-selection)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
535 (kill-region (mark) (point))
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
536 (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
537
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
538 ;;;
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
539 ;;; DELETE TO BEGINNING OF LINE
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
540 ;;;
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
541
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
542 (defun edt-delete-to-beginning-of-line (num)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
543 "Delete from cursor to beginning of of line.
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
544 Accepts a positive prefix argument for the number of lines to delete."
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
545 (interactive "*p")
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
546 (edt-check-prefix num)
57
f34b559dc980 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
547 (let ((beg (point)))
10689
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
548 (edt-beginning-of-line num)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
549 (setq edt-last-deleted-lines
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
550 (buffer-substring (point) beg))
57
f34b559dc980 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
551 (delete-region beg (point))))
f34b559dc980 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
552
10689
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
553 ;;;
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
554 ;;; DEL W
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
555 ;;;
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
556
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
557 (defun edt-delete-word (num)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
558 "Delete from cursor up to but excluding first character of next word.
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
559 Accepts a positive prefix argument for the number of words to delete."
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
560 (interactive "*p")
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
561 (edt-check-prefix num)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
562 (let ((beg (point)))
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
563 (edt-word-forward num)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
564 (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
565 (delete-region beg (point))))
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
566
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
567 ;;;
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
568 ;;; DELETE TO BEGINNING OF WORD
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
569 ;;;
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
570
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
571 (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
572 "Delete from cursor to beginning of word.
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
573 Accepts a positive prefix argument for the number of words to delete."
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
574 (interactive "*p")
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
575 (edt-check-prefix num)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
576 (let ((beg (point)))
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
577 (edt-word-backward num)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
578 (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
579 (delete-region beg (point))))
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 ;;;
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
582 ;;; DEL C
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
583 ;;;
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
584
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
585 (defun edt-delete-character (num)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
586 "Delete character under cursor.
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
587 Accepts a positive prefix argument for the number of characters to delete."
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
588 (interactive "*p")
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
589 (edt-check-prefix num)
57
f34b559dc980 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
590 (setq edt-last-deleted-chars
10689
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
591 (buffer-substring (point) (min (point-max) (+ (point) num))))
57
f34b559dc980 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
592 (delete-region (point) (min (point-max) (+ (point) num))))
f34b559dc980 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
593
10689
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
594 ;;;
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
595 ;;; DELETE CHAR
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
596 ;;;
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-delete-previous-character (num)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
599 "Delete character in front of cursor.
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
600 Accepts a positive prefix argument for the number of characters to delete."
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
601 (interactive "*p")
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
602 (edt-check-prefix num)
57
f34b559dc980 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
603 (setq edt-last-deleted-chars
10689
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
604 (buffer-substring (max (point-min) (- (point) num)) (point)))
57
f34b559dc980 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
605 (delete-region (max (point-min) (- (point) num)) (point)))
f34b559dc980 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
606
10689
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
607 ;;;
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
608 ;;; UND L
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
609 ;;;
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
610
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
611 (defun edt-undelete-line ()
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
612 "Undelete previous deleted line(s)."
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
613 (interactive "*")
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
614 (point-to-register 1)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
615 (insert edt-last-deleted-lines)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
616 (register-to-point 1))
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
617
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
618 ;;;
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
619 ;;; UND W
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
620 ;;;
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
621
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
622 (defun edt-undelete-word ()
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
623 "Yank words deleted by last EDT word-deletion command."
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
624 (interactive "*")
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
625 (point-to-register 1)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
626 (insert edt-last-deleted-words)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
627 (register-to-point 1))
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
628
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
629 ;;;
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
630 ;;; UND C
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
631 ;;;
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
632
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
633 (defun edt-undelete-character ()
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
634 "Yank characters deleted by last EDT character-deletion command."
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
635 (interactive "*")
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
636 (point-to-register 1)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
637 (insert edt-last-deleted-chars)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
638 (register-to-point 1))
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
639
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
640 ;;;
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
641 ;;; REPLACE
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
642 ;;;
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
643
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
644 (defun edt-replace ()
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
645 "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
646 (interactive "*")
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
647 (exchange-point-and-mark)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
648 (let ((beg (point)))
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
649 (exchange-point-and-mark)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
650 (delete-region beg (point)))
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
651 (yank))
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 ;;;
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
654 ;;; ADVANCE
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
655 ;;;
57
f34b559dc980 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
656
10689
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
657 (defun edt-advance ()
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
658 "Set movement direction forward."
57
f34b559dc980 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
659 (interactive)
10689
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
660 (setq edt-direction-string edt-forward-string)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
661 (edt-update-mode-line)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
662 (if (string-equal " *Minibuf"
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
663 (substring (buffer-name) 0 (min (length (buffer-name)) 9)))
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
664 (exit-minibuffer)))
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
665
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
666 ;;;
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
667 ;;; BACKUP
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 (defun edt-backup ()
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
671 "Set movement direction backward."
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
672 (interactive)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
673 (setq edt-direction-string edt-backward-string)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
674 (edt-update-mode-line)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
675 (if (string-equal " *Minibuf"
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
676 (substring (buffer-name) 0 (min (length (buffer-name)) 9)))
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
677 (exit-minibuffer)))
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
678
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
679 ;;;
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
680 ;;; CHNGCASE
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
681 ;;;
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
682 ;; This function is based upon Jeff Kowalski's case-flip function in his
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
683 ;; tpu.el.
57
f34b559dc980 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
684
10689
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
685 (defun edt-change-case (num)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
686 "Change the case of specified characters.
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
687 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
688 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
689 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
690 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
691 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
692 positive prefix for the number of characters to change, but the prefix is
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
693 ignored if text selection is active."
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
694 (interactive "*p")
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
695 (edt-check-prefix num)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
696 (if edt-select-mode
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
697 (let ((end (max (mark) (point)))
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
698 (point-save (point)))
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
699 (goto-char (min (point) (mark)))
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
700 (while (not (eq (point) end))
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
701 (funcall (if (<= ?a (following-char))
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
702 'upcase-region 'downcase-region)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
703 (point) (1+ (point)))
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
704 (forward-char 1))
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
705 (goto-char point-save))
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
706 (progn
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
707 (if (string= edt-direction-string edt-backward-string)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
708 (backward-char num))
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
709 (while (> num 0)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
710 (funcall (if (<= ?a (following-char))
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
711 'upcase-region 'downcase-region)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
712 (point) (1+ (point)))
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
713 (forward-char 1)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
714 (setq num (1- num))))))
57
f34b559dc980 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
715
10689
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
716 ;;;
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
717 ;;; DEFINE KEY
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
718 ;;;
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
719
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
720 (defun edt-define-key ()
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
721 "Assign an interactively-callable function to a specified key sequence.
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
722 The current key definition is saved in edt-last-replaced-key-definition.
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
723 Use edt-restore-key to restore last replaced key definition."
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
724 (interactive)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
725 (let (edt-function
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
726 edt-key-definition-string)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
727 (setq edt-key-definition-string
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
728 (read-key-sequence "Press the key to be defined: "))
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
729 (if (string-equal "\C-m" edt-key-definition-string)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
730 (message "Key not defined")
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
731 (progn
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
732 (setq edt-function (read-command "Enter command name: "))
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
733 (if (string-equal "" edt-function)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
734 (message "Key not defined")
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
735 (progn
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
736 (setq edt-last-replaced-key-definition
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
737 (lookup-key (current-global-map) edt-key-definition-string))
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
738 (define-key (current-global-map)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
739 edt-key-definition-string edt-function)))))))
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
740
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 ;;; FORM FEED INSERT
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
743 ;;;
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
744
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
745 (defun edt-form-feed-insert (num)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
746 "Insert form feed character at cursor position.
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
747 Accepts a positive prefix argument for the number of form feeds to insert."
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
748 (interactive "*p")
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
749 (edt-check-prefix num)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
750 (while (> num 0)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
751 (insert ?\f)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
752 (setq num (1- num))))
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
753
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
754 ;;;
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
755 ;;; TAB INSERT
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
756 ;;;
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
757
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
758 (defun edt-tab-insert (num)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
759 "Insert tab character at cursor position.
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
760 Accepts a positive prefix argument for the number of tabs to insert."
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
761 (interactive "*p")
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
762 (edt-check-prefix num)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
763 (while (> num 0)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
764 (insert ?\t)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
765 (setq num (1- num))))
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
766
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
767 ;;;
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
768 ;;; Check Prefix
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
769 ;;;
57
f34b559dc980 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
770
10689
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
771 (defun edt-check-prefix (num)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
772 "Indicate error if prefix is not positive."
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
773 (if (<= num 0)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
774 (error "Prefix must be positive")))
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 ;;;
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
777 ;;; Check Selection
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
778 ;;;
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
779
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
780 (defun edt-check-selection ()
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
781 "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
782 (if (not edt-select-mode)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
783 (error "Selection NOT active")))
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
784
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
785 ;;;;
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
786 ;;;; 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
787 ;;;;
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
788
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
789 ;;;
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
790 ;;; 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
791 ;;; 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
792 ;;; 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
793
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
794 (defun edt-version nil
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
795 "Print the EDT version number."
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
796 (interactive)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
797 (message
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
798 "EDT version %s by Kevin Gallagher (kgallagh@spd.dsccc.com)"
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
799 edt-version))
57
f34b559dc980 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
800
10689
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
801 ;;;
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
802 ;;; CHANGE DIRECTION
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
803 ;;;
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
804
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
805 (defun edt-change-direction ()
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
806 "Toggle movement direction."
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
807 (interactive)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
808 (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
809 (edt-backup)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
810 (edt-advance)))
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
811
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
812 ;;;
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
813 ;;; TOGGLE SELECT
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
814 ;;;
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
815
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
816 (defun edt-toggle-select ()
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
817 "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
818 (interactive)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
819 (if edt-select-mode
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
820 (edt-reset)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
821 (edt-select)))
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 ;;;
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
824 ;;; SENTENCE
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
825 ;;;
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
826
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
827 (defun edt-sentence-forward (num)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
828 "Move forward to start of next sentence.
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
829 Accepts a positive prefix argument for the number of sentences to move."
57
f34b559dc980 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
830 (interactive "p")
10689
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
831 (edt-check-prefix num)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
832 (if (eobp)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
833 (progn
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
834 (error "End of buffer"))
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
835 (progn
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
836 (forward-sentence num)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
837 (edt-one-word-forward))))
57
f34b559dc980 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
838
10689
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
839 (defun edt-sentence-backward (num)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
840 "Move backward to next sentence beginning.
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
841 Accepts a positive prefix argument for the number of sentences to move."
57
f34b559dc980 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
842 (interactive "p")
10689
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
843 (edt-check-prefix num)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
844 (if (eobp)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
845 (progn
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
846 (error "End of buffer"))
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
847 (backward-sentence num)))
57
f34b559dc980 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
848
10689
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
849 (defun edt-sentence (num)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
850 "Move in current direction to next sentence.
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
851 Accepts a positive prefix argument for the number of sentences to move."
57
f34b559dc980 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
852 (interactive "p")
10689
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
853 (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
854 (edt-sentence-forward num)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
855 (edt-sentence-backward num)))
57
f34b559dc980 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
856
10689
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
857 ;;;
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
858 ;;; PARAGRAPH
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
859 ;;;
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
860
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
861 (defun edt-paragraph-forward (num)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
862 "Move forward to beginning of paragraph.
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
863 Accepts a positive prefix argument for the number of paragraphs to move."
57
f34b559dc980 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
864 (interactive "p")
10689
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
865 (edt-check-prefix num)
57
f34b559dc980 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
866 (while (> num 0)
f34b559dc980 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
867 (next-line 1)
f34b559dc980 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
868 (forward-paragraph)
f34b559dc980 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
869 (previous-line 1)
10689
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
870 (if (eolp)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
871 (next-line 1))
57
f34b559dc980 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
872 (setq num (1- num))))
f34b559dc980 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
873
10689
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
874 (defun edt-paragraph-backward (num)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
875 "Move backward to beginning of paragraph.
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
876 Accepts a positive prefix argument for the number of paragraphs to move."
57
f34b559dc980 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
877 (interactive "p")
10689
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
878 (edt-check-prefix num)
57
f34b559dc980 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
879 (while (> num 0)
f34b559dc980 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
880 (backward-paragraph)
f34b559dc980 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
881 (previous-line 1)
f34b559dc980 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
882 (if (eolp) (next-line 1))
f34b559dc980 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
883 (setq num (1- num))))
f34b559dc980 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
884
10689
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
885 (defun edt-paragraph (num)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
886 "Move in current direction to next paragraph.
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
887 Accepts a positive prefix argument for the number of paragraph to move."
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
888 (interactive "p")
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
889 (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
890 (edt-paragraph-forward num)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
891 (edt-paragraph-backward num)))
57
f34b559dc980 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
892
10689
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 ;;; RESTORE KEY
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
895 ;;;
57
f34b559dc980 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
896
10689
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
897 (defun edt-restore-key ()
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
898 "Restore last replaced key definition, which is stored in
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
899 edt-last-replaced-key-definition."
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
900 (interactive)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
901 (if edt-last-replaced-key-definition
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
902 (progn
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
903 (let (edt-key-definition-string)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
904 (set 'edt-key-definition-string
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
905 (read-key-sequence "Press the key to be restored: "))
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
906 (if (string-equal "\C-m" edt-key-definition-string)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
907 (message "Key not restored")
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
908 (define-key (current-global-map)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
909 edt-key-definition-string edt-last-replaced-key-definition))))
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
910 (error "No replaced key definition to restore!")))
57
f34b559dc980 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
911
10689
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
912 ;;;
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
913 ;;; WINDOW TOP
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
914 ;;;
57
f34b559dc980 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
915
10689
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
916 (defun edt-window-top ()
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
917 "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
918 (interactive)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
919 (let ((start-column (current-column)))
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
920 (move-to-window-line 0)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
921 (move-to-column start-column)))
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 ;;; WINDOW BOTTOM
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
925 ;;;
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
926
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
927 (defun edt-window-bottom ()
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
928 "Move the cursor to the bottom of the window."
57
f34b559dc980 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
929 (interactive)
10689
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
930 (let ((start-column (current-column)))
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
931 (move-to-window-line (- (window-height) 2))
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
932 (move-to-column start-column)))
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 ;;; SCROLL WINDOW LINE
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
936 ;;;
57
f34b559dc980 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
937
10689
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
938 (defun edt-scroll-window-forward-line ()
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
939 "Move window forward one line leaving cursor at relative position in window."
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
940 (interactive)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
941 (scroll-up 1))
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
942
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
943 (defun edt-scroll-window-backward-line ()
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
944 "Move window backward one line leaving cursor at relative position in window."
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
945 (interactive)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
946 (scroll-down 1))
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 (defun edt-scroll-line ()
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
949 "Move window one line in current direction."
57
f34b559dc980 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
950 (interactive)
10689
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
951 (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
952 (edt-scroll-window-forward-line)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
953 (edt-scroll-window-backward-line)))
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
954
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
955 ;;;
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
956 ;;; SCROLL WINDOW
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
957 ;;;
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
958 ;;; Scroll a window (less one line) at a time. Leave cursor in center of
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
959 ;;; window.
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 (defun edt-scroll-window-forward (num)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
962 "Scroll forward one window in buffer, less one line.
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
963 Accepts a positive prefix argument for the number of windows to move."
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
964 (interactive "p")
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
965 (edt-check-prefix num)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
966 (scroll-up (- (* (window-height) num) 2))
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
967 (edt-line-forward (/ (- (window-height) 1) 2)))
57
f34b559dc980 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
968
10689
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
969 (defun edt-scroll-window-backward (num)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
970 "Scroll backward one window in buffer, less one line.
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
971 Accepts a positive prefix argument for the number of windows to move."
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
972 (interactive "p")
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
973 (edt-check-prefix num)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
974 (scroll-down (- (* (window-height) num) 2))
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
975 (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
976
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
977 (defun edt-scroll-window (num)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
978 "Scroll one window in buffer, less one line, in current direction.
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
979 Accepts a positive prefix argument for the number windows to move."
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
980 (interactive "p")
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
981 (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
982 (edt-scroll-window-forward num)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
983 (edt-scroll-window-backward num)))
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 ;;; LINE TO BOTTOM OF WINDOW
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
987 ;;;
57
f34b559dc980 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
988
f34b559dc980 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
989 (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
990 "Move the current line to the bottom of the window."
57
f34b559dc980 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
991 (interactive)
f34b559dc980 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
992 (recenter -1))
f34b559dc980 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
993
10689
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
994 ;;;
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
995 ;;; LINE TO TOP OF WINDOW
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
57
f34b559dc980 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
998 (defun edt-line-to-top-of-window ()
f34b559dc980 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
999 "Move the current line to the top of the window."
f34b559dc980 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1000 (interactive)
f34b559dc980 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1001 (recenter 0))
f34b559dc980 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1002
10689
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1003 ;;;
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1004 ;;; LINE TO MIDDLE OF WINDOW
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1005 ;;;
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1006
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1007 (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
1008 "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
1009 (interactive)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1010 (recenter '(4)))
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1011
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1012 ;;;
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1013 ;;; GOTO PERCENTAGE
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1014 ;;;
57
f34b559dc980 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1015
10689
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1016 (defun edt-goto-percentage (num)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1017 "Move to specified percentage in buffer from top of buffer."
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1018 (interactive "NGoto-percentage: ")
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1019 (if (or (> num 100) (< num 0))
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1020 (error "Percentage %d out of range 0 < percent < 100" num)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1021 (goto-char (/ (* (point-max) num) 100))))
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1022
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1023 ;;;
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1024 ;;; FILL REGION
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1025 ;;;
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1026
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1027 (defun edt-fill-region ()
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1028 "Fill selected text."
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1029 (interactive "*")
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1030 (edt-check-selection)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1031 (fill-region (point) (mark)))
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1032
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1033 ;;;
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1034 ;;; INDENT OR FILL REGION
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1035 ;;;
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1036
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1037 (defun edt-indent-or-fill-region ()
57
f34b559dc980 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1038 "Fill region in text modes, indent region in programming language modes."
10689
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1039 (interactive "*")
10872
adc2429d1531 (edt-indent-or-fill-region): Remove ^ from paragraph-start & paragraph-separate.
Boris Goldowsky <boris@gnu.org>
parents: 10689
diff changeset
1040 (if (string= paragraph-start "$\\|\f")
57
f34b559dc980 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1041 (indent-region (point) (mark) nil)
10689
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1042 (fill-region (point) (mark))))
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1043
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1044 ;;;
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1045 ;;; MARK SECTION WISELY
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1046 ;;;
57
f34b559dc980 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1047
10689
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1048 (defun edt-mark-section-wisely ()
57
f34b559dc980 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1049 "Mark the section in a manner consistent with the major-mode.
10689
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1050 Uses mark-defun for emacs-lisp and lisp,
57
f34b559dc980 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1051 mark-c-function for C,
10689
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1052 mark-fortran-subsystem for fortran,
57
f34b559dc980 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1053 and mark-paragraph for other modes."
f34b559dc980 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1054 (interactive)
10689
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1055 (if edt-select-mode
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1056 (progn
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1057 (edt-reset))
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1058 (progn
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1059 (cond ((or (eq major-mode 'emacs-lisp-mode)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1060 (eq major-mode 'lisp-mode))
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1061 (mark-defun)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1062 (message "Lisp defun selected"))
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1063 ((eq major-mode 'c-mode)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1064 (mark-c-function)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1065 (message "C function selected"))
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1066 ((eq major-mode 'fortran-mode)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1067 (mark-fortran-subprogram)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1068 (message "Fortran subprogram selected"))
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1069 (t (mark-paragraph)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1070 (message "Paragraph selected"))))))
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1071
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1072 ;;;
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1073 ;;; COPY
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1074 ;;;
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1075
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1076 (defun edt-copy ()
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1077 "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
1078 (interactive)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1079 (edt-check-selection)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1080 (copy-region-as-kill (mark) (point))
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1081 (edt-reset)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1082 (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
1083
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1084 ;;;
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1085 ;;; CUT or COPY
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1086 ;;;
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1087
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1088 (defun edt-cut-or-copy ()
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1089 "Cuts (or copies) selected text to kill ring.
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1090 Cuts selected text if buffer-read-only is nil.
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1091 Copies selected text if buffer-read-only is t."
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1092 (interactive)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1093 (if buffer-read-only
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1094 (edt-copy)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1095 (edt-cut)))
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 ;;;
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1098 ;;; DELETE ENTIRE LINE
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
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1101 (defun edt-delete-entire-line ()
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1102 "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
1103 (interactive "*")
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1104 (beginning-of-line)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1105 (edt-delete-line 1))
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1106
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1107 ;;;
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1108 ;;; DUPLICATE LINE
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1109 ;;;
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1110
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1111 (defun edt-duplicate-line (num)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1112 "Duplicate a line of text.
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1113 Accepts a positive prefix argument for the number times to duplicate the line."
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1114 (interactive "*p")
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1115 (edt-check-prefix num)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1116 (let ((old-column (current-column))
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1117 (count num))
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1118 (edt-delete-entire-line)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1119 (edt-undelete-line)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1120 (while (> count 0)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1121 (edt-undelete-line)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1122 (setq count (1- count)))
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1123 (edt-line-forward num)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1124 (move-to-column old-column)))
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1125
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1126 ;;;
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1127 ;;; DUPLICATE WORD
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1128 ;;;
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1129
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1130 (defun edt-duplicate-word()
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1131 "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
1132 (interactive "*")
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1133 (let ((start (point))
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1134 (start-column (current-column)))
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1135 (forward-line -1)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1136 (move-to-column start-column)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1137 (if (and (not (equal start (point)))
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1138 (not (eolp)))
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1139 (progn
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1140 (if (and (equal ?\t (preceding-char))
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1141 (< start-column (current-column)))
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1142 (backward-char))
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1143 (let ((beg (point)))
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1144 (edt-one-word-forward)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1145 (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
1146 (forward-line)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1147 (move-to-column start-column)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1148 (insert edt-last-copied-word))
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1149 (progn
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1150 (if (not (equal start (point)))
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1151 (forward-line))
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1152 (move-to-column start-column)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1153 (error "Nothing to duplicate!")))))
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1154
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1155 ;;;
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1156 ;;; KEY NOT ASSIGNED
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1157 ;;;
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1158
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1159 (defun edt-key-not-assigned ()
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1160 "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
1161 (interactive)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1162 (error "Key not assigned"))
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1163
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1164 ;;;
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1165 ;;; TOGGLE CAPITALIZATION OF WORD
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1166 ;;;
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1167
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1168 (defun edt-toggle-capitalization-of-word ()
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1169 "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
1170 (interactive "*")
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1171 (edt-one-word-forward)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1172 (edt-one-word-backward)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1173 (edt-change-case 1)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1174 (edt-one-word-backward)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1175 (edt-one-word-forward))
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1176
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 ;;; ELIMINATE ALL TABS
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1179 ;;;
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 (defun edt-eliminate-all-tabs ()
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1182 "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
1183 (interactive "*")
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1184 (untabify (point-min) (point-max))
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1185 (message "TABS converted to SPACES"))
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1186
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1187 ;;;
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1188 ;;; DISPLAY THE TIME
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1189 ;;;
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 (defun edt-display-the-time ()
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1192 "Display the current time."
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1193 (interactive)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1194 (set 'time-string (current-time-string))
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1195 (message time-string))
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1196
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1197 ;;;
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1198 ;;; LEARN
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1199 ;;;
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1200
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1201 (defun edt-learn ()
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1202 "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
1203 (interactive)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1204 (if (eq defining-kbd-macro t)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1205 (edt-remember)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1206 (start-kbd-macro nil)))
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1207
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1208 ;;;
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1209 ;;; REMEMBER
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1210 ;;;
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1211
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1212 (defun edt-remember ()
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1213 "Store the sequence of key strokes started by edt-learn to a key."
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1214 (interactive)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1215 (if (eq defining-kbd-macro nil)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1216 (error "Nothing to remember!")
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1217 (progn
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1218 (end-kbd-macro nil)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1219 (let (edt-key-definition-string)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1220 (set 'edt-key-definition-string
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1221 (read-key-sequence "Enter key for binding: "))
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1222 (if (string-equal "\C-m" edt-key-definition-string)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1223 (message "Key sequence not remembered")
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1224 (progn
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1225 (set 'edt-learn-macro-count (+ edt-learn-macro-count 1))
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1226 (setq edt-last-replaced-key-definition
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1227 (lookup-key (current-global-map)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1228 edt-key-definition-string))
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1229 (define-key (current-global-map) edt-key-definition-string
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1230 (name-last-kbd-macro
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1231 (intern (concat "last-learned-sequence-"
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1232 (int-to-string edt-learn-macro-count)))))))))))
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1233
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1234 ;;;
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1235 ;;; EXIT
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1236 ;;;
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1237
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1238 (defun edt-exit ()
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1239 "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
1240 (interactive)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1241 (save-buffer)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1242 (save-buffers-kill-emacs))
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1243
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1244 ;;;
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1245 ;;; QUIT
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1246 ;;;
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1247
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1248 (defun edt-quit ()
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1249 "Quit Emacs without saving changes."
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1250 (interactive)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1251 (kill-emacs))
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1252
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1253 ;;;
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1254 ;;; SPLIT WINDOW
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1255 ;;;
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1256
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1257 (defun edt-split-window ()
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1258 "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
1259 (interactive)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1260 (split-window)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1261 (other-window 1))
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1262
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1263 ;;;
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1264 ;;; UPDATE MODE LINE
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1265 ;;;
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1266
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1267 (defun edt-update-mode-line ()
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1268 "Make sure mode-line in the current buffer reflects all changes."
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1269 (set-buffer-modified-p (buffer-modified-p))
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1270 (sit-for 0))
57
f34b559dc980 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1271
10689
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1272 ;;;
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1273 ;;; COPY RECTANGLE
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1274 ;;;
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1275
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1276 (defun edt-copy-rectangle ()
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1277 "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
1278 (interactive)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1279 (edt-check-selection)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1280 (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
1281 (edt-reset)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1282 (message "Selected rectangle COPIED to register"))
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 ;;;
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1285 ;;; CUT RECTANGLE
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1286 ;;;
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1287
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1288 (defun edt-cut-rectangle-overstrike-mode ()
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1289 "Cut a rectangle of text between mark and cursor to register, replacing
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1290 characters with spaces and moving cursor back to upper left corner."
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1291 (interactive "*")
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1292 (edt-check-selection)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1293 (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
1294 (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
1295 (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
1296 (message "Selected rectangle CUT to register"))
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1297
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1298 (defun edt-cut-rectangle-insert-mode ()
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1299 "Cut a rectangle of text between mark and cursor to register, deleting
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1300 intermediate text and moving cursor back to upper left corner."
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1301 (interactive "*")
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1302 (edt-check-selection)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1303 (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
1304 (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
1305 (fixup-whitespace)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1306 (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
1307 (message "Selected rectangle CUT to register"))
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1308
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1309 (defun edt-cut-rectangle ()
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1310 "Cut a rectangular region of text to register.
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1311 If overwrite mode is active, cut text is replace with whitespace."
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1312 (interactive "*")
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1313 (if overwrite-mode
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1314 (edt-cut-rectangle-overstrike-mode)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1315 (edt-cut-rectangle-insert-mode)))
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1316
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1317 ;;;
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1318 ;;; PASTE RECTANGLE
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1319 ;;;
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1320
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1321 (defun edt-paste-rectangle-overstrike-mode ()
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1322 "Paste a rectangular region of text from register, replacing text at cursor."
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1323 (interactive "*")
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1324 (picture-yank-rectangle-from-register 3))
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1325
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1326 (defun edt-paste-rectangle-insert-mode ()
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1327 "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
1328 (interactive "*")
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1329 (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
1330
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1331 (defun edt-paste-rectangle ()
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1332 "Paste a rectangular region of text.
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1333 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
1334 (interactive)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1335 (if overwrite-mode
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1336 (edt-paste-rectangle-overstrike-mode)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1337 (edt-paste-rectangle-insert-mode)))
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1338
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1339 ;;;
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1340 ;;; DOWNCASE REGION
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1341 ;;;
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1342
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1343 (defun edt-lowercase ()
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1344 "Change specified characters to lower case.
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1345 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
1346 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
1347 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
1348 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
1349 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
1350 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
1351 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
1352 (interactive "*")
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1353 (if edt-select-mode
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1354 (progn
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1355 (downcase-region (mark) (point)))
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1356 (progn
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1357 ;; Move to beginning of current word.
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1358 (if (and
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1359 (not (bobp))
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1360 (not (eobp))
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1361 (not (bolp))
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1362 (not (eolp))
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1363 (not (eq ?\ (char-syntax (preceding-char))))
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1364 (not (memq (preceding-char) edt-word-entities))
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1365 (not (memq (following-char) edt-word-entities)))
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1366 (edt-one-word-backward))
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1367 (if (equal edt-direction-string edt-backward-string)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1368 (edt-one-word-backward))
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1369 (let ((beg (point)))
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1370 (edt-one-word-forward)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1371 (downcase-region beg (point)))
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1372 (if (equal edt-direction-string edt-backward-string)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1373 (edt-one-word-backward)))))
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1374
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1375 ;;;
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1376 ;;; UPCASE REGION
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1377 ;;;
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1378
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1379 (defun edt-uppercase ()
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1380 "Change specified characters to upper case.
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1381 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
1382 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
1383 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
1384 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
1385 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
1386 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
1387 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
1388 (interactive "*")
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1389 (if edt-select-mode
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1390 (progn
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1391 (upcase-region (mark) (point)))
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1392 (progn
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1393 ;; Move to beginning of current word.
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1394 (if (and
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1395 (not (bobp))
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1396 (not (eobp))
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1397 (not (bolp))
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1398 (not (eolp))
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1399 (not (eq ?\ (char-syntax (preceding-char))))
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1400 (not (memq (preceding-char) edt-word-entities))
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1401 (not (memq (following-char) edt-word-entities)))
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1402 (edt-one-word-backward))
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1403 (if (equal edt-direction-string edt-backward-string)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1404 (edt-one-word-backward))
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1405 (let ((beg (point)))
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1406 (edt-one-word-forward)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1407 (upcase-region beg (point)))
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1408 (if (equal edt-direction-string edt-backward-string)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1409 (edt-one-word-backward)))))
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1410
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1411
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1412 ;;;
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1413 ;;; INITIALIZATION COMMANDS.
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1414 ;;;
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1415
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1416 ;;;
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1417 ;;; Emacs version 19 X-windows key definition support
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1418 ;;;
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1419 (defvar edt-last-answer nil "Most recent response to edt-y-or-n-p.")
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1420
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1421 (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
1422 "Prompt for a y or n answer with positive default.
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1423 Optional second argument NOT-YES changes default to negative.
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1424 Like emacs y-or-n-p, also accepts space as y and DEL as n."
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1425 (message (format "%s[%s]" prompt (if not-yes "n" "y")))
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1426 (let ((doit t))
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1427 (while doit
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1428 (setq doit nil)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1429 (let ((ans (read-char)))
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1430 (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
1431 (setq edt-last-answer t))
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1432 ((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
1433 (setq edt-last-answer nil))
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1434 ((= 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
1435 (t
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1436 (setq doit t) (beep)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1437 (message (format "Please answer y or n. %s[%s]"
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1438 prompt (if not-yes "n" "y"))))))))
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1439 edt-last-answer)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1440
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1441 (defun edt-load-xkeys (file)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1442 "Load the EDT X-windows key definitions FILE.
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1443 If FILE is nil, try to load a default file. The default file names are
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1444 ~/.edt-lucid-keys for Lucid emacs, and ~/.edt-gnu-keys for GNU emacs."
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1445 (interactive "fX key definition file: ")
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1446 (cond (file
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1447 (setq file (expand-file-name file)))
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1448 (edt-xkeys-file
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1449 (setq file (expand-file-name edt-xkeys-file)))
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1450 (edt-gnu-emacs19-p
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1451 (setq file (expand-file-name "~/.edt-gnu-keys")))
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1452 (edt-lucid-emacs19-p
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1453 (setq file (expand-file-name "~/.edt-lucid-keys"))))
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1454 (cond ((file-readable-p file)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1455 (load-file file))
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1456 (t
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1457 (switch-to-buffer "*scratch*")
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1458 (erase-buffer)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1459 (insert "
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1460
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1461 Ack!! You're running the Enhanced EDT Emulation under X-windows
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1462 without loading an EDT X key definition file. To create an EDT X
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1463 key definition file, run the edt-mapper.el program. But ONLY run
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1464 it from an Emacs loaded without any of your own customizations
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1465 found in your .emacs file, etc. Some user customization confuse
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1466 the edt-mapper function. To do this, you need to invoke Emacs
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1467 as follows:
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1468
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1469 emacs -q -l edt-mapper.el
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1470
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1471 The file edt-mapper.el includes these same directions on how to
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1472 use it! Perhaps it's laying around here someplace. \n ")
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1473 (let ((file "edt-mapper.el")
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1474 (found nil)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1475 (path nil)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1476 (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
1477 (while (and (not found) search-list)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1478 (setq path (concat (car search-list)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1479 (if (string-match "/$" (car search-list)) "" "/")
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1480 file))
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1481 (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
1482 (setq found t))
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1483 (setq search-list (cdr search-list)))
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1484 (cond (found
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1485 (insert (format
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1486 "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
1487 (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
1488 (load-file path)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1489 (error "EDT Emulation not configured.")))
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1490 (t
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1491 (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
1492 (sit-for 20)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1493 (error "EDT Emulation not configured.")))))))
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1494
258
1e0bc00dca7a *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 199
diff changeset
1495 ;;;###autoload
57
f34b559dc980 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1496 (defun edt-emulation-on ()
10689
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1497 "Turn on EDT Emulation."
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1498 (interactive)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1499 ;; If using MS-DOS, need to load edt-pc.el
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1500 (if (string-equal system-type "ms-dos")
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1501 (setq edt-term "pc")
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1502 (setq edt-term (getenv "TERM")))
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1503 ;; All DEC VT series terminals are supported by loading edt-vt100.el
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1504 (if (string-equal "vt" (substring edt-term 0 (min (length edt-term) 2)))
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1505 (setq edt-term "vt100"))
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1506 ;; Load EDT terminal specific configuration file.
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1507 (let ((term edt-term)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1508 hyphend)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1509 (while (and term
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1510 (not (load (concat "edt-" term) t t)))
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1511 ;; Strip off last hyphen and what follows, then try again
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1512 (if (setq hyphend (string-match "[-_][^-_]+$" term))
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1513 (setq term (substring term 0 hyphend))
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1514 (setq term nil)))
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1515 ;; Override terminal-specific file if running X Windows. X Windows support
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1516 ;; is handled differently in edt-load-xkeys
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1517 (if window-system
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1518 (edt-load-xkeys nil)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1519 (if (null term)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1520 (error "Unable to load EDT terminal specific file for %s" edt-term)))
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1521 (setq edt-term term))
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1522 (setq edt-orig-transient-mark-mode transient-mark-mode)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1523 (add-hook 'activate-mark-hook
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1524 (function
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1525 (lambda ()
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1526 (edt-select-mode t))))
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1527 (add-hook 'deactivate-mark-hook
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1528 (function
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1529 (lambda ()
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1530 (edt-select-mode nil))))
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1531 (if (load "edt-user" t t)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1532 (edt-user-emulation-setup)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1533 (edt-default-emulation-setup)))
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-emulation-off()
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1536 "Select original global key bindings, disabling EDT Emulation."
57
f34b559dc980 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1537 (interactive)
10689
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1538 (use-global-map global-map)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1539 (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
1540 (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
1541 (setq edt-direction-string "")
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1542 (setq edt-select-mode-text nil)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1543 (edt-reset)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1544 (force-mode-line-update t)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1545 (setq transient-mark-mode edt-orig-transient-mark-mode)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1546 (message "Original key bindings restored; EDT Emulation disabled"))
57
f34b559dc980 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1547
10689
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1548 (defun edt-default-emulation-setup (&optional user-setup)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1549 "Setup emulation of DEC's EDT editor."
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1550 ;; 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
1551 ;; 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
1552 ;; 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
1553 ;; 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
1554 ;; 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
1555 (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
1556 (setq edt-default-global-map (copy-keymap (current-global-map)))
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1557 (define-key edt-default-global-map "\e" 'edt-default-ESC-prefix)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1558 (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
1559 (edt-setup-default-bindings)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1560 ;; 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
1561 ;; 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
1562 ;; function edt-setup-extra-default-bindings.
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1563 (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
1564 (edt-setup-extra-default-bindings))
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1565 ;; Variable needed by edt-learn.
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1566 (setq edt-learn-macro-count 0)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1567 ;; 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
1568 (or (assq 'edt-select-mode minor-mode-alist)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1569 (setq minor-mode-alist
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1570 (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
1571 ;; 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
1572 (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
1573 (setq minor-mode-alist
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1574 (cons
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1575 '(edt-direction-string edt-direction-string) minor-mode-alist)))
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1576 (if user-setup
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1577 (progn
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1578 (setq edt-user-map-configured t)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1579 (fset 'edt-emulation-on (symbol-function 'edt-select-user-global-map)))
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1580 (progn
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1581 (fset 'edt-emulation-on (symbol-function 'edt-select-default-global-map))
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1582 (edt-select-default-global-map))))
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1583
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1584 (defun edt-user-emulation-setup ()
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1585 "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
1586 ;; Initialize EDT default bindings.
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1587 (edt-default-emulation-setup t)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1588 ;; 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
1589 (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
1590 (setq edt-user-global-map (copy-keymap edt-default-global-map))
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1591 (define-key edt-user-global-map "\e" 'edt-user-ESC-prefix)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1592 ;; 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
1593 ;; 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
1594 ;; function edt-setup-extra-default-bindings.
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1595 (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
1596 (fset 'edt-user-gold-map (copy-keymap 'edt-default-gold-map))
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1597 (edt-setup-user-bindings)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1598 (edt-select-user-global-map))
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1599
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1600 (defun edt-select-default-global-map()
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1601 "Select default EDT emulation key bindings."
57
f34b559dc980 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1602 (interactive)
10689
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1603 (transient-mark-mode 1)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1604 (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
1605 (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
1606 (progn
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1607 (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
1608 (setq page-delimiter "\f")))
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1609 (setq edt-default-map-active t)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1610 (edt-advance)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1611 (setq edt-select-mode-text 'edt-select-mode-string)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1612 (edt-reset)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1613 (message "Default EDT keymap active"))
57
f34b559dc980 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1614
10689
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1615 (defun edt-select-user-global-map()
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1616 "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
1617 (interactive)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1618 (if edt-user-map-configured
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1619 (progn
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1620 (transient-mark-mode 1)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1621 (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
1622 (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
1623 (progn
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1624 (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
1625 (setq page-delimiter "\f")))
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1626 (setq edt-default-map-active nil)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1627 (edt-advance)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1628 (setq edt-select-mode-text 'edt-select-mode-string)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1629 (edt-reset)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1630 (message "User EDT custom keymap active"))
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1631 (error "User EDT custom keymap NOT configured!")))
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1632
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1633 (defun edt-switch-global-maps ()
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1634 "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
1635 (interactive)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1636 (if edt-default-map-active
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1637 (edt-select-user-global-map)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1638 (edt-select-default-global-map)))
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1639
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1640 ;; There are three key binding functions needed: one for standard keys
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1641 ;; (used to bind control keys, primarily), one for Gold sequences of
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1642 ;; standard keys, and one for function keys.
57
f34b559dc980 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1643
10689
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1644 (defun edt-bind-gold-key (key gold-binding &optional default)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1645 "Binds commands to a gold key sequence in the EDT Emulator."
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1646 (if default
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1647 (define-key 'edt-default-gold-map key gold-binding)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1648 (define-key 'edt-user-gold-map key gold-binding)))
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 (defun edt-bind-standard-key (key gold-binding &optional default)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1651 "Bind commands to a gold key sequence in the default EDT keymap."
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1652 (if default
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1653 (define-key edt-default-global-map key gold-binding)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1654 (define-key edt-user-global-map key gold-binding)))
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1655
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1656 (defun edt-bind-function-key
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1657 (function-key binding gold-binding &optional default)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1658 "Binds function keys in the EDT Emulator."
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1659 (catch 'edt-key-not-supported
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1660 (let ((key-vector (cdr (assoc function-key *EDT-keys*))))
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1661 (if (stringp key-vector)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1662 (throw 'edt-key-not-supported t))
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1663 (if (not (null key-vector))
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1664 (progn
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1665 (if default
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1666 (progn
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1667 (define-key edt-default-global-map key-vector binding)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1668 (define-key 'edt-default-gold-map key-vector gold-binding))
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1669 (progn
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1670 (define-key edt-user-global-map key-vector binding)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1671 (define-key 'edt-user-gold-map key-vector gold-binding))))
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1672 (error "%s is not a legal function key name" function-key)))))
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1673
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1674 (defun edt-setup-default-bindings ()
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1675 "Assigns default EDT Emulation keyboard bindings."
3479
7cda082508c9 (GOLD-prefix): Define *after* GOLD-map.
Richard M. Stallman <rms@gnu.org>
parents: 2570
diff changeset
1676
10689
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1677 ;; Function Key Bindings: Regular and GOLD.
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 ;; VT100/VT200/VT300 PF1 (GOLD), PF2, PF3, PF4 Keys
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1680 (edt-bind-function-key "PF1" 'edt-default-gold-map 'edt-mark-section-wisely t)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1681 (edt-bind-function-key "PF2" 'edt-electric-keypad-help 'describe-function t)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1682 (edt-bind-function-key "PF3" 'edt-find-next 'edt-find t)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1683 (edt-bind-function-key "PF4" 'edt-delete-line 'edt-undelete-line t)
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 ;; VT100/VT200/VT300 Arrow Keys
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1686 (edt-bind-function-key "UP" 'previous-line 'edt-window-top t)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1687 (edt-bind-function-key "DOWN" 'next-line 'edt-window-bottom t)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1688 (edt-bind-function-key "LEFT" 'backward-char 'edt-sentence-backward t)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1689 (edt-bind-function-key "RIGHT" 'forward-char 'edt-sentence-forward t)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1690
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1691 ;; VT100/VT200/VT300 Keypad Keys
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1692 (edt-bind-function-key "KP0" 'edt-line 'open-line t)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1693 (edt-bind-function-key "KP1" 'edt-word 'edt-change-case t)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1694 (edt-bind-function-key "KP2" 'edt-end-of-line 'edt-delete-to-end-of-line t)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1695 (edt-bind-function-key "KP3" 'edt-character 'quoted-insert t)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1696 (edt-bind-function-key "KP4" 'edt-advance 'edt-bottom t)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1697 (edt-bind-function-key "KP5" 'edt-backup 'edt-top t)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1698 (edt-bind-function-key "KP6" 'edt-cut 'yank t)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1699 (edt-bind-function-key "KP7" 'edt-page 'execute-extended-command t)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1700 (edt-bind-function-key "KP8" 'edt-sect 'edt-fill-region t)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1701 (edt-bind-function-key "KP9" 'edt-append 'edt-replace t)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1702 (edt-bind-function-key "KP-" 'edt-delete-word 'edt-undelete-word t)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1703 (edt-bind-function-key "KP," 'edt-delete-character 'edt-undelete-character t)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1704 (edt-bind-function-key "KPP" 'edt-select 'edt-reset t)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1705 (edt-bind-function-key "KPE" 'other-window 'query-replace t)
57
f34b559dc980 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1706
10689
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1707 ;; VT200/VT300 Function Keys
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1708 ;; (F1 through F5, on the VT220, are not programmable, so we skip
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1709 ;; making default bindings to those keys.
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1710 (edt-bind-function-key "FIND" 'edt-find-next 'edt-find t)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1711 (edt-bind-function-key "INSERT" 'yank 'edt-key-not-assigned t)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1712 (edt-bind-function-key "REMOVE" 'edt-cut 'edt-copy t)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1713 (edt-bind-function-key "SELECT" 'edt-toggle-select 'edt-key-not-assigned t)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1714 (edt-bind-function-key "NEXT" 'edt-sect-forward 'edt-key-not-assigned t)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1715 (edt-bind-function-key "PREVIOUS" 'edt-sect-backward 'edt-key-not-assigned t)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1716 (edt-bind-function-key "F6" 'edt-key-not-assigned 'edt-key-not-assigned t)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1717 (edt-bind-function-key "F7" 'edt-copy-rectangle 'edt-key-not-assigned t)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1718 (edt-bind-function-key "F8"
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1719 'edt-cut-rectangle-overstrike-mode 'edt-paste-rectangle-overstrike-mode t)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1720 (edt-bind-function-key "F9"
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1721 'edt-cut-rectangle-insert-mode 'edt-paste-rectangle-insert-mode t)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1722 (edt-bind-function-key "F10" 'edt-cut-rectangle 'edt-paste-rectangle t)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1723 ;; Under X, the F11 key can be bound. If using a VT-200 or higher terminal,
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1724 ;; the default emacs terminal support causes the VT F11 key to seem as if it
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1725 ;; is an ESC key when in emacs.
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1726 (edt-bind-function-key "F11"
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1727 'edt-key-not-assigned 'edt-key-not-assigned t)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1728 (edt-bind-function-key "F12"
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1729 'edt-beginning-of-line 'delete-other-windows t) ;BS
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1730 (edt-bind-function-key "F13"
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1731 'edt-delete-to-beginning-of-word 'edt-key-not-assigned t) ;LF
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1732 (edt-bind-function-key "F14" 'edt-key-not-assigned 'edt-key-not-assigned t)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1733 (edt-bind-function-key "HELP" 'edt-electric-keypad-help 'edt-key-not-assigned t)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1734 (edt-bind-function-key "DO" 'execute-extended-command 'edt-key-not-assigned t)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1735 (edt-bind-function-key "F17" 'edt-key-not-assigned 'edt-key-not-assigned t)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1736 (edt-bind-function-key "F18" 'edt-key-not-assigned 'edt-key-not-assigned t)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1737 (edt-bind-function-key "F19" 'edt-key-not-assigned 'edt-key-not-assigned t)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1738 (edt-bind-function-key "F20" 'edt-key-not-assigned 'edt-key-not-assigned t)
57
f34b559dc980 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1739
10689
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1740 ;; Control key bindings: Regular and GOLD
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 ;; 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
1743 ;; 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
1744 ;; 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
1745 ;; 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
1746 ;; 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
1747 ;; 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
1748 ;; used, instead.
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1749 (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
1750 (progn
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1751 (edt-bind-standard-key "\C-a" 'edt-key-not-assigned t)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1752 (edt-bind-standard-key "\C-b" 'edt-key-not-assigned t)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1753 ;; Leave binding of C-c as original prefix key.
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1754 (edt-bind-standard-key "\C-d" 'edt-key-not-assigned t)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1755 (edt-bind-standard-key "\C-e" 'edt-key-not-assigned t)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1756 (edt-bind-standard-key "\C-f" 'edt-key-not-assigned t)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1757 ;; Leave binding of C-g to keyboard-quit
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1758 ; (edt-bind-standard-key "\C-g" 'keyboard-quit t)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1759 ;; Standard EDT binding of C-h. To invoke Emacs help, use
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1760 ;; GOLD-C-h instead.
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1761 (edt-bind-standard-key "\C-h" 'edt-beginning-of-line t)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1762 (edt-bind-standard-key "\C-i" 'edt-tab-insert t)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1763 (edt-bind-standard-key "\C-j" 'edt-delete-to-beginning-of-word t)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1764 (edt-bind-standard-key "\C-k" 'edt-define-key t)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1765 (edt-bind-gold-key "\C-k" 'edt-restore-key t)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1766 (edt-bind-standard-key "\C-l" 'edt-form-feed-insert t)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1767 ;; Leave binding of C-m to newline.
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1768 (edt-bind-standard-key "\C-n" 'edt-set-screen-width-80 t)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1769 (edt-bind-standard-key "\C-o" 'edt-key-not-assigned t)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1770 (edt-bind-standard-key "\C-p" 'edt-key-not-assigned t)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1771 (edt-bind-standard-key "\C-q" 'edt-key-not-assigned t)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1772 ;; 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
1773 ;; Leave binding of C-s to isearch-forward.
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1774 (edt-bind-standard-key "\C-t" 'edt-display-the-time t)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1775 (edt-bind-standard-key "\C-u" 'edt-delete-to-beginning-of-line t)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1776 (edt-bind-standard-key "\C-v" 'redraw-display t)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1777 (edt-bind-standard-key "\C-w" 'edt-set-screen-width-132 t)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1778 ;; Leave binding of C-x as original prefix key.
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1779 (edt-bind-standard-key "\C-y" 'edt-key-not-assigned t)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1780 ; (edt-bind-standard-key "\C-z" 'suspend-emacs t)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1781 )
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1782 )
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1783
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1784 ;; GOLD bindings for a few Control keys.
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1785 (edt-bind-gold-key "\C-g" 'keyboard-quit t); Just in case.
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1786 (edt-bind-gold-key "\C-h" 'help-for-help t)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1787 (edt-bind-gold-key "\C-\\" 'split-window-vertically t)
57
f34b559dc980 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1788
10689
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1789 ;; GOLD bindings for regular keys.
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1790 (edt-bind-gold-key "a" 'edt-key-not-assigned t)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1791 (edt-bind-gold-key "A" 'edt-key-not-assigned t)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1792 (edt-bind-gold-key "b" 'buffer-menu t)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1793 (edt-bind-gold-key "B" 'buffer-menu t)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1794 (edt-bind-gold-key "c" 'compile t)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1795 (edt-bind-gold-key "C" 'compile t)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1796 (edt-bind-gold-key "d" 'delete-window t)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1797 (edt-bind-gold-key "D" 'delete-window t)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1798 (edt-bind-gold-key "e" 'edt-exit t)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1799 (edt-bind-gold-key "E" 'edt-exit t)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1800 (edt-bind-gold-key "f" 'find-file t)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1801 (edt-bind-gold-key "F" 'find-file t)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1802 (edt-bind-gold-key "g" 'find-file-other-window t)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1803 (edt-bind-gold-key "G" 'find-file-other-window t)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1804 (edt-bind-gold-key "h" 'edt-electric-keypad-help t)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1805 (edt-bind-gold-key "H" 'edt-electric-keypad-help t)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1806 (edt-bind-gold-key "i" 'insert-file t)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1807 (edt-bind-gold-key "I" 'insert-file t)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1808 (edt-bind-gold-key "j" 'edt-key-not-assigned t)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1809 (edt-bind-gold-key "J" 'edt-key-not-assigned t)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1810 (edt-bind-gold-key "k" 'edt-toggle-capitalization-of-word t)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1811 (edt-bind-gold-key "K" 'edt-toggle-capitalization-of-word t)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1812 (edt-bind-gold-key "l" 'edt-lowercase t)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1813 (edt-bind-gold-key "L" 'edt-lowercase t)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1814 (edt-bind-gold-key "m" 'save-some-buffers t)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1815 (edt-bind-gold-key "M" 'save-some-buffers t)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1816 (edt-bind-gold-key "n" 'next-error t)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1817 (edt-bind-gold-key "N" 'next-error t)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1818 (edt-bind-gold-key "o" 'switch-to-buffer-other-window t)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1819 (edt-bind-gold-key "O" 'switch-to-buffer-other-window t)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1820 (edt-bind-gold-key "p" 'edt-key-not-assigned t)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1821 (edt-bind-gold-key "P" 'edt-key-not-assigned t)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1822 (edt-bind-gold-key "q" 'edt-quit t)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1823 (edt-bind-gold-key "Q" 'edt-quit t)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1824 (edt-bind-gold-key "r" 'revert-file t)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1825 (edt-bind-gold-key "R" 'revert-file t)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1826 (edt-bind-gold-key "s" 'save-buffer t)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1827 (edt-bind-gold-key "S" 'save-buffer t)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1828 (edt-bind-gold-key "t" 'edt-key-not-assigned t)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1829 (edt-bind-gold-key "T" 'edt-key-not-assigned t)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1830 (edt-bind-gold-key "u" 'edt-uppercase t)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1831 (edt-bind-gold-key "U" 'edt-uppercase t)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1832 (edt-bind-gold-key "v" 'find-file-other-window t)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1833 (edt-bind-gold-key "V" 'find-file-other-window t)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1834 (edt-bind-gold-key "w" 'write-file t)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1835 (edt-bind-gold-key "W" 'write-file t)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1836 (edt-bind-gold-key "x" 'edt-key-not-assigned t)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1837 (edt-bind-gold-key "X" 'edt-key-not-assigned t)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1838 (edt-bind-gold-key "y" 'edt-emulation-off t)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1839 (edt-bind-gold-key "Y" 'edt-emulation-off t)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1840 (edt-bind-gold-key "z" 'edt-switch-global-maps t)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1841 (edt-bind-gold-key "Z" 'edt-switch-global-maps t)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1842 (edt-bind-gold-key "1" 'delete-other-windows t)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1843 (edt-bind-gold-key "!" 'edt-key-not-assigned t)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1844 (edt-bind-gold-key "2" 'edt-split-window t)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1845 (edt-bind-gold-key "@" 'edt-key-not-assigned t)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1846 (edt-bind-gold-key "3" 'edt-key-not-assigned t)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1847 (edt-bind-gold-key "#" 'edt-key-not-assigned t)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1848 (edt-bind-gold-key "4" 'edt-key-not-assigned t)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1849 (edt-bind-gold-key "$" 'edt-key-not-assigned t)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1850 (edt-bind-gold-key "5" 'edt-key-not-assigned t)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1851 (edt-bind-gold-key "%" 'edt-goto-percentage t)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1852 (edt-bind-gold-key "6" 'edt-key-not-assigned t)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1853 (edt-bind-gold-key "^" 'edt-key-not-assigned t)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1854 (edt-bind-gold-key "7" 'edt-key-not-assigned t)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1855 (edt-bind-gold-key "&" 'edt-key-not-assigned t)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1856 (edt-bind-gold-key "8" 'edt-key-not-assigned t)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1857 (edt-bind-gold-key "*" 'edt-key-not-assigned t)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1858 (edt-bind-gold-key "9" 'edt-key-not-assigned t)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1859 (edt-bind-gold-key "(" 'edt-key-not-assigned t)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1860 (edt-bind-gold-key "0" 'edt-key-not-assigned t)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1861 (edt-bind-gold-key ")" 'edt-key-not-assigned t)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1862 (edt-bind-gold-key " " 'undo t)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1863 (edt-bind-gold-key "," 'edt-key-not-assigned t)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1864 (edt-bind-gold-key "<" 'edt-key-not-assigned t)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1865 (edt-bind-gold-key "." 'edt-key-not-assigned t)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1866 (edt-bind-gold-key ">" 'edt-key-not-assigned t)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1867 (edt-bind-gold-key "/" 'edt-key-not-assigned t)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1868 (edt-bind-gold-key "?" 'edt-key-not-assigned t)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1869 (edt-bind-gold-key "\\" 'edt-key-not-assigned t)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1870 (edt-bind-gold-key "|" 'edt-key-not-assigned t)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1871 (edt-bind-gold-key ";" 'edt-key-not-assigned t)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1872 (edt-bind-gold-key ":" 'edt-key-not-assigned t)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1873 (edt-bind-gold-key "'" 'edt-key-not-assigned t)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1874 (edt-bind-gold-key "\"" 'edt-key-not-assigned t)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1875 (edt-bind-gold-key "-" 'edt-key-not-assigned t)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1876 (edt-bind-gold-key "_" 'edt-key-not-assigned t)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1877 (edt-bind-gold-key "=" 'goto-line t)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1878 (edt-bind-gold-key "+" 'edt-key-not-assigned t)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1879 (edt-bind-gold-key "[" 'edt-key-not-assigned t)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1880 (edt-bind-gold-key "{" 'edt-key-not-assigned t)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1881 (edt-bind-gold-key "]" 'edt-key-not-assigned t)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1882 (edt-bind-gold-key "}" 'edt-key-not-assigned t)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1883 (edt-bind-gold-key "`" 'what-line t)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1884 (edt-bind-gold-key "~" 'edt-key-not-assigned t)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1885 )
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1886
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1887 ;;;
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1888 ;;; DEFAULT EDT KEYPAD HELP
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1889 ;;;
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1890
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1891 ;;;
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1892 ;;; 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
1893 ;;; 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
1894 ;;; 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
1895 ;;; commands or are native Emacs commands.
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1896 ;;;
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1897
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1898 (defun edt-keypad-help ()
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1899 "
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1900 DEFAULT EDT Keypad Active
57
f34b559dc980 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1901
10689
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1902 F7: Copy Rectangle +----------+----------+----------+----------+
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1903 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
1904 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
1905 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
1906 G-F9: Paste Rect Insert +----------+----------+----------+----------+
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1907 F10: Cut Rectangle
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1908 G-F10: Paste Rectangle
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1909 F11: ESC
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1910 F12: Begining of Line +----------+----------+----------+----------+
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1911 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
1912 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
1913 HELP: Keypad Help |Mark Wisel|Desc Funct| FIND | UND L |
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1914 DO: Execute extended command +----------+----------+----------+----------+
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1915 | PAGE | SECT | APPEND | DEL W |
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1916 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
1917 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
1918 C-h: Beginning of Line +----------+----------+----------+----------+
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1919 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
1920 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
1921 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
1922 C-k: Define Key +----------+----------+----------+----------+
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1923 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
1924 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
1925 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
1926 C-r: Isearch Backward +---------------------+----------+ (ENTER) |
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1927 C-s: Isearch Forward | LINE | SELECT | !
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1928 C-t: Display the Time | (0) | (.) | Query |
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1929 C-u: Delete to Begin of Line | Open Line | RESET | Replace |
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1930 C-v: Redraw Display +---------------------+----------+----------+
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1931 C-w: Set Screen Width 132
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1932 C-z: Suspend Emacs +----------+----------+----------+
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1933 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
1934 | (FIND) | (INSERT) | (REMOVE) |
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1935 G-b: Buffer Menu | FIND | | COPY |
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1936 G-c: Compile +----------+----------+----------+
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1937 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
1938 G-e: Exit | (SELECT) |(PREVIOUS)| (NEXT) |
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1939 G-f: Find File | | | |
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1940 G-g: Find File Other Window +----------+----------+----------+
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1941 G-h: Keypad Help
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1942 G-i: Insert File
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1943 G-k: Toggle Capitalization Word
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1944 G-l: Downcase Region
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1945 G-m: Save Some Buffers
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1946 G-n: Next Error
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1947 G-o: Switch to Next Window
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1948 G-q: Quit
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1949 G-r: Revert File
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1950 G-s: Save Buffer
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1951 G-u: Upcase Region
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1952 G-v: Find File Other Window
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1953 G-w: Write file
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1954 G-y: EDT Emulation OFF
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1955 G-z: Switch to User EDT Key Bindings
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1956 G-1: Delete Other Windows
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1957 G-2: Split Window
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1958 G-%: Go to Percentage
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1959 G- : Undo (GOLD Spacebar)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1960 G-=: Go to Line
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1961 G-`: What line"
57
f34b559dc980 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1962
10689
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1963 (interactive)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1964 (describe-function 'edt-keypad-help))
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1965
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1966 (defun edt-electric-helpify (fun)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1967 (let ((name "*Help*"))
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1968 (if (save-window-excursion
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1969 (let* ((p (symbol-function 'print-help-return-message))
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1970 (b (get-buffer name))
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1971 (m (buffer-modified-p b)))
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1972 (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
1973 (setq b nil))
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1974 (unwind-protect
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1975 (progn
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1976 (message "%s..." (capitalize (symbol-name fun)))
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1977 (and b
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1978 (save-excursion
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1979 (set-buffer b)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1980 (set-buffer-modified-p t)))
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1981 (fset 'print-help-return-message 'ignore)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1982 (call-interactively fun)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1983 (and (get-buffer name)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1984 (get-buffer-window (get-buffer name))
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1985 (or (not b)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1986 (not (eq b (get-buffer name)))
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1987 (not (buffer-modified-p b)))))
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1988 (fset 'print-help-return-message p)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1989 (and b (buffer-name b)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1990 (save-excursion
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1991 (set-buffer b)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1992 (set-buffer-modified-p m))))))
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1993 (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
1994
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1995 (defun edt-electric-keypad-help ()
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1996 (interactive)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1997 (edt-electric-helpify 'edt-keypad-help))
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1998
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
1999 (defun edt-electric-user-keypad-help ()
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
2000 (interactive)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
2001 (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
2002
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
2003 ;;;
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
2004 ;;; Generic EDT emulation screen width commands.
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
2005 ;;;
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
2006 ;; If modification of terminal attributes is desired when invoking these
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
2007 ;; commands, then the corresponding terminal specific file will contain a
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
2008 ;; re-definition of these commands.
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
2009
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
2010 (defun edt-set-screen-width-80 ()
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
2011 "Set screen width to 80 columns."
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
2012 (interactive)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
2013 (set-screen-width 80)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
2014 (message "Screen width 80"))
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
2015
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
2016 (defun edt-set-screen-width-132 ()
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
2017 "Set screen width to 132 columns."
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
2018 (interactive)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
2019 (set-screen-width 132)
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
2020 (message "Screen width 132"))
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
2021
5adde53bae4b New enhanced version from <kgallagh@spd.dsccc.com>.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
2022 (provide 'edt)
660
08eb386dd0f3 *** empty log message ***
Eric S. Raymond <esr@snark.thyrsus.com>
parents: 258
diff changeset
2023
08eb386dd0f3 *** empty log message ***
Eric S. Raymond <esr@snark.thyrsus.com>
parents: 258
diff changeset
2024 ;;; edt.el ends here