aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--lisp/ChangeLog5
-rw-r--r--lisp/emulation/edt-mapper.el41
2 files changed, 46 insertions, 0 deletions
diff --git a/lisp/ChangeLog b/lisp/ChangeLog
index 30564b9b790..f6b836d5bed 100644
--- a/lisp/ChangeLog
+++ b/lisp/ChangeLog
@@ -1,3 +1,8 @@
12010-12-15 Kevin Gallagher <Kevin.Gallagher@boeing.com>
2
3 * emulation/edt-mapper.el: Override mapping of function keys so
4 that the later call to read-key-sequence works.
5
12010-12-13 Eli Zaretskii <eliz@gnu.org> 62010-12-13 Eli Zaretskii <eliz@gnu.org>
2 7
3 * mail/smtpmail.el (smtpmail-send-it): Write queued mail body with 8 * mail/smtpmail.el (smtpmail-send-it): Write queued mail body with
diff --git a/lisp/emulation/edt-mapper.el b/lisp/emulation/edt-mapper.el
index e5c0ceecf1c..a3f0e18bb5e 100644
--- a/lisp/emulation/edt-mapper.el
+++ b/lisp/emulation/edt-mapper.el
@@ -141,6 +141,47 @@
141 (setq edt-term (getenv "TERM"))) 141 (setq edt-term (getenv "TERM")))
142 142
143;;; 143;;;
144;;; Implements a workaround for a feature that was added to simple.el.
145;;;
146;;; Many function keys have no Emacs functions assigned to them by
147;;; default. A subset of these are typically assigned functions in the
148;;; EDT emulation. This includes all the keypad keys and a some others
149;;; like Delete.
150;;;
151;;; Logic in simple.el maps some of these unassigned function keys to
152;;; ordinary typing keys. Where this is the case, a call to
153;;; read-key-sequence, below, does not return the name of the function
154;;; key pressd by the user but, instead, it returns the name of the
155;;; key to which it has been mapped. It needs to know the name of the
156;;; key pressed by the user. As a workaround, we assign a function to
157;;; each of the unassigned function keys of interest, here. These
158;;; assignments override the mapping to other keys and are only
159;;; temporary since, when edt-mapper is finished executing, it causes
160;;; Emacs to exit.
161;;;
162
163(mapc
164 (lambda (function-key)
165 (if (not (lookup-key (current-global-map) function-key))
166 (define-key (current-global-map) function-key 'forward-char)))
167 '([kp-0] [kp-1] [kp-2] [kp-3] [kp-4]
168 [kp-5] [kp-6] [kp-7] [kp-8] [kp-9]
169 [kp-
170 [kp-enter]
171 [kp-multiply]
172 [kp-add]
173 [kp-separator]
174 [kp-subtract]
175 [kp-decimal]
176 [kp-divide]
177 [kp-equal]
178 [backspace]
179 [delete]
180 [tab]
181 [linefeed]
182 [clear]))
183
184;;;
144;;; Make sure the window is big enough to display the instructions, 185;;; Make sure the window is big enough to display the instructions,
145;;; except where window cannot be re-sized. 186;;; except where window cannot be re-sized.
146;;; 187;;;