1 /* Definitions needed by most editing commands. 2 Copyright (C) 1985, 1994, 2001-2023 Free Software Foundation, Inc. 3 4 This file is part of GNU Emacs. 5 6 GNU Emacs 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 (at 9 your option) any later version. 10 11 GNU Emacs 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 GNU Emacs. If not, see <https://www.gnu.org/licenses/>. */ 18 19 #ifndef EMACS_COMMANDS_H 20 #define EMACS_COMMANDS_H 21 22 #include "lisp.h" 23 24 #define Ctl(c) ((c)&037) 25 26 /* If not Qnil, this is a switch-frame event which we decided to put 27 off until the end of a key sequence. This should be read as the 28 next command input, after any Vunread_command_events. 29 30 read_key_sequence uses this to delay switch-frame events until the 31 end of the key sequence; Fread_char uses it to put off switch-frame 32 events until a non-ASCII event is acceptable as input. */ 33 extern Lisp_Object unread_switch_frame; 34 35 /* Nonzero if input is coming from the keyboard. */ 36 37 #define INTERACTIVE (NILP (Vexecuting_kbd_macro) && !noninteractive) 38 39 #endif /* EMACS_COMMANDS_H */