39691
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1 /* Functions to manipulate keymaps.
|
68651
|
2 Copyright (C) 2001, 2002, 2003, 2004, 2005,
|
100951
|
3 2006, 2007, 2008, 2009 Free Software Foundation, Inc.
|
39691
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
4
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
5 This file is part of GNU Emacs.
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
6
|
94994
|
7 GNU Emacs is free software: you can redistribute it and/or modify
|
39691
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
8 it under the terms of the GNU General Public License as published by
|
94994
|
9 the Free Software Foundation, either version 3 of the License, or
|
|
10 (at your option) any later version.
|
39691
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
11
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
12 GNU Emacs is distributed in the hope that it will be useful,
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
13 but WITHOUT ANY WARRANTY; without even the implied warranty of
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
15 GNU General Public License for more details.
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
16
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
17 You should have received a copy of the GNU General Public License
|
94994
|
18 along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
|
39691
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
19
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
20 #ifndef KEYMAP_H
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
21 #define KEYMAP_H
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
22
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
23 #define KEYMAPP(m) (!NILP (get_keymap (m, 0, 0)))
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
24 extern Lisp_Object Qkeymap, Qmenu_bar;
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
25 extern Lisp_Object current_global_map;
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
26 EXFUN (Fmake_sparse_keymap, 1);
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
27 EXFUN (Fkeymap_prompt, 1);
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
28 EXFUN (Fdefine_key, 3);
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
29 EXFUN (Flookup_key, 3);
|
76885
|
30 EXFUN (Fcommand_remapping, 3);
|
72889
|
31 EXFUN (Fkey_binding, 4);
|
54926
|
32 EXFUN (Fkey_description, 2);
|
39691
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
33 EXFUN (Fsingle_key_description, 2);
|
43153
|
34 EXFUN (Fwhere_is_internal, 5);
|
81609
|
35 EXFUN (Fcurrent_active_maps, 2);
|
39691
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
36 extern Lisp_Object access_keymap P_ ((Lisp_Object, Lisp_Object, int, int, int));
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
37 extern Lisp_Object get_keyelt P_ ((Lisp_Object, int));
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
38 extern Lisp_Object get_keymap P_ ((Lisp_Object, int, int));
|
83420
521d3f18b3d1
Reimplement terminal parameters in C; clean up term.c, create terminal.c.
Karoly Lorentey <lorentey@elte.hu>
diff
changeset
|
39 EXFUN (Fset_keymap_parent, 2);
|
39691
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
40 extern void describe_map_tree P_ ((Lisp_Object, int, Lisp_Object, Lisp_Object,
|
60068
|
41 char *, int, int, int, int));
|
39691
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
42 extern int current_minor_maps P_ ((Lisp_Object **, Lisp_Object **));
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
43 extern void initial_define_key P_ ((Lisp_Object, int, char *));
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
44 extern void initial_define_lispy_key P_ ((Lisp_Object, char *, char *));
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
45 extern void syms_of_keymap P_ ((void));
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
46 extern void keys_of_keymap P_ ((void));
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
47
|
50797
|
48 typedef void (*map_keymap_function_t)
|
81791
|
49 P_ ((Lisp_Object key, Lisp_Object val, Lisp_Object args, void* data));
|
50797
|
50 extern void map_keymap P_ ((Lisp_Object map, map_keymap_function_t fun, Lisp_Object largs, void* cargs, int autoload));
|
94005
|
51 extern void map_keymap_canonical (Lisp_Object map,
|
|
52 map_keymap_function_t fun,
|
|
53 Lisp_Object args, void *data);
|
39691
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
54
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
55 #endif
|
52401
|
56
|
|
57 /* arch-tag: 7400d5a1-ef0b-43d0-b366-f4d678bf3ba2
|
|
58 (do not change this comment) */
|