1 |
|
2003-06-20 Gary V. Vaughan <gary@gnu.org> |
2 |
|
|
3 |
|
Two related changes, and a huge knockon effect throughout the |
4 |
|
source: Moved the option variables out of global space and into |
5 |
|
`struct m4'; made `m4_symtab' a real datatype, so that it's api |
6 |
|
is not marred passing `struct m4' around just so it can decide |
7 |
|
whether to keep traced symbol names or not. Added setters and |
8 |
|
getters for the formerly global option variables, and obviously |
9 |
|
changed a vast number of functions to take a `struct m4' and use |
10 |
|
the getter funcs to find option values. |
11 |
|
|
12 |
|
* m4/utility.c (interactive, sync_output, debug_level) |
13 |
|
(no_gnu_extensions, prefix_all_builtins, suppress_warnings) |
14 |
|
(max_debug_argument_length, warning_status, nesting_limit) |
15 |
|
(discard_comments): Removed. |
16 |
|
* m4/m4module (warning_status, no_gnu_extensions, nesting_limit) |
17 |
|
(debug_level, max_debug_argument_length, prefix_all_builtins) |
18 |
|
(suppress_warnings, discard_comments, interactive, sync_output): |
19 |
|
Removed from here... |
20 |
|
* m4/m4private.h (struct m4): ...and equivalent fields added to |
21 |
|
this structure. |
22 |
|
(m4_get_warning_status_opt, m4_get_no_gnu_extensions_opt) |
23 |
|
(m4_get_nesting_limit_opt, m4_get_debug_level_opt) |
24 |
|
(m4_get_max_debug_arg_length_opt, m4_get_prefix_builtins_opt) |
25 |
|
(m4_get_suppress_warnings_opt, m4_get_discard_comments_opt) |
26 |
|
(m4_get_interactive_opt, m4_get_sync_output_opt): Fast access |
27 |
|
macros for the new fields. |
28 |
|
* m4/m4module.h (m4_context_field_table) |
29 |
|
(m4_context_opt_bit_table): Helper macros used to generate |
30 |
|
prototypes, setters and getters for new option fields |
31 |
|
consistently. |
32 |
|
* m4/m4.c (m4_get_warning_status_opt, m4_get_no_gnu_extensions_opt) |
33 |
|
(m4_get_nesting_limit_opt, m4_get_debug_level_opt) |
34 |
|
(m4_get_max_debug_arg_length_opt, m4_get_prefix_builtins_opt) |
35 |
|
(m4_get_suppress_warnings_opt, m4_get_discard_comments_opt) |
36 |
|
(m4_get_interactive_opt, m4_get_sync_output_opt) |
37 |
|
(m4_set_warning_status_opt, m4_set_no_gnu_extensions_opt) |
38 |
|
(m4_set_nesting_limit_opt, m4_set_debug_level_opt) |
39 |
|
(m4_set_max_debug_arg_length_opt, m4_set_prefix_builtins_opt) |
40 |
|
(m4_set_suppress_warnings_opt, m4_set_discard_comments_opt) |
41 |
|
(m4_set_interactive_opt, m4_set_sync_output_opt): Addressable |
42 |
|
setter and getter functions generated by cpp from |
43 |
|
m4_context_field_table and m4_context_opt_bit_table, exported as |
44 |
|
part of the module api. Changed all callers. |
45 |
|
* m4/symtab (struct m4_symtab): Used as the concrete type for |
46 |
|
m4_symtab now. |
47 |
|
(m4_symtab_create): Allocate and initialise a new struct. |
48 |
|
(m4_symtab_apply): New function that works like m4_hash_apply, but |
49 |
|
with different callbacks specific to symbol tables. Changed all |
50 |
|
callers. |
51 |
|
(symbol_destroy, arg_destroy, arg_copy): Renamed |
52 |
|
symbol_destroy_CB, arg_destroy_CB, arg_copy_CB to remind me that |
53 |
|
they have unused parameters for a reason! |
54 |
|
(dump_symbol_CB): New callback to dump the contents of a single |
55 |
|
symbol. |
56 |
|
(symtob_dump): Rewritten in terms of dump_symbol_CB. |
57 |
|
* m4/utility.c (m4_dump_symbol): Renamed to m4_dump_symbol_CB. |
58 |
|
Changed all callers. |
59 |
|
* m4/m4.c (m4_create): By default point the `nuke_trace_bit' field |
60 |
|
of the contained `m4_symtab' at the `no_gnu_extensions' field. |
61 |
|
Although I'm not convinced these semantics are correct, they are |
62 |
|
at least consistent with how things were before this delta. Also |
63 |
|
set the default nesting limit to M4_DEFAULT_NESTING_LIMIT. |
64 |
|
|
65 |
2003-06-19 Gary V. Vaughan <gary@gnu.org> |
2003-06-19 Gary V. Vaughan <gary@gnu.org> |
66 |
|
|
67 |
Tie down the interface to libm4 some more. Make more structures |
Tie down the interface to libm4 some more. Make more structures |