Stage 7: add chained token support to input parser.
commit65b9ec43629b517cd4365fb96459b51973ef9ac7
authorEric Blake <ebb9@byu.net>
Thu, 25 Oct 2007 16:47:43 +0000 (25 10:47 -0600)
committerEric Blake <ebb9@byu.net>
Wed, 12 Dec 2007 02:33:14 +0000 (11 19:33 -0700)
treeea58ea22386ffaca7c7bf8dd71413fb04f3f324a
parentd28166a2233b32f0f37bdd486a590a814209b765
Stage 7: add chained token support to input parser.

* src/m4.h (struct token_chain): Add const safety.
(push_token): New prototype.
* src/input.c (INPUT_CHAIN): New enumerator.
(struct input_block): Add new input type u_c, and change u_s to
length-based processing.
(make_text_link): New helper function.
(push_token): New function.
(push_string_finish): Use it.
(pop_input, input_print, peek_input, next_char, next_char_1):
Adjust to handle new input type.
* src/macro.c (push_arg, push_args): Use new function.

(cherry picked from commit 687dd577f66622e0b69a8cd03b7e5e76fa546c52)

Signed-off-by: Eric Blake <ebb9@byu.net>
ChangeLog
src/input.c
src/m4.h
src/macro.c