Mercurial > emacs
diff src/keymap.c @ 58271:8b3b0ccbe80b
(Fmap_keymap): New arg SORT-FIRST. Use
map-keymap-internal to implement that.
| author | Richard M. Stallman <rms@gnu.org> |
|---|---|
| date | Tue, 16 Nov 2004 17:00:59 +0000 |
| parents | 6f1bde62e20e |
| children | 277e7a013eb6 2a3f27a45698 b637c617432f |
line wrap: on
line diff
--- a/src/keymap.c Tue Nov 16 16:58:16 2004 +0000 +++ b/src/keymap.c Tue Nov 16 17:00:59 2004 +0000 @@ -728,19 +728,23 @@ 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; }
