summaryrefslogtreecommitdiff
path: root/NEWS
diff options
context:
space:
mode:
authorEric Blake <ebb9@byu.net>2008-05-03 15:22:23 -0600
committerEric Blake <ebb9@byu.net>2008-05-05 20:54:23 -0600
commitc2a2811a8b81dac7b090dcd6f584742fed6dd085 (patch)
tree3372e5534c38521ecfd9c3b93672fc8d51b4b134 /NEWS
parentbc9b4d7bf16c7571efe03debaf2c6f1d52a6a08d (diff)
downloadm4-c2a2811a8b81dac7b090dcd6f584742fed6dd085.tar.gz
Stage 22: allow builtin token concatenation outside $@.
* m4/m4module.h (m4_is_arg_composite): New prototype. (m4_symbol_value_copy): Change return type. (m4_arg_text): Add parameter. (M4ARG): Adjust callers. * m4/m4private.h: Adjust comments. * m4/symtab.c (m4_symbol_value_copy): Detect when builtins are flattened. * m4/input.c (init_builtin_token): Add parameter, and allow concatenating builtins. (m4__next_token): Adjust caller. * m4/macro.c (m4_is_arg_composite): New function. (expand_argument): Allow builtin concatenation. (m4_arg_text): Add parameter. (m4__arg_adjust_refcount, m4__arg_print): Adjust callers. (m4_arg_equal): Fix comparison of builtin tokens. * modules/m4.c (define, pushdef): Warn when flattening builtins. * doc/m4.texinfo (Define): Remove dead comment. (Defn): Update to reflect code changes. * tests/builtins.at (defn): Remove xfail. * NEWS: Document this change. Signed-off-by: Eric Blake <ebb9@byu.net>
Diffstat (limited to 'NEWS')
-rw-r--r--NEWS14
1 files changed, 14 insertions, 0 deletions
diff --git a/NEWS b/NEWS
index 205c6511..35440ee0 100644
--- a/NEWS
+++ b/NEWS
@@ -216,6 +216,10 @@ promoted to 2.0.
using `builtin' or `indir' to perform nested `shift' calls triggered an
assertion failure.
+** Fix regression introduced in 1.4.10b (but not present in 1.4.11) where
+ the command-line option -dV, as well as the builtin `debugmode(V)',
+ failed to enable `t' and `c' debug options.
+
** Fix the `m4wrap' builtin to accumulate wrapped text in FIFO order, as
required by POSIX. The manual mentions a way to restore the LIFO order
present in earlier GNU M4 versions. NOTE: this change exposes a bug
@@ -236,9 +240,19 @@ promoted to 2.0.
then apply this patch:
http://git.sv.gnu.org/gitweb/?p=autoconf.git;a=commitdiff;h=56d42fa71
+** The `defn' builtin now warns when operating on an undefined macro name.
+ To simulate 1.4.x behavior, use:
+ pushdef(`defn', `ifdef(`$1', `builtin(`defn', `$1')')')
+
** Enhance the `ifdef', `ifelse', and `shift' builtins, as well as all
user macros, to transparently handle builtin tokens generated by `defn'.
+** Allow the concatenation of builtin macros with arbitrary text in
+ several contexts, via the `defn' builtin or argument expansion, rather
+ than warning and converting the builtin token to an empty string.
+ However, it is still not possible to use a concatenated builtin when
+ defining a macro.
+
** Enhance the `defn', `dumpdef', `ifdef', `popdef', `traceon', `traceoff',
and `undefine' macros to warn when encountering a builtin token in the
context of a macro name, rather than acting on the empty string. This