comparison src/keymap.c @ 83189:3b9f4bbca1bf

Merged in changes from CVS trunk. Patches applied: * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-485 Update from CVS * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-486 Update from CVS * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-487 Tweak permissions * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-488 Update from CVS git-archimport-id: lorentey@elte.hu--2004/emacs--multi-tty--0--patch-229
author Karoly Lorentey <lorentey@elte.hu>
date Wed, 11 Aug 2004 12:30:04 +0000
parents 1425b1df1da8 a8be0bc345d2
children e86fc76a45e4
comparison
equal deleted inserted replaced
83188:1425b1df1da8 83189:3b9f4bbca1bf
129 129
130 /* Keymap object support - constructors and predicates. */ 130 /* Keymap object support - constructors and predicates. */
131 131
132 DEFUN ("make-keymap", Fmake_keymap, Smake_keymap, 0, 1, 0, 132 DEFUN ("make-keymap", Fmake_keymap, Smake_keymap, 0, 1, 0,
133 doc: /* Construct and return a new keymap, of the form (keymap CHARTABLE . ALIST). 133 doc: /* Construct and return a new keymap, of the form (keymap CHARTABLE . ALIST).
134 CHARTABLE is a char-table that holds the bindings for the ASCII 134 CHARTABLE is a char-table that holds the bindings for all characters
135 characters. ALIST is an assoc-list which holds bindings for function keys, 135 without modifiers. All entries in it are initially nil, meaning
136 mouse events, and any other things that appear in the input stream. 136 "command undefined". ALIST is an assoc-list which holds bindings for
137 All entries in it are initially nil, meaning "command undefined". 137 function keys, mouse events, and any other things that appear in the
138 input stream. Initially, ALIST is nil.
138 139
139 The optional arg STRING supplies a menu name for the keymap 140 The optional arg STRING supplies a menu name for the keymap
140 in case you use it as a menu with `x-popup-menu'. */) 141 in case you use it as a menu with `x-popup-menu'. */)
141 (string) 142 (string)
142 Lisp_Object string; 143 Lisp_Object string;
727 call2 (fun, key, val); 728 call2 (fun, key, val);
728 } 729 }
729 730
730 DEFUN ("map-keymap", Fmap_keymap, Smap_keymap, 2, 2, 0, 731 DEFUN ("map-keymap", Fmap_keymap, Smap_keymap, 2, 2, 0,
731 doc: /* Call FUNCTION for every binding in KEYMAP. 732 doc: /* Call FUNCTION for every binding in KEYMAP.
732 FUNCTION is called with two arguments: the event and its binding. */) 733 FUNCTION is called with two arguments: the event and its binding.
734 If KEYMAP has a parent, the parent's bindings are included as well.
735 This works recursively: if the parent has itself a parent, then the
736 grandparent's bindings are also included and so on. */)
733 (function, keymap) 737 (function, keymap)
734 Lisp_Object function, keymap; 738 Lisp_Object function, keymap;
735 { 739 {
736 if (INTEGERP (function)) 740 if (INTEGERP (function))
737 /* We have to stop integers early since map_keymap gives them special 741 /* We have to stop integers early since map_keymap gives them special
2571 return found; 2575 return found;
2572 } 2576 }
2573 2577
2574 DEFUN ("where-is-internal", Fwhere_is_internal, Swhere_is_internal, 1, 5, 0, 2578 DEFUN ("where-is-internal", Fwhere_is_internal, Swhere_is_internal, 1, 5, 0,
2575 doc: /* Return list of keys that invoke DEFINITION. 2579 doc: /* Return list of keys that invoke DEFINITION.
2576 If KEYMAP is non-nil, search only KEYMAP and the global keymap. 2580 If KEYMAP is a keymap, search only KEYMAP and the global keymap.
2577 If KEYMAP is nil, search all the currently active keymaps. 2581 If KEYMAP is nil, search all the currently active keymaps.
2578 If KEYMAP is a list of keymaps, search only those keymaps. 2582 If KEYMAP is a list of keymaps, search only those keymaps.
2579 2583
2580 If optional 3rd arg FIRSTONLY is non-nil, return the first key sequence found, 2584 If optional 3rd arg FIRSTONLY is non-nil, return the first key sequence found,
2581 rather than a list of all possible key sequences. 2585 rather than a list of all possible key sequences.
2582 If FIRSTONLY is the symbol `non-ascii', return the first binding found, 2586 If FIRSTONLY is the symbol `non-ascii', return the first binding found,
2583 no matter what it is. 2587 no matter what it is.
2584 If FIRSTONLY has another non-nil value, prefer sequences of ASCII characters, 2588 If FIRSTONLY has another non-nil value, prefer sequences of ASCII characters
2585 and entirely reject menu bindings. 2589 \(or their meta variants) and entirely reject menu bindings.
2586 2590
2587 If optional 4th arg NOINDIRECT is non-nil, don't follow indirections 2591 If optional 4th arg NOINDIRECT is non-nil, don't follow indirections
2588 to other keymaps or slots. This makes it possible to search for an 2592 to other keymaps or slots. This makes it possible to search for an
2589 indirect definition itself. 2593 indirect definition itself.
2590 2594