Fix metadata usage
[sxemacs] / src / commands.h
1 /* Definitions needed by most editing commands.
2    Copyright (C) 1985-1994 Free Software Foundation, Inc.
3
4 This file is part of SXEmacs
5
6 SXEmacs is free software: you can redistribute it and/or modify
7 it under the terms of the GNU General Public License as published by
8 the Free Software Foundation, either version 3 of the License, or
9 (at your option) any later version.
10
11 SXEmacs is distributed in the hope that it will be useful,
12 but WITHOUT ANY WARRANTY; without even the implied warranty of
13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14 GNU General Public License for more details.
15
16 You should have received a copy of the GNU General Public License
17 along with this program.  If not, see <http://www.gnu.org/licenses/>. */
18
19
20 /* Synched up with: FSF 19.30. */
21
22 #ifndef INCLUDED_commands_h_
23 #define INCLUDED_commands_h_
24
25 #if 0                           /* FSFmacs */
26 #define Ctl(c) ((c)&037)
27 #endif
28
29 /* bunches of FSF keymap and minibuffer stuff not here (in Lisp) */
30
31 extern Lisp_Object Vlast_command_event;
32
33 extern Lisp_Object Vlast_input_event;
34
35 /* These next two for compatibility; they are V... because they can be
36    nil. (Many FSFmacs equivalent variables incorrectly omit the V
37    even though they are Lisp_Objects.) */
38 /* Last character of last key sequence.  */
39 extern Lisp_Object Vlast_command_char;
40
41 extern Lisp_Object Vlast_input_char;
42
43 #if 0                           /* FSFmacs */
44 /* Last input character read as a command, not counting menus
45    reached by the mouse.  */
46 extern Lisp_Object Vlast_nonmenu_event;
47 #endif
48
49 #if 0                           /* Local to event-stream.c */
50 /* List of command events to be re-read, or Qnil.  */
51 extern Lisp_Object Vunread_command_events;
52 #endif
53
54 #if 0                           /* FSFmacs */
55 /* Command char event to be re-read, or -1 if none.
56    Setting this is obsolete, but some things should still check it.  */
57 extern int unread_command_char;
58 #endif
59
60 /* Last command executed by the editor command loop, not counting
61    commands that set the prefix argument.  */
62
63 extern Lisp_Object Vlast_command;
64
65 /* The command being executed by the command loop.
66    Commands may set this, and the value set will be copied into
67    Vlast_command instead of the actual command.  */
68 extern Lisp_Object Vthis_command;
69
70 #if 0                           /* FSFmacs */
71 /* If not Qnil, this is a switch-frame event which we decided to put
72    off until the end of a key sequence.  This should be read as the
73    next command input, after any Vunread_command_events.
74
75    read_key_sequence uses this to delay switch-frame events until the
76    end of the key sequence; Fread_char uses it to put off switch-frame
77    events until a non-ASCII event is acceptable as input.  */
78 extern Lisp_Object unread_switch_frame;
79 #endif
80
81 #if 0                           /* Local to event-stream.c */
82 /* The value of point when the last command was executed.  */
83 extern int last_point_position;
84
85 /* The buffer that was current when the last command was started.  */
86 extern Lisp_Object last_point_position_buffer;
87 #endif
88
89 /* This is so incredibly losing that it's been completely eliminated
90    from the code.  Trust me, there are cleaner, safer ways of
91    achieving the same functionality (e.g. use select()). */
92 /* extern int immediate_quit;       Nonzero means ^G can quit instantly */
93
94 /* Nonzero if input is coming from the keyboard */
95
96 #define INTERACTIVE (NILP (Vexecuting_macro) && !noninteractive)
97
98 /* Set this nonzero to force reconsideration of modeline. */
99
100 extern int modeline_changed;
101
102 extern Lisp_Object recent_keys_ring;
103 extern int recent_keys_ring_index;
104
105 /* #ifndef LISP_COMMAND_LOOP */
106 extern Lisp_Object Vtop_level;
107 /* #else */
108 extern Lisp_Object Vcommand_loop;
109 /* #endif */
110 DECLARE_DOESNT_RETURN(initial_command_loop(Lisp_Object));
111 Lisp_Object call_command_loop(Lisp_Object catch_errors);
112 extern Fixnum command_loop_level;
113
114 extern Lisp_Object Vkeyboard_translate_table;
115 extern Lisp_Object Vlast_input_time;
116 extern Lisp_Object Vcurrent_mouse_event;
117
118 extern int zmacs_regions;
119 extern int zmacs_region_active_p;
120 extern int zmacs_region_stays;
121 void zmacs_update_region(void);
122 void zmacs_deactivate_region(void);
123 Lisp_Object zmacs_region_buffer(void);
124
125 extern Lisp_Object Vthis_command_keys;  /* event-stream.c */
126
127 #endif                          /* INCLUDED_commands_h_ */