# HG changeset patch # User Stefan Monnier # Date 1255964604 0 # Node ID 6a84af00a48096b3fd41a7deff002d1b126630ab # Parent a5942def89eb604c6e3651dfcacd9ee03f83d067 (function-key-map): Map C-@ to C-SPC if C-@ is unbound. diff -r a5942def89eb -r 6a84af00a480 lisp/ChangeLog --- 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 + * 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'. diff -r a5942def89eb -r 6a84af00a480 lisp/bindings.el --- 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)