summaryrefslogtreecommitdiff
path: root/ChangeLog
diff options
context:
space:
mode:
Diffstat (limited to 'ChangeLog')
-rw-r--r--ChangeLog25
1 files changed, 25 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index e9c86073..f06aee74 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,30 @@
2008-06-02 Eric Blake <ebb9@byu.net>
+ Stage 24c: Improve display of macro names with embedded NUL.
+ Quote instances of problematic characters in macro names when
+ presented to user. Track location via call_info rather than
+ munging context for every expansion.
+ Memory impact: none.
+ Speed impact: slight penalty, due to more bookkeeping.
+ * m4/m4module.h (m4_push_string_init): Add parameters.
+ * m4/m4private.h (struct m4_macro_args): Remove argv0 and
+ argv0_len, now redundant with info.
+ (m4__push_wrapup_init): Add parameter.
+ * m4/input.c (m4_push_string_init, m4__push_wrapup_init): Track
+ location from caller, rather than context.
+ (composite_peek, composite_read, match_input): Adjust callers.
+ * m4/utility.c (m4_symbol_value_lookup): Quote macro name.
+ (m4_verror_at_line): Allow NUL in macro name.
+ * m4/macro.c (trace_flush, m4_trace_prepare, trace_pre): Allow NUL
+ in trace.
+ (expand_macro): No longer munge context location.
+ (collect_arguments, m4_arg_text, m4_arg_empty, m4_arg_len)
+ (m4_make_argv_ref, m4_push_arg, m4_wrap_args): Adjust callers.
+ * modules/gnu.c (builtin, indir): Likewise.
+ * tests/null.m4: Enhance test.
+ * tests/null.err: Adjust expected output.
+ * tests/null.out: Likewise.
+
Stage 24b: Allow embedded NUL in macro names.
Use length rather than NUL-termination when tracking macro names.
All APIs dealing with symbol table changed.