macros.h 1.63 KB
Newer Older
Jim Blandy's avatar
Jim Blandy committed
1
/* Definitions for keyboard macro interpretation in GNU Emacs.
Paul Eggert's avatar
Paul Eggert committed
2
   Copyright (C) 1985, 2001-2019 Free Software Foundation, Inc.
Jim Blandy's avatar
Jim Blandy committed
3 4 5

This file is part of GNU Emacs.

6
GNU Emacs is free software: you can redistribute it and/or modify
Jim Blandy's avatar
Jim Blandy committed
7
it under the terms of the GNU General Public License as published by
8 9
the Free Software Foundation, either version 3 of the License, or (at
your option) any later version.
Jim Blandy's avatar
Jim Blandy committed
10 11 12 13 14 15 16

GNU Emacs is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

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/>.  */
Jim Blandy's avatar
Jim Blandy committed
18

19 20 21 22
#ifndef EMACS_MACROS_H
#define EMACS_MACROS_H

#include "lisp.h"
Jim Blandy's avatar
Jim Blandy committed
23

24 25 26 27 28
/* Number of successful iterations so far
   for innermost keyboard macro.
   This is not bound at each level,
   so after an error, it describes the innermost interrupted macro.  */

29
extern EMACS_INT executing_kbd_macro_iterations;
30 31 32 33 34

/* This is the macro that was executing.
   This is not bound at each level,
   so after an error, it describes the innermost interrupted macro.  */

35
extern Lisp_Object executing_kbd_macro;
36

37 38
/* Finish defining the current keyboard macro.  */

Jan D's avatar
Jan D committed
39
extern void end_kbd_macro (void);
40

41 42 43
/* Declare that all chars stored so far in the kbd macro being defined
 really belong to it.  This is done in between editor commands.  */

Jan D's avatar
Jan D committed
44
extern void finalize_kbd_macro_chars (void);
45 46 47

/* Store a character into kbd macro being defined */

Jan D's avatar
Jan D committed
48
extern void store_kbd_macro_char (Lisp_Object);
49 50

#endif /* EMACS_MACROS_H */