m4-commit
[Top][All Lists]
Advanced

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

m4 ChangeLog TODO doc/m4.texinfo m4/m4module.h ...


From: Eric Blake
Subject: m4 ChangeLog TODO doc/m4.texinfo m4/m4module.h ...
Date: Tue, 05 Sep 2006 13:25:24 +0000

CVSROOT:        /sources/m4
Module name:    m4
Changes by:     Eric Blake <ericb>      06/09/05 13:25:24

Modified files:
        .              : ChangeLog TODO 
        doc            : m4.texinfo 
        m4             : m4module.h m4private.h macro.c module.c 
                         symtab.c 
        modules        : gnu.c 

Log message:
        * m4/macro.c (expansion_level, macro_call_id): Change to size_t.
        All users updated.
        (expand_token): Avoid assertion just added to docs.
        (expand_macro): Track pending expansions, for when a symbol's
        definition changes during argument collection.
        (m4_macro_call, process_macro): Operate on symbol value, not
        symbol, since symbol may have changed during argument collection.
        * m4/m4private.h (m4_symbol_value): Add pending_expansions member.
        (VALUE_PENDING, SYMBOL_PENDING, VALUE_DELETED_BIT): New defines.
        (m4_get_symbol_value): Add fast macro version.
        * m4/m4module.h (M4_BUILTIN_FLAGS_MASK): New enumerator.
        (m4_macro_call): Adjust prototype.
        * m4/module.c (install_builtin_table): Check that flags are valid
        when creating builtin.
        * m4/symtab.c (m4__symtab_remove_module_references): Use
        m4_symbol_value_delete, rather than inlining it.
        (m4_symbol_value_copy): Copy placeholder text.
        (symbol_popval): Use m4_symbol_value_delete.
        (m4_symbol_value_delete): Implementation was missing when NDEBUG.
        Handle pending expansions.
        * modules/gnu.c (indir): Update to new prototype.
        * doc/m4.texinfo: Fix menus to be consistent with section names.
        (Defn): Add test that macro tokens flatten to empty string;
        triggered an assert before this patch.
        (Ifelse): Merge another node.
        (Loops): Split into...
        (Forloop, Foreach): New nodes; work is still underway on them.
        (Answers): Add more info on foreach macro; work is still underway.
        (Indir): Add test that indir collects arguments before looking up
        macro.
        * TODO: Update based on this patch.

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/m4/ChangeLog?cvsroot=m4&r1=1.373&r2=1.374
http://cvs.savannah.gnu.org/viewcvs/m4/TODO?cvsroot=m4&r1=1.19&r2=1.20
http://cvs.savannah.gnu.org/viewcvs/m4/doc/m4.texinfo?cvsroot=m4&r1=1.39&r2=1.40
http://cvs.savannah.gnu.org/viewcvs/m4/m4/m4module.h?cvsroot=m4&r1=1.81&r2=1.82
http://cvs.savannah.gnu.org/viewcvs/m4/m4/m4private.h?cvsroot=m4&r1=1.57&r2=1.58
http://cvs.savannah.gnu.org/viewcvs/m4/m4/macro.c?cvsroot=m4&r1=1.51&r2=1.52
http://cvs.savannah.gnu.org/viewcvs/m4/m4/module.c?cvsroot=m4&r1=1.42&r2=1.43
http://cvs.savannah.gnu.org/viewcvs/m4/m4/symtab.c?cvsroot=m4&r1=1.58&r2=1.59
http://cvs.savannah.gnu.org/viewcvs/m4/modules/gnu.c?cvsroot=m4&r1=1.53&r2=1.54




reply via email to

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