1
4
5# ifndef LMT_NESTING_H
6# define LMT_NESTING_H
7
8
12
13typedef struct list_state_record {
14 int mode;
15 halfword head;
16 halfword tail;
17 int prev_graf;
18 int mode_line;
19 halfword prev_depth;
20 halfword space_factor;
21 halfword direction_stack;
22 int math_dir;
23 int math_style;
24 int math_scale;
25 int math_main_style;
26 halfword delimiter;
27 halfword incomplete_noad;
28 halfword math_flatten;
29 halfword math_begin;
30 halfword math_end;
31 halfword math_mode;
32 halfword tolerance;
33 halfword pretolerance;
34} list_state_record;
35
36typedef struct nest_state_info {
37 list_state_record *nest;
38 memory_data nest_data;
39 int shown_mode;
40 int math_mode;
41} nest_state_info;
42
43extern nest_state_info lmt_nest_state;
44
45# define cur_list lmt_nest_state.nest[lmt_nest_state.nest_data.ptr]
46# define cur_mode (abs(cur_list.mode))
47
48extern void tex_initialize_nest_state (void);
49
50extern void tex_initialize_nesting (void);
51extern void tex_push_nest (void);
52extern void tex_pop_nest (void);
53extern void tex_tail_prepend (halfword p);
54extern void tex_tail_append (halfword p);
55extern void tex_tail_append_list (halfword p);
56extern halfword tex_pop_tail (void);
57extern const char *tex_string_mode (int m);
58extern void tex_show_activities (void);
59extern int tex_vmode_nest_index (void);
60
61
67
68
75
76
79
80# endif
81 |