[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
m4 ChangeLog doc/m4.texinfo m4/input.c m4/m4mod...
From: |
Eric Blake |
Subject: |
m4 ChangeLog doc/m4.texinfo m4/input.c m4/m4mod... |
Date: |
Thu, 12 Oct 2006 21:14:50 +0000 |
CVSROOT: /sources/m4
Module name: m4
Changes by: Eric Blake <ericb> 06/10/12 21:14:50
Modified files:
. : ChangeLog
doc : m4.texinfo
m4 : input.c m4module.h m4private.h macro.c syntax.c
utility.c
modules : m4.c
tests : builtins.at options.at
Log message:
* m4/m4private.h (m4__next_token_is_open): New prototype.
* m4/m4module.h (m4_push_single): Delete; push_string is an
adequate interface, and removing support for this simplifies the
input engine.
(m4_push_wrapup): New parameter.
(m4_is_syntax): Delete; m4_has_syntax is sufficient.
(M4_SYNTAX_LQUOTE, M4_SYNTAX_BCOMM, M4_SYNTAX_MASKS): Make
start-quote and start-comment exclusive from other syntax
categories.
* m4/syntax.c: Likewise.
* m4/input.c (input_funcs): Make polymorphic without requiring
clients to know whether they are located at isp. All users
changed.
(file_names): New variable.
(m4_input_init): Initialize it.
(m4_push_file): Use it.
(m4_input_exit): Free it after use.
(m4__next_token): Simplify slightly.
(m4__peek_token): Rename and simplify...
(m4__next_token_is_open): ... to this. In particular, this
allows us to avoid a double ungetc, which POSIX doesn't
guarantee.
(struct m4_input_block, m4_push_single, single_peek, single_read):
Remove support for single characters, as the input engine now
guarantees we don't need it.
(file_unget, string_unget, m4_input_print, unget_input):
Strengthen assertions.
(file_init_funcs, file_read_init): New for file reading.
(string_init_funcs, string_read_init): New for wrapped text.
(m4_push_string_init, m4_push_string_finish, m4_push_wrapup):
Support wrapped text with locations.
(m4_skip_line): Support dnl across include file boundary.
(peek_char): Don't pop input when peeking.
(file_peek): Peek can be called at the end of the file.
(string_read): Don't read beyond string bounds.
* m4/macro.c (expand_token, collect_arguments): Update callers.
(expand_macro): Report errors at location of open parenthesis.
(expand_token, expand_argument, process_macro): Avoid negative
array dereferences with m4_has_syntax.
* m4/utility.c (skip_space): Likewise.
* modules/m4.c (m4wrap): Update caller.
* tests/builtins.at (__file__, __line__, dnl): New tests.
* tests/options.at (--debugmode): Normalize the output.
* doc/m4.texinfo (Macro Arguments, Dnl, History, Location):
Remerge recent changes from branch.
(Improved fatal_error): New node from branch.
CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/m4/ChangeLog?cvsroot=m4&r1=1.414&r2=1.415
http://cvs.savannah.gnu.org/viewcvs/m4/doc/m4.texinfo?cvsroot=m4&r1=1.62&r2=1.63
http://cvs.savannah.gnu.org/viewcvs/m4/m4/input.c?cvsroot=m4&r1=1.50&r2=1.51
http://cvs.savannah.gnu.org/viewcvs/m4/m4/m4module.h?cvsroot=m4&r1=1.93&r2=1.94
http://cvs.savannah.gnu.org/viewcvs/m4/m4/m4private.h?cvsroot=m4&r1=1.65&r2=1.66
http://cvs.savannah.gnu.org/viewcvs/m4/m4/macro.c?cvsroot=m4&r1=1.58&r2=1.59
http://cvs.savannah.gnu.org/viewcvs/m4/m4/syntax.c?cvsroot=m4&r1=1.16&r2=1.17
http://cvs.savannah.gnu.org/viewcvs/m4/m4/utility.c?cvsroot=m4&r1=1.52&r2=1.53
http://cvs.savannah.gnu.org/viewcvs/m4/modules/m4.c?cvsroot=m4&r1=1.81&r2=1.82
http://cvs.savannah.gnu.org/viewcvs/m4/tests/builtins.at?cvsroot=m4&r1=1.23&r2=1.24
http://cvs.savannah.gnu.org/viewcvs/m4/tests/options.at?cvsroot=m4&r1=1.19&r2=1.20
- m4 ChangeLog doc/m4.texinfo m4/input.c m4/m4mod...,
Eric Blake <=