m4-commit
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

m4 ./ChangeLog m4/builtin.c m4/input.c m4/m4mod...


From: Gary V. Vaughan
Subject: m4 ./ChangeLog m4/builtin.c m4/input.c m4/m4mod...
Date: Tue, 17 Jun 2003 11:17:45 -0400

CVSROOT:        /cvsroot/m4
Module name:    m4
Branch:         
Changes by:     Gary V. Vaughan <address@hidden>        03/06/17 11:17:45

Modified files:
        .              : ChangeLog 
        m4             : builtin.c input.c m4module.h macro.c module.c 
                         symtab.c 
        modules        : m4.c 
        src            : freeze.c main.c 

Log message:
        Still refactoring furiously.  This delta represents a change in
        semantics to symtab.c.  Instead of building temporary m4_tokens
        in the caller, and copying fields in the methods, we now create
        the actual m4_token for hashing in the caller so the methods just
        slot them in directly.  Also, this means that we don't lookup a
        symbol and get back an allocated but VOID token to copy fields
        into, we create the token we want to push and pass that to
        m4_symbol_define or m4_symbol_pushdef.  And that's it.  There are
        a few other small changes to stop knowledge of the implementation
        of symtab.c leaking out into other files.
        
        * m4/macro.c (expand_argument): Comment typo corrected.
        * m4/symtab.c (symtab_fetch): New function to fetch the address of
        an interned symbol.
        (m4_symbol_pushdef): Take an extra value parameter and use this
        directly as the new top of the value stack.  All callers changed
        to build a token and pass responsibility for memory in, rather
        than copying as we used to.
        (m4_symbol_define): Also use the new value parameter directly as a
        replacement for the top of the value stack.  All callers changed
        to build a token as above.
        (m4_set_symbol_traced): New function to set the traced bit on the
        named symbol, creating it if necessary.
        (symbol_popval): The guts of the old m4_symbol_popdef.
        (m4_symbol_popdef): Use it.
        * m4/builtin.c (m4_symbol_set_token): Removed,
        (m4__symbol_set_builtin, m4__symbol_set_macro): Removed and
        replaced...
        * m4/module.c (m4_set_module_builtin_table)
        (m4_set_module_macro_table): ...with these more orthogonal
        functions.
        * m4/m4module.h (m4_macro_pushdef, m4_macro_define)
        (m4_builtin_pushdef, m4_builtin_define): Removed.  No longer
        required.
        * m4/builtin.c (M4_ARG_SIGNATURE_DEFAULT_SIZE)
        (m4_arg_signature_parse): Moved...
        * m4/symtab.c: ...to here.
        * m4/input.c (m4_token_copy): Arghh... I'm amazed this didn't
        screw something up. Moved...
        * m4/symtab.c (m4_token_copy): ...to here, and fixed so that it
        actually does a proper deep copy of source to dest.

CVSWeb URLs:
http://savannah.gnu.org/cgi-bin/viewcvs/m4/m4/ChangeLog.diff?tr1=1.176&tr2=1.177&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/m4/m4/m4/builtin.c.diff?tr1=1.19&tr2=1.20&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/m4/m4/m4/input.c.diff?tr1=1.24&tr2=1.25&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/m4/m4/m4/m4module.h.diff?tr1=1.47&tr2=1.48&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/m4/m4/m4/macro.c.diff?tr1=1.25&tr2=1.26&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/m4/m4/m4/module.c.diff?tr1=1.20&tr2=1.21&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/m4/m4/m4/symtab.c.diff?tr1=1.36&tr2=1.37&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/m4/m4/modules/m4.c.diff?tr1=1.40&tr2=1.41&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/m4/m4/src/freeze.c.diff?tr1=1.27&tr2=1.28&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/m4/m4/src/main.c.diff?tr1=1.38&tr2=1.39&r1=text&r2=text





reply via email to

[Prev in Thread] Current Thread [Next in Thread]