Fix int/EMACS_INT use in keyboard.c.
[bpt/emacs.git] / src / commands.h
CommitLineData
cd645247 1/* Definitions needed by most editing commands.
429ab54e 2 Copyright (C) 1985, 1994, 2001, 2002, 2003, 2004,
114f9c96 3 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
cd645247
JB
4
5This file is part of GNU Emacs.
6
b9b1cc14 7GNU Emacs is free software: you can redistribute it and/or modify
cd645247 8it under the terms of the GNU General Public License as published by
b9b1cc14
GM
9the Free Software Foundation, either version 3 of the License, or
10(at your option) any later version.
cd645247
JB
11
12GNU Emacs is distributed in the hope that it will be useful,
13but WITHOUT ANY WARRANTY; without even the implied warranty of
14MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15GNU General Public License for more details.
16
17You should have received a copy of the GNU General Public License
b9b1cc14 18along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
cd645247
JB
19
20
21#define Ctl(c) ((c)&037)
22
6ce387e6
JB
23/* Define the names of keymaps, just so people can refer to them in
24 calls to initial_define_key. These should *not* be used after
25 initialization; use-global-map doesn't affect these; it sets
26 current_global_map instead. */
cd645247 27extern Lisp_Object global_map;
cd645247 28extern Lisp_Object meta_map;
cd645247
JB
29extern Lisp_Object control_x_map;
30
cd645247
JB
31extern Lisp_Object Vminibuffer_local_map;
32
33extern Lisp_Object Vminibuffer_local_ns_map;
34
35/* keymap used for minibuffers when doing completion */
36extern Lisp_Object Vminibuffer_local_completion_map;
37
90385b3d
EZ
38/* keymap used for minibuffers when doing completion in filenames*/
39extern Lisp_Object Vminibuffer_local_filename_completion_map;
40
cd645247
JB
41/* keymap used for minibuffers when doing completion and require a match */
42extern Lisp_Object Vminibuffer_local_must_match_map;
43
90385b3d
EZ
44/* keymap used for minibuffers when doing completion in filenames
45 and require a match */
8ba31f36 46extern Lisp_Object Vminibuffer_local_filename_must_match_map;
90385b3d 47
a31e445e
GM
48/* Last input event read as a command. */
49extern Lisp_Object last_command_event;
cd645247 50
a31e445e 51/* Last input event read as a command, not counting menus
07f4ea75
RS
52 reached by the mouse. */
53extern Lisp_Object last_nonmenu_event;
54
dbc4e1c1 55/* List of command events to be re-read, or Qnil. */
1ad698af 56extern Lisp_Object Vunread_command_events;
ef733244 57
346dae05
RS
58/* Command char event to be re-read, or -1 if none.
59 Setting this is obsolete, but some things should still check it. */
31ade731 60extern EMACS_INT unread_command_char;
346dae05 61
c5a02c74 62/* The command being executed by the command loop.
185fd0ec
KH
63 Commands may set this, and the value set will be copied into
64 current_kboard->Vlast_command instead of the actual command. */
e717e6d7 65extern Lisp_Object Vthis_command;
c5a02c74 66
ef733244
JB
67/* If not Qnil, this is a switch-frame event which we decided to put
68 off until the end of a key sequence. This should be read as the
1ad698af 69 next command input, after any Vunread_command_events.
ef733244
JB
70
71 read_key_sequence uses this to delay switch-frame events until the
72 end of the key sequence; Fread_char uses it to put off switch-frame
73 events until a non-ASCII event is acceptable as input. */
74extern Lisp_Object unread_switch_frame;
cd645247 75
74338b5e 76/* The value of point when the last command was started. */
41118bd3 77extern EMACS_INT last_point_position;
01314b95 78
0f5f2096
RS
79/* The buffer that was current when the last command was started. */
80extern Lisp_Object last_point_position_buffer;
81
74338b5e
RS
82/* The window that was selected when the last command was started. */
83extern Lisp_Object last_point_position_window;
84
cd645247
JB
85/* Nonzero means ^G can quit instantly */
86extern int immediate_quit;
87
0aed526e 88extern Lisp_Object Vexecuting_kbd_macro;
cd645247
JB
89
90/* Nonzero if input is coming from the keyboard */
91
0aed526e 92#define INTERACTIVE (NILP (Vexecuting_kbd_macro) && !noninteractive)
cd645247
JB
93
94/* Set this nonzero to force reconsideration of mode line. */
95
96extern int update_mode_lines;
97
98/* Nonzero means reading single-character input with prompt
99 so put cursor on minibuffer after the prompt. */
100
101extern int cursor_in_echo_area;
ab5796a9
MB
102
103/* arch-tag: 4f7ca0b7-6a56-4b20-8bf5-b67a99921d1d
104 (do not change this comment) */