diff options
| author | Karoly Lorentey | 2004-11-22 11:06:39 +0000 |
|---|---|---|
| committer | Karoly Lorentey | 2004-11-22 11:06:39 +0000 |
| commit | 71925ac335f7c3b1fd97fba98cb5b9b4f03a6e23 (patch) | |
| tree | 63f61c3bebc83c114c16f31dd4ac2b9c0fe17c7d /src/keymap.c | |
| parent | e417405015c93c81641f5c4a33ec898b5c353772 (diff) | |
| parent | 83aebfe62204109f19ef7dcca5429c1ddad21c57 (diff) | |
| download | emacs-71925ac335f7c3b1fd97fba98cb5b9b4f03a6e23.tar.gz emacs-71925ac335f7c3b1fd97fba98cb5b9b4f03a6e23.zip | |
Merged in changes from CVS trunk.
Patches applied:
* miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-694
Update from CVS
* miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-695
Update from CVS
* miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-696
Merge from gnus--rel--5.10
* miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-697
Update from CVS
* miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-698
Update from CVS
* miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-699
Update from CVS
* miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-700
Update from CVS
* miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-701
Update from CVS
* miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-702
Update from CVS
* miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-703
Merge from gnus--rel--5.10
* miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-704
Update from CVS
* miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-705
Update from CVS
* miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-706
Update from CVS
* miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-707
Update from CVS
* miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-708
Update from CVS
* miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-709
Update from CVS: src/indent.c (Fvertical_motion): Fix last change.
* miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-710
Update from CVS
* miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-711
Update from CVS
* miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-712
Update from CVS
* miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-713
Update from CVS
* miles@gnu.org--gnu-2004/gnus--rel--5.10--patch-72
Update from CVS
* miles@gnu.org--gnu-2004/gnus--rel--5.10--patch-73
Merge from emacs--cvs-trunk--0
git-archimport-id: lorentey@elte.hu--2004/emacs--multi-tty--0--patch-268
Diffstat (limited to 'src/keymap.c')
| -rw-r--r-- | src/keymap.c | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/src/keymap.c b/src/keymap.c index 891e41f0b58..a5e5fbd3f93 100644 --- a/src/keymap.c +++ b/src/keymap.c | |||
| @@ -729,19 +729,23 @@ map_keymap_call (key, val, fun, dummy) | |||
| 729 | call2 (fun, key, val); | 729 | call2 (fun, key, val); |
| 730 | } | 730 | } |
| 731 | 731 | ||
| 732 | DEFUN ("map-keymap", Fmap_keymap, Smap_keymap, 2, 2, 0, | 732 | DEFUN ("map-keymap", Fmap_keymap, Smap_keymap, 2, 3, 0, |
| 733 | doc: /* Call FUNCTION for every binding in KEYMAP. | 733 | doc: /* Call FUNCTION for every binding in KEYMAP. |
| 734 | FUNCTION is called with two arguments: the event and its binding. | 734 | FUNCTION is called with two arguments: the event and its binding. |
| 735 | If KEYMAP has a parent, the parent's bindings are included as well. | 735 | If KEYMAP has a parent, the parent's bindings are included as well. |
| 736 | This works recursively: if the parent has itself a parent, then the | 736 | This works recursively: if the parent has itself a parent, then the |
| 737 | grandparent's bindings are also included and so on. */) | 737 | grandparent's bindings are also included and so on. |
| 738 | (function, keymap) | 738 | usage: (map-keymap FUNCTION KEYMAP) */) |
| 739 | Lisp_Object function, keymap; | 739 | (function, keymap, sort_first) |
| 740 | Lisp_Object function, keymap, sort_first; | ||
| 740 | { | 741 | { |
| 741 | if (INTEGERP (function)) | 742 | if (INTEGERP (function)) |
| 742 | /* We have to stop integers early since map_keymap gives them special | 743 | /* We have to stop integers early since map_keymap gives them special |
| 743 | significance. */ | 744 | significance. */ |
| 744 | Fsignal (Qinvalid_function, Fcons (function, Qnil)); | 745 | Fsignal (Qinvalid_function, Fcons (function, Qnil)); |
| 746 | if (! NILP (sort_first)) | ||
| 747 | return call3 (intern ("map-keymap-internal"), function, keymap, Qt); | ||
| 748 | |||
| 745 | map_keymap (keymap, map_keymap_call, function, NULL, 1); | 749 | map_keymap (keymap, map_keymap_call, function, NULL, 1); |
| 746 | return Qnil; | 750 | return Qnil; |
| 747 | } | 751 | } |