changeset 105675:6a84af00a480

(function-key-map): Map C-@ to C-SPC if C-@ is unbound.
author Stefan Monnier <monnier@iro.umontreal.ca>
date Mon, 19 Oct 2009 15:03:24 +0000
parents a5942def89eb
children bb413968898a
files lisp/ChangeLog lisp/bindings.el
diffstat 2 files changed, 10 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/lisp/ChangeLog	Mon Oct 19 13:47:10 2009 +0000
+++ b/lisp/ChangeLog	Mon Oct 19 15:03:24 2009 +0000
@@ -1,5 +1,7 @@
 2009-10-19  Stefan Monnier  <monnier@iro.umontreal.ca>
 
+	* bindings.el (function-key-map): Map C-@ to C-SPC if C-@ is unbound.
+
 	* info.el (Info-complete-menu-item): Handle `boundaries' explicitly.
 	(Info-menu): Remove unused vars `last' and `completions'.
 	(Info-index-nodes): Remove unused var `node'.
--- a/lisp/bindings.el	Mon Oct 19 13:47:10 2009 +0000
+++ b/lisp/bindings.el	Mon Oct 19 15:03:24 2009 +0000
@@ -970,6 +970,9 @@
 
 ;; X11R6 distinguishes these keys from the non-kp keys.
 ;; Make them behave like the non-kp keys unless otherwise bound.
+;; FIXME: rather than list such mappings for every modifier-combination,
+;;   we should come up with a way to do it generically, something like
+;;   (define-key function-key-map [*-kp-home] [*-home])
 (define-key function-key-map [kp-home] [home])
 (define-key function-key-map [kp-left] [left])
 (define-key function-key-map [kp-up] [up])
@@ -1020,6 +1023,11 @@
 (define-key function-key-map [C-S-kp-8] [C-S-up])
 (define-key function-key-map [C-S-kp-9] [C-S-prior])
 
+;; Hitting C-SPC on text terminals, usually sends the ascii code 0 (aka C-@),
+;; so we can't distinguish those two keys, but usually we consider C-SPC
+;; (rather than C-@) as the "canonical" binding.
+(define-key function-key-map [?\C-@] [?\C-\s])
+
 (define-key global-map [mouse-movement] 'ignore)
 
 (define-key global-map "\C-t" 'transpose-chars)