[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
m4 ./ChangeLog m4/debug.c m4/input.c m4/m4.c m4...
From: |
Gary V. Vaughan |
Subject: |
m4 ./ChangeLog m4/debug.c m4/input.c m4/m4.c m4... |
Date: |
Thu, 26 Jun 2003 10:57:32 -0400 |
CVSROOT: /cvsroot/m4
Module name: m4
Branch:
Changes by: Gary V. Vaughan <address@hidden> 03/06/26 10:57:32
Modified files:
. : ChangeLog
m4 : debug.c input.c m4.c m4module.h m4private.h
macro.c output.c symtab.c syntax.c utility.c
modules : gnu.c load.c m4.c perl.c stdlib.c
src : freeze.c main.c
Log message:
Move the global variables that pertain to syntax to a new `struct
m4_syntax_table', and then add one of these to `struct m4'. The
ripple effect through the code to both change formerly global
references, and make sure a suitable context is available in
lexical scope is disproportionately large compared to the size of
the change proper. This change is a large part of decoupling
syntax.c from the rest of the code that uses it.
* m4/m4private.h (struct m4): Add a syntax field.
* m4/m4.c (m4_create): Initialise it,
(m4_delete): Recycle it.
(m4_get_symtab): Remove hand coded version...
(m4_get_symbol_table): ...and generate this with cpp. Changed all
callers.
* m4/m4module.h (m4_context_field_table): Add an extra field so we
can generate m4_get_symbol_table. Add a new row for
m4_get_syntax_table.
(M4SYNTAX): Syntactic sugar for module writers.
(m4_symtab): Renamed to m4_symbol_table. Changed all callers.
(m4_syntax_table): New home for syntax related formerly global
variables.
* m4/m4private.h (struct m4_syntax_table): Define it.
* m4/input.c (m4_input_init): Initialisation of these formerly
global variables moved...
* m4/syntax.c (m4_syntax_create): ...to here.
* m4/input.c (m4_input_exit): And similarly, recycling of the
memory used by those values moved...
* m4/syntax.c (m4_syntax_delete): ...to here.
* m4/m4module.h (DEF_LQUOTE, DEF_RQUOTE, DEF_BCOMM, DEF_ECOMM):
Moved to m4/m4private.h.
* m4/syntax.c (m4_get_syntax_lquote, m4_get_syntax_rquote)
(m4_get_syntax_bcomm, m4_get_syntax_ecomm)
(m4_is_syntax_single_quotes, m4_is_syntax_single_comments)
(m4_is_syntax_macro_escaped): New accessors for m4_syntax_table
objects. Changed all callers that used to directly access the
global equivalents.
(m4__single_quotes, m4__single_comments, m4__use_macro_escape):
Removed and incorporated into m4_syntax_table structure.
* m4/utility.c (lquote, rquote, bcomm, ecomm): Ditto.
* m4/syntax.c (m4_set_syntax): Now returns an error status,
instead of requiring a `struct m4' to generate its own errors.
Changed all callers.
* src/main.c (main): Now that the syntax table is initialised as
part of m4_create, we have to manually wipe the syntax entries if
we are about to read a frozen file.
CVSWeb URLs:
http://savannah.gnu.org/cgi-bin/viewcvs/m4/m4/ChangeLog.diff?tr1=1.184&tr2=1.185&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/m4/m4/m4/debug.c.diff?tr1=1.14&tr2=1.15&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/m4/m4/m4/input.c.diff?tr1=1.28&tr2=1.29&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/m4/m4/m4/m4.c.diff?tr1=1.3&tr2=1.4&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/m4/m4/m4/m4module.h.diff?tr1=1.51&tr2=1.52&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/m4/m4/m4/m4private.h.diff?tr1=1.25&tr2=1.26&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/m4/m4/m4/macro.c.diff?tr1=1.29&tr2=1.30&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/m4/m4/m4/output.c.diff?tr1=1.11&tr2=1.12&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/m4/m4/m4/symtab.c.diff?tr1=1.40&tr2=1.41&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/m4/m4/m4/syntax.c.diff?tr1=1.3&tr2=1.4&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/m4/m4/m4/utility.c.diff?tr1=1.28&tr2=1.29&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/m4/m4/modules/gnu.c.diff?tr1=1.23&tr2=1.24&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/m4/m4/modules/load.c.diff?tr1=1.11&tr2=1.12&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/m4/m4/modules/m4.c.diff?tr1=1.44&tr2=1.45&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/m4/m4/modules/perl.c.diff?tr1=1.9&tr2=1.10&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/m4/m4/modules/stdlib.c.diff?tr1=1.9&tr2=1.10&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/m4/m4/src/freeze.c.diff?tr1=1.31&tr2=1.32&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/m4/m4/src/main.c.diff?tr1=1.42&tr2=1.43&r1=text&r2=text