# HG changeset patch # User stephent # Date 1082356845 0 # Node ID 71477bc21fe8bfbe4da96a55962c40d64f1203ad # Parent ca02e61c982938e06f5eb580cbf1bff7e5f29084 [xemacs-hg @ 2004-04-19 06:40:42 by stephent] keymap docstrings <87fzb0xywc.fsf@tleepslib.sk.tsukuba.ac.jp> finder-inf mode fix <87brloxyk2.fsf@tleepslib.sk.tsukuba.ac.jp> diff -r ca02e61c9829 -r 71477bc21fe8 src/ChangeLog --- a/src/ChangeLog Mon Apr 19 06:22:34 2004 +0000 +++ b/src/ChangeLog Mon Apr 19 06:40:45 2004 +0000 @@ -1,3 +1,13 @@ +2004-04-18 Stephen J. Turnbull + + * Makefile.in.in ($(LISP)/finder-inf.el): Force removal. + +2004-02-22 Stephen J. Turnbull + + * console.c (function_key_map): Reference `key-binding'. + + * keymap.c (Vkey_translation_map): Improve docstring. + 2004-04-18 Olivier Galibert * emacs.c (main_1): Fix stupid logic error in -si handling. diff -r ca02e61c9829 -r 71477bc21fe8 src/Makefile.in.in --- a/src/Makefile.in.in Mon Apr 19 06:22:34 2004 +0000 +++ b/src/Makefile.in.in Mon Apr 19 06:40:45 2004 +0000 @@ -625,6 +625,7 @@ $(LISP)/finder-inf.el: update-elc-2 @echo "Building finder database ..." + $(RM) $(LISP)/finder-inf.el $(XEMACS_BATCH) -eval "(setq finder-compile-keywords-quiet t)" \ -l finder -f finder-compile-keywords @echo "Building finder database ...(done)" diff -r ca02e61c9829 -r 71477bc21fe8 src/console.c --- a/src/console.c Mon Apr 19 06:22:34 2004 +0000 +++ b/src/console.c Mon Apr 19 06:40:45 2004 +0000 @@ -1479,7 +1479,7 @@ keymaps have no binding for the current key sequence but `function-key-map' binds a suffix of the sequence to a vector or string, `read-key-sequence' replaces the matching suffix with its binding, and -continues with the new sequence. +continues with the new sequence. See `key-binding'. The events that come from bindings in `function-key-map' are not themselves looked up in `function-key-map'. diff -r ca02e61c9829 -r 71477bc21fe8 src/keymap.c --- a/src/keymap.c Mon Apr 19 06:22:34 2004 +0000 +++ b/src/keymap.c Mon Apr 19 06:40:45 2004 +0000 @@ -4423,8 +4423,28 @@ DEFVAR_LISP ("key-translation-map", &Vkey_translation_map /* Keymap of key translations that can override keymaps. -This keymap works like `function-key-map', but comes after that, + +This keymap works like `function-key-map', but is searched before it, and applies even for keys that have ordinary bindings. + +The `read-key-sequence' function replaces any subsequence bound by +`key-translation-map' with its binding. More precisely, when the active +keymaps have no binding for the current key sequence but +`key-translation-map' binds a suffix of the sequence to a vector or string, +`read-key-sequence' replaces the matching suffix with its binding, and +continues with the new sequence. See `key-binding' for details. + +The events that come from bindings in `key-translation-map' are not +themselves looked up in `key-translation-map'. + +#### FIXME: stolen from `function-key-map'; need better example. +#### I guess you could implement a Dvorak keyboard with this? +For example, suppose `key-translation-map' binds `ESC O P' to [f1]. +Typing `ESC O P' to `read-key-sequence' would return +\[#]. Typing `C-x ESC O P' would return +\[# #]. If [f1] +were a prefix key, typing `ESC O P x' would return +\[# #]. */ ); Vkey_translation_map = Qnil;