Merge from mainline.
[bpt/emacs.git] / src / commands.h
CommitLineData
cd645247 1/* Definitions needed by most editing commands.
73b0cd50 2 Copyright (C) 1985, 1994, 2001-2011 Free Software Foundation, Inc.
cd645247
JB
3
4This file is part of GNU Emacs.
5
b9b1cc14 6GNU Emacs is free software: you can redistribute it and/or modify
cd645247 7it under the terms of the GNU General Public License as published by
b9b1cc14
GM
8the Free Software Foundation, either version 3 of the License, or
9(at your option) any later version.
cd645247
JB
10
11GNU Emacs is distributed in the hope that it will be useful,
12but WITHOUT ANY WARRANTY; without even the implied warranty of
13MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14GNU General Public License for more details.
15
16You should have received a copy of the GNU General Public License
b9b1cc14 17along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
cd645247
JB
18
19
20#define Ctl(c) ((c)&037)
21
6ce387e6
JB
22/* Define the names of keymaps, just so people can refer to them in
23 calls to initial_define_key. These should *not* be used after
24 initialization; use-global-map doesn't affect these; it sets
25 current_global_map instead. */
cd645247 26extern Lisp_Object global_map;
cd645247 27extern Lisp_Object meta_map;
cd645247
JB
28extern Lisp_Object control_x_map;
29
ef733244
JB
30/* If not Qnil, this is a switch-frame event which we decided to put
31 off until the end of a key sequence. This should be read as the
1ad698af 32 next command input, after any Vunread_command_events.
ef733244
JB
33
34 read_key_sequence uses this to delay switch-frame events until the
35 end of the key sequence; Fread_char uses it to put off switch-frame
36 events until a non-ASCII event is acceptable as input. */
37extern Lisp_Object unread_switch_frame;
cd645247 38
74338b5e 39/* The value of point when the last command was started. */
41118bd3 40extern EMACS_INT last_point_position;
01314b95 41
0f5f2096
RS
42/* The buffer that was current when the last command was started. */
43extern Lisp_Object last_point_position_buffer;
44
74338b5e
RS
45/* The window that was selected when the last command was started. */
46extern Lisp_Object last_point_position_window;
47
cd645247
JB
48/* Nonzero means ^G can quit instantly */
49extern int immediate_quit;
50
cd645247
JB
51/* Nonzero if input is coming from the keyboard */
52
0aed526e 53#define INTERACTIVE (NILP (Vexecuting_kbd_macro) && !noninteractive)
cd645247
JB
54
55/* Set this nonzero to force reconsideration of mode line. */
56
57extern int update_mode_lines;
58