[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, 19 Jun 2003 10:51:04 -0400 |
CVSROOT: /cvsroot/m4
Module name: m4
Branch:
Changes by: Gary V. Vaughan <address@hidden> 03/06/19 10:51:04
Modified files:
. : ChangeLog
m4 : debug.c input.c m4.c m4module.h m4private.h
macro.c module.c symtab.c utility.c
modules : gnu.c m4.c
src : freeze.c main.c
Log message:
Tie down the interface to libm4 some more. Make more structures
opaque to modules by moving them to m4private.h, and writing
setters and getters. To win back the speed penalty for doing this
also wrote macroized versions that do know about structure layout
in m4private.h and #include that file into modules when NDEBUG is
defined at compile time. There are still some accessor macros in
m4private.h that need to go, but that is not necessary to clean
the module api up.
* m4/m4module.h (m4_symbol_type): Moved...
* m4/m4private.h (m4__symbol_type): ...to here.
* m4/symtab.c (m4_get_symbol_value, m4_get_symbol_traced)
(m4_set_symbol_traced, m4_set_symbol_name_traced)
(m4_is_symbol_text, m4_is_symbol_func, m4_get_symbol_text)
(m4_get_symbol_func, m4_symbol_value_create)
(m4_symbol_value_delete, m4_set_symbol_value_text)
(m4_set_symbol_value_func): New exported api to symbols.
(m4_get_symbol_value_type): Replaced by m4_is_symbol_value_text
and m4_is_symbol_value_func.
* m4/m4module.h: Prototype these guys.
* m4/module.c (m4_set_module_macro_table)
(m4_set_module_builtin_table): Make these static, there is no
reason to pollute the api with them.
* m4/m4private.h: Reformatting.
(m4_get_symtab): Only define when NDEBUG is defined.
(m4_get_symbol_value, m4_get_symbol_traced)
(m4_set_symbol_traced, m4_set_symbol_name_traced)
(m4_is_symbol_text, m4_is_symbol_func, m4_get_symbol_text)
(m4_get_symbol_func, m4_symbol_value_create)
(m4_symbol_value_delete, m4_set_symbol_value_text)
(m4_set_symbol_value_func): Macro implementations of the new
functions when NDEBUG is defined.
(SYMBOL_TRACED, SYMBOL_VALUE, SYMBOL_TYPE, SYMBOL_TEXT)
(SYMBOL_FUNC, VALUE_TYPE, VALUE_TEXT, VALUE_FUNC): Removed.
Superceded by the above. All callers changed.
(M4ARG): Removed. This is no longer different to the
m4/m4module.h definition.
* modules/gnu.c, modules/m4.c: Only include m4private.h when
NDEBUG is defined. That way we exercise the same (albeit slower)
api that external modules must use.
CVSWeb URLs:
http://savannah.gnu.org/cgi-bin/viewcvs/m4/m4/ChangeLog.diff?tr1=1.179&tr2=1.180&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/m4/m4/m4/debug.c.diff?tr1=1.12&tr2=1.13&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/m4/m4/m4/input.c.diff?tr1=1.26&tr2=1.27&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/m4/m4/m4/m4.c.diff?tr1=1.1&tr2=1.2&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/m4/m4/m4/m4module.h.diff?tr1=1.49&tr2=1.50&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/m4/m4/m4/m4private.h.diff?tr1=1.23&tr2=1.24&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/m4/m4/m4/macro.c.diff?tr1=1.27&tr2=1.28&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/m4/m4/m4/module.c.diff?tr1=1.22&tr2=1.23&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/m4/m4/m4/symtab.c.diff?tr1=1.38&tr2=1.39&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/m4/m4/m4/utility.c.diff?tr1=1.26&tr2=1.27&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/m4/m4/modules/gnu.c.diff?tr1=1.21&tr2=1.22&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/m4/m4/modules/m4.c.diff?tr1=1.42&tr2=1.43&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/m4/m4/src/freeze.c.diff?tr1=1.29&tr2=1.30&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/m4/m4/src/main.c.diff?tr1=1.40&tr2=1.41&r1=text&r2=text
- m4 ./ChangeLog m4/debug.c m4/input.c m4/m4.c m4...,
Gary V. Vaughan <=