diff options
author | Eric Blake <ebb9@byu.net> | 2008-05-19 21:58:16 -0600 |
---|---|---|
committer | Eric Blake <ebb9@byu.net> | 2008-05-19 21:58:16 -0600 |
commit | a8e726e4bf47514e770f5885e416f92f150419a9 (patch) | |
tree | 4ffe08bd9d64a9a791742da4b96b1a9e2bc71223 /tests | |
parent | 28b96dbbd1eeb0e1fc1b0678735cacaddebe3595 (diff) | |
download | m4-a8e726e4bf47514e770f5885e416f92f150419a9.tar.gz |
In frozen file, split consecutive strings with newline.
* src/freeze.c (dump_symbol_CB): Add newline to 'T', 'F'.
(produce_frozen_state): Likewise for 'Q', 'C'.
(reload_frozen_state): Parse the new layout.
[GET_DIRECTIVE]: Fix format 1 regression from 2008-05-13.
* tests/freeze.at (loading format 2): Rewrite to new format.
(reloading unknown builtin): Likewise.
(loading format 1): Make sure backslash-newline is not
interpreted.
* doc/m4.texinfo (Frozen file format 2): Document the format.
* NEWS: Document this change.
Signed-off-by: Eric Blake <ebb9@byu.net>
Diffstat (limited to 'tests')
-rw-r--r-- | tests/freeze.at | 44 |
1 files changed, 31 insertions, 13 deletions
diff --git a/tests/freeze.at b/tests/freeze.at index 209c6115..2aa2aea1 100644 --- a/tests/freeze.at +++ b/tests/freeze.at @@ -84,7 +84,8 @@ $ m4 --version | head -n1 GNU M4 1.4.5 $ cat frozen.m4 divert(`-1') -define(`foo', `\FOO') +define(`foo', `\n\ +FOO') pushdef(`foo', `bar${1}') define(`my_define', defn(`define')) define(`my_changeword', defn(`changeword')) @@ -116,8 +117,9 @@ T9,6 my_definedefine F9,6 my_definedefine -T3,4 -foo\FOO +T3,7 +foo\n\ +FOO T3,7 foobar${1} F3,3 @@ -139,7 +141,8 @@ my_define([bar], [4])[]popdef([my_define]) bar ]]) AT_CHECK_M4([-R frozen.m4f input.m4], [0], -[[bar${1} /* foo */ \FOO +[[bar${1} /* foo */ \n\ +FOO 1 define 1 3 @@ -174,15 +177,19 @@ V2 # missing close quote should be supplied Q1,0 > + # missing close comment should be supplied C1,0 < + M2 m4 M3 gnu F7,7,3 -builtinbuiltingnu +builtin +builtin +gnu # Text to negative diversion must not crash. Catches a regression # introduced 2007-05-28 and fixed 2007-05-31. D-1,5 @@ -196,11 +203,13 @@ D, # Testing escape sequences T4,5 -blah\t\477\040\X5C +blah +\t\477\040\X5C # Long macro definition. Catches a regression introduced on 2007-01-20 # and patched 2007-02-25. T4,122 -long01234567890123456789012345678901234567890123456789 +long +01234567890123456789012345678901234567890123456789 01234567890123456789012345678901234567890123456789 01234567890123456789 ]]) @@ -247,15 +256,23 @@ m4 M3 gnu T1,5 -a\n\n\n\n\n +a +\n\n\n\n\n F6,6,2 divnum\ -divnumm4\ + +divnum +\ +m4\ F6,6,2 -divertdivertm4 +divert +divert +m4 F6,6,2 -definedefinem4 +define +define +m4 D]$1[,3 hi @@ -263,7 +280,7 @@ hi AT_CHECK_M4([-R frozen.m4f in.m4], m4_ifval([$2], [1], [0]), m4_ifval([$2], [], [m4_bpatsubst([$1], [^0*]) m4_if(m4_substr([$1], [0], [1]), [-], [], [[hi -]])]), m4_ifval([$2], [[m4:frozen.m4f:16: integer overflow in frozen file +]])]), m4_ifval([$2], [[m4:frozen.m4f:24: integer overflow in frozen file ]])) ]) @@ -363,7 +380,8 @@ AT_CHECK_M4([-F frozen.m4f -t undefined empty.m4]) # Add an unknown builtin. echo 'F1,1' >> frozen.m4f -echo 'ab' >> frozen.m4f +echo 'a' >> frozen.m4f +echo 'b' >> frozen.m4f AT_DATA([[input.m4]], [[dnl The macro is defined; checking this is safe |