(Fmap_keymap): New arg SORT-FIRST. Use

map-keymap-internal to implement that.
This commit is contained in:
Richard M. Stallman 2004-11-16 17:00:59 +00:00
parent 6df7142943
commit 0ea6ae0a0c

View file

@ -728,19 +728,23 @@ map_keymap_call (key, val, fun, dummy)
call2 (fun, key, val);
}
DEFUN ("map-keymap", Fmap_keymap, Smap_keymap, 2, 2, 0,
DEFUN ("map-keymap", Fmap_keymap, Smap_keymap, 2, 3, 0,
doc: /* Call FUNCTION for every binding in KEYMAP.
FUNCTION is called with two arguments: the event and its binding.
If KEYMAP has a parent, the parent's bindings are included as well.
This works recursively: if the parent has itself a parent, then the
grandparent's bindings are also included and so on. */)
(function, keymap)
Lisp_Object function, keymap;
grandparent's bindings are also included and so on.
usage: (map-keymap FUNCTION KEYMAP) */)
(function, keymap, sort_first)
Lisp_Object function, keymap, sort_first;
{
if (INTEGERP (function))
/* We have to stop integers early since map_keymap gives them special
significance. */
Fsignal (Qinvalid_function, Fcons (function, Qnil));
if (! NILP (sort_first))
return call3 (intern ("map-keymap-internal"), function, keymap, Qt);
map_keymap (keymap, map_keymap_call, function, NULL, 1);
return Qnil;
}