m4-commit
[Top][All Lists]
Advanced

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

m4 ./ChangeLog ./TODO m4/builtin.c m4/input.c m...


From: Gary V. Vaughan
Subject: m4 ./ChangeLog ./TODO m4/builtin.c m4/input.c m...
Date: Fri, 12 Oct 2001 15:57:29 -0400

CVSROOT:        /cvsroot/m4
Module name:    m4
Changes by:     Gary V. Vaughan <address@hidden>        01/10/12 15:57:29

Modified files:
        .              : ChangeLog TODO 
        m4             : builtin.c input.c m4module.h m4private.h 
                         macro.c symtab.c 
        modules        : evalparse.c gnu.c load.c m4.c modtest.c 
                         mpeval.c perl.c shadow.c stdlib.c time.c 
        src            : freeze.c main.c 

Log message:
        Rather than forcing each builtin definition to manage its own
        argument range checking, tabulate the maxima and minima for all
        builtins in each module.  This forces us to consider what the
        valid ranges for each builtin should be, and moves the checking
        code out of each builtin implementation and into the builtin
        caller infrastructure.
        
        * m4/m4module.h (struct m4_builtin): Add argument minima and
        maxima.
        * m4/m4private.h (struct m4_token): Reflect them here too.
        * m4/input.c (struct input_block): ...and here.
        (m4_token_copy): New function for token copying.
        (init_macro_token): Copy them from a token to the input stack.
        (m4_next_token): Don't forget to initialise them for text
        macros.
        * m4/macro.c (expand_argument): Use m4_token_copy, and also
        check argument counts before calling the builtin handler.
        * m4/symtab.c (m4_symbol_builtin): Take minima and maxima params.
        (m4_symbol_macro): Likewise.
        * m4/builtin.c (m4_builtin_pushdef): Add min_args and max_args
        parameters.  Updated all callers.
        (m4_builtin_define): Ditto.
        (m4_macro_pushdef, m4_macro_define): Ditto.
        * m4/symtab.c (m4_symbol_builtin, m4_symbol_define): Ditto.
        * modules/evalparse.c:  Declare argument counts for defined
        builtins and remove explicit calls to m4_bad_argc().
        * modules/gnu.c: Ditto.
        * modules/load.c: Ditto.
        * modules/m4.c: Ditto.
        * modules/modtest.c: Ditto.
        * modules/mpeval.c: Ditto.
        * modules/perl.c: Ditto.
        * modules/shadow.c: Ditto.
        * modules/stdlib.c: Ditto.
        * modules/time.c: Ditto.
        * TODO: Updated.

CVSWeb URLs:
http://savannah.gnu.org/cgi-bin/viewcvs/m4/m4/ChangeLog.diff?tr1=1.137&tr2=1.138&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/m4/m4/TODO.diff?tr1=1.8&tr2=1.9&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/m4/m4/m4/builtin.c.diff?tr1=1.13&tr2=1.14&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/m4/m4/m4/input.c.diff?tr1=1.14&tr2=1.15&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/m4/m4/m4/m4module.h.diff?tr1=1.33&tr2=1.34&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/m4/m4/m4/m4private.h.diff?tr1=1.13&tr2=1.14&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/m4/m4/m4/macro.c.diff?tr1=1.16&tr2=1.17&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/m4/m4/m4/symtab.c.diff?tr1=1.25&tr2=1.26&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/m4/m4/modules/evalparse.c.diff?tr1=1.3&tr2=1.4&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/m4/m4/modules/gnu.c.diff?tr1=1.16&tr2=1.17&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/m4/m4/modules/load.c.diff?tr1=1.7&tr2=1.8&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/m4/m4/modules/m4.c.diff?tr1=1.26&tr2=1.27&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/m4/m4/modules/modtest.c.diff?tr1=1.6&tr2=1.7&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/m4/m4/modules/mpeval.c.diff?tr1=1.10&tr2=1.11&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/m4/m4/modules/perl.c.diff?tr1=1.7&tr2=1.8&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/m4/m4/modules/shadow.c.diff?tr1=1.7&tr2=1.8&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/m4/m4/modules/stdlib.c.diff?tr1=1.6&tr2=1.7&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/m4/m4/modules/time.c.diff?tr1=1.6&tr2=1.7&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/m4/m4/src/freeze.c.diff?tr1=1.20&tr2=1.21&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/m4/m4/src/main.c.diff?tr1=1.29&tr2=1.30&r1=text&r2=text




reply via email to

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