summaryrefslogtreecommitdiff
path: root/lisp/bindings.el
diff options
context:
space:
mode:
authorJuri Linkov <juri@jurta.org>2014-06-14 12:50:13 +0300
committerJuri Linkov <juri@jurta.org>2014-06-14 12:50:13 +0300
commit5be5f2854a9105e65679ef6af87f4ebb490e9961 (patch)
tree24a199f7aac15546266c8e5e83eae74101d55f3b /lisp/bindings.el
parent78275cd0ed1816e67f0fb331b4ebca4aac5d1cc7 (diff)
downloademacs-5be5f2854a9105e65679ef6af87f4ebb490e9961.tar.gz
* lisp/bindings.el: Put `ascii-character' property on keypad keys mapped to characters.
Fixes: debbugs:17759
Diffstat (limited to 'lisp/bindings.el')
-rw-r--r--lisp/bindings.el12
1 files changed, 8 insertions, 4 deletions
diff --git a/lisp/bindings.el b/lisp/bindings.el
index 7093b8e662f..59aa3dfb3d3 100644
--- a/lisp/bindings.el
+++ b/lisp/bindings.el
@@ -1075,10 +1075,14 @@ if `inhibit-field-text-motion' is non-nil."
(kp-5 ?5) (kp-6 ?6) (kp-7 ?7) (kp-8 ?8) (kp-9 ?9)
(kp-add ?+) (kp-subtract ?-) (kp-multiply ?*) (kp-divide ?/))))
(dolist (pair keys)
- (dolist (mod modifiers)
- (define-key function-key-map
- (vector (append mod (list (nth 0 pair))))
- (vector (append mod (list (nth 1 pair))))))))
+ (let ((keypad (nth 0 pair))
+ (normal (nth 1 pair)))
+ (when (characterp normal)
+ (put keypad 'ascii-character normal))
+ (dolist (mod modifiers)
+ (define-key function-key-map
+ (vector (append mod (list keypad)))
+ (vector (append mod (list normal))))))))
(define-key function-key-map [backspace] [?\C-?])
(define-key function-key-map [delete] [?\C-?])