Mercurial > emacs
annotate src/keymap.h @ 111193:e9767f86681c
Fix bug #7281.
cmds.c (internal_self_insert): Don't insert if argument N is zero.
author | Eli Zaretskii <eliz@gnu.org> |
---|---|
date | Tue, 26 Oct 2010 20:03:34 +0200 |
parents | 64732fa6188a |
children | ac49e05bfcf2 |
rev | line source |
---|---|
39691
27fe3d5767ed
New file. Extracted from lisp.h.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1 /* Functions to manipulate keymaps. |
68651
3bd95f4f2941
Update years in copyright notice; nfc.
Thien-Thi Nguyen <ttn@gnuvola.org>
parents:
64770
diff
changeset
|
2 Copyright (C) 2001, 2002, 2003, 2004, 2005, |
106815 | 3 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc. |
39691
27fe3d5767ed
New file. Extracted from lisp.h.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
4 |
27fe3d5767ed
New file. Extracted from lisp.h.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
5 This file is part of GNU Emacs. |
27fe3d5767ed
New file. Extracted from lisp.h.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
6 |
94994
29adfc9354e7
Switch to recommended form of GPLv3 permissions notice.
Glenn Morris <rgm@gnu.org>
parents:
94005
diff
changeset
|
7 GNU Emacs is free software: you can redistribute it and/or modify |
39691
27fe3d5767ed
New file. Extracted from lisp.h.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
8 it under the terms of the GNU General Public License as published by |
94994
29adfc9354e7
Switch to recommended form of GPLv3 permissions notice.
Glenn Morris <rgm@gnu.org>
parents:
94005
diff
changeset
|
9 the Free Software Foundation, either version 3 of the License, or |
29adfc9354e7
Switch to recommended form of GPLv3 permissions notice.
Glenn Morris <rgm@gnu.org>
parents:
94005
diff
changeset
|
10 (at your option) any later version. |
39691
27fe3d5767ed
New file. Extracted from lisp.h.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
11 |
27fe3d5767ed
New file. Extracted from lisp.h.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
12 GNU Emacs is distributed in the hope that it will be useful, |
27fe3d5767ed
New file. Extracted from lisp.h.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
13 but WITHOUT ANY WARRANTY; without even the implied warranty of |
27fe3d5767ed
New file. Extracted from lisp.h.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
27fe3d5767ed
New file. Extracted from lisp.h.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
15 GNU General Public License for more details. |
27fe3d5767ed
New file. Extracted from lisp.h.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
16 |
27fe3d5767ed
New file. Extracted from lisp.h.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
17 You should have received a copy of the GNU General Public License |
94994
29adfc9354e7
Switch to recommended form of GPLv3 permissions notice.
Glenn Morris <rgm@gnu.org>
parents:
94005
diff
changeset
|
18 along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */ |
39691
27fe3d5767ed
New file. Extracted from lisp.h.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
19 |
27fe3d5767ed
New file. Extracted from lisp.h.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
20 #ifndef KEYMAP_H |
27fe3d5767ed
New file. Extracted from lisp.h.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
21 #define KEYMAP_H |
27fe3d5767ed
New file. Extracted from lisp.h.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
22 |
27fe3d5767ed
New file. Extracted from lisp.h.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
23 #define KEYMAPP(m) (!NILP (get_keymap (m, 0, 0))) |
27fe3d5767ed
New file. Extracted from lisp.h.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
24 extern Lisp_Object Qkeymap, Qmenu_bar; |
109573
228a5fa4eda0
Remove extern declarations from .c files, and them to .h files.
Dan Nicolaescu <dann@ics.uci.edu>
parents:
109099
diff
changeset
|
25 extern Lisp_Object Qremap; |
228a5fa4eda0
Remove extern declarations from .c files, and them to .h files.
Dan Nicolaescu <dann@ics.uci.edu>
parents:
109099
diff
changeset
|
26 extern Lisp_Object Qmenu_item; |
109635
fc7a8c411aa3
Add declarations to header files.
Dan Nicolaescu <dann@ics.uci.edu>
parents:
109573
diff
changeset
|
27 extern Lisp_Object meta_prefix_char; |
109573
228a5fa4eda0
Remove extern declarations from .c files, and them to .h files.
Dan Nicolaescu <dann@ics.uci.edu>
parents:
109099
diff
changeset
|
28 extern Lisp_Object Voverriding_local_map; |
228a5fa4eda0
Remove extern declarations from .c files, and them to .h files.
Dan Nicolaescu <dann@ics.uci.edu>
parents:
109099
diff
changeset
|
29 extern Lisp_Object Voverriding_local_map_menu_flag; |
39691
27fe3d5767ed
New file. Extracted from lisp.h.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
30 extern Lisp_Object current_global_map; |
27fe3d5767ed
New file. Extracted from lisp.h.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
31 EXFUN (Fmake_sparse_keymap, 1); |
27fe3d5767ed
New file. Extracted from lisp.h.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
32 EXFUN (Fkeymap_prompt, 1); |
27fe3d5767ed
New file. Extracted from lisp.h.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
33 EXFUN (Fdefine_key, 3); |
27fe3d5767ed
New file. Extracted from lisp.h.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
34 EXFUN (Flookup_key, 3); |
76885
fcaf9518268a
(Fcommand_remapping): New optional argument.
Chong Yidong <cyd@stupidchicken.com>
parents:
75348
diff
changeset
|
35 EXFUN (Fcommand_remapping, 3); |
72889
25c755416160
* NEWS: explain new behavior and arguments of `key-binding' and
David Kastrup <dak@gnu.org>
parents:
68651
diff
changeset
|
36 EXFUN (Fkey_binding, 4); |
54926
9d9ed20a61d2
(Fkey_description): Fix prototype.
Kim F. Storm <storm@cua.dk>
parents:
52401
diff
changeset
|
37 EXFUN (Fkey_description, 2); |
39691
27fe3d5767ed
New file. Extracted from lisp.h.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
38 EXFUN (Fsingle_key_description, 2); |
43153
d6162a8dc872
(Fkey_binding, Fwhere_is_internal): Update prototype.
Kim F. Storm <storm@cua.dk>
parents:
41292
diff
changeset
|
39 EXFUN (Fwhere_is_internal, 5); |
81609
7e640eac2dcb
* keymaps.texi (Active Keymaps): Document new POSITION argument of
David Kastrup <dak@gnu.org>
parents:
76885
diff
changeset
|
40 EXFUN (Fcurrent_active_maps, 2); |
109099 | 41 extern Lisp_Object access_keymap (Lisp_Object, Lisp_Object, int, int, int); |
42 extern Lisp_Object get_keyelt (Lisp_Object, int); | |
43 extern Lisp_Object get_keymap (Lisp_Object, int, int); | |
83420
521d3f18b3d1
Reimplement terminal parameters in C; clean up term.c, create terminal.c.
Karoly Lorentey <lorentey@elte.hu>
parents:
64770
diff
changeset
|
44 EXFUN (Fset_keymap_parent, 2); |
109099 | 45 extern void describe_map_tree (Lisp_Object, int, Lisp_Object, Lisp_Object, |
109726
64732fa6188a
Use const char* instead of char*.
Dan Nicolaescu <dann@ics.uci.edu>
parents:
109717
diff
changeset
|
46 const char *, int, int, int, int); |
109099 | 47 extern int current_minor_maps (Lisp_Object **, Lisp_Object **); |
109717
8949aad5e992
Use const char* instead of char*.
Dan Nicolaescu <dann@ics.uci.edu>
parents:
109635
diff
changeset
|
48 extern void initial_define_key (Lisp_Object, int, const char *); |
8949aad5e992
Use const char* instead of char*.
Dan Nicolaescu <dann@ics.uci.edu>
parents:
109635
diff
changeset
|
49 extern void initial_define_lispy_key (Lisp_Object, const char *, const char *); |
109099 | 50 extern void syms_of_keymap (void); |
51 extern void keys_of_keymap (void); | |
39691
27fe3d5767ed
New file. Extracted from lisp.h.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
52 |
50797
5b0873c0b734
(map_keymap_function_t): New type.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
49757
diff
changeset
|
53 typedef void (*map_keymap_function_t) |
109099 | 54 (Lisp_Object key, Lisp_Object val, Lisp_Object args, void* data); |
55 extern void map_keymap (Lisp_Object map, map_keymap_function_t fun, Lisp_Object largs, void* cargs, int autoload); | |
94005
d3bf833831d6
* keymap.h (map_keymap_canonical): Declare.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
87649
diff
changeset
|
56 extern void map_keymap_canonical (Lisp_Object map, |
d3bf833831d6
* keymap.h (map_keymap_canonical): Declare.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
87649
diff
changeset
|
57 map_keymap_function_t fun, |
d3bf833831d6
* keymap.h (map_keymap_canonical): Declare.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
87649
diff
changeset
|
58 Lisp_Object args, void *data); |
39691
27fe3d5767ed
New file. Extracted from lisp.h.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
59 |
27fe3d5767ed
New file. Extracted from lisp.h.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
60 #endif |
52401 | 61 |
62 /* arch-tag: 7400d5a1-ef0b-43d0-b366-f4d678bf3ba2 | |
63 (do not change this comment) */ |