File: macros.h

package info (click to toggle)
jove 4.17.5.5-2
  • links: PTS
  • area: main
  • in suites: forky, sid
  • size: 2,476 kB
  • sloc: ansic: 29,235; makefile: 535; sh: 428; python: 45
file content (49 lines) | stat: -rw-r--r-- 1,362 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
/**************************************************************************
 * This program is Copyright (C) 1986-2002 by Jonathan Payne.  JOVE is    *
 * provided by Jonathan and Jovehacks without charge and without          *
 * warranty.  You may copy, modify, and/or distribute JOVE, provided that *
 * this notice is included in all the source files and documentation.     *
 **************************************************************************/

struct macro {
	/* Type and Name must match data_obj */
	int	Type;		/* in this case a macro */
	const char	*Name;		/* name is always second ... */
	int	m_len;		/* length of macro so we can use ^@ */
	char	*m_body;	/* actual body of the macro */
	struct macro	*m_nextm;
};

extern jbool
	InMacDefine;	/* are we defining a macro right now? */

extern struct macro	*macros;

extern jbool
	in_macro proto((void)),
	ModMacs proto((void));

extern ZXchar
	mac_getc proto((void));

extern void
	mac_init proto((void)),
	do_macro proto((struct macro *mac)),
	unwind_macro_stack proto((void)),
	mac_putc proto((DAPchar c)),
	note_dispatch proto((void));

/* Commands: */
extern void
	DefKBDMac proto((void)),
	ExecMacro proto((void)),
	Forget proto((void)),
	MacInter proto((void)),
	NameMac proto((void)),
	Remember proto((void)),
	RunMacro proto((void)),
	WriteMacs proto((void));

/* dataobj.h:
 *	findmac
 */