bug-gawk
[Top][All Lists]
Advanced

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

Re: [bug-gawk] --lint=no-ext and multidimensional arrays


From: arnold
Subject: Re: [bug-gawk] --lint=no-ext and multidimensional arrays
Date: Sun, 30 Jun 2019 05:19:06 -0600
User-agent: Heirloom mailx 12.5 7/5/10

The patch I sent also takes care of indirect function calls.

Arnold

M <address@hidden> wrote:

> Thank you for a quick fix!
>
> It seems that indirect function calls are the same case:
>
> $ cat test.awk
> BEGIN {
>    test_test()
>    func_name = "test_test"
>    @func_name()
>
>    exit
> }
>
> function test_test() {
> }
> $ /path/to/gawk --lint=no-ext --exec test.awk
> gawk: test.awk:4: warning: indirect function calls are a gawk extension
> $
>
> Other "ext-warnings" seem to be hidden correctly.
> _______________
>
> Yours respectfully,
> Mark Krauze
>
> 30.06.2019, 13:03, "address@hidden" <address@hidden>:
> > Hi. Thanks for the note.
> >
> > M <address@hidden> wrote:
> >
> >> ??Hello! When launched with the option --lint=no-ext, Gawk v5.0.1 still
> >> ??warns that multidimensional arrays are a gawk extension.
> >>
> >> ??How to reproduce:
> >>
> >> ??$ cat test.awk
> >> ??BEGIN {
> >> ????????a[1][2] = 3
> >>
> >> ????????exit
> >> ??}
> >> ??$ /path/to/gawk --lint=no-ext --exec test.awk
> >> ??gawk: test.awk:2: warning: multidimensional arrays are a gawk extension
> >> ??$
> >>
> >> ??Looks like a bug.
> >> ??_______________
> >>
> >> ??Yours respectfully,
> >> ??Mark Krauze
> >
> > Here is the fix.
> >
> > Thanks,
> >
> > Arnold
> > -------------------------------------------------
> > diff --git a/awkgram.y b/awkgram.y
> > index a940ac9d..beb775d9 100644
> > --- a/awkgram.y
> > +++ b/awkgram.y
> > @@ -1994,7 +1994,7 @@ func_call
> >
> > ??????????????????????????????????if (do_traditional || do_posix)
> > ??????????????????????????????????????????????????yyerror("%s", msg);
> > - else if (do_lint && ! warned) {
> > + else if (do_lint_extensions && ! warned) {
> > ??????????????????????????????????????????????????warned = true;
> > ??????????????????????????????????????????????????lintwarn("%s", msg);
> > ??????????????????????????????????}
> > @@ -3857,7 +3857,7 @@ retry:
> > ??????????????????????????????????if (c == '[') {
> > ??????????????????????????????????????????????????if (do_traditional)
> > ??????????????????????????????????????????????????????????????????fatal(_("multidimensional
> >  arrays are a gawk extension"));
> > - if (do_lint)
> > + if (do_lint_extensions)
> > ??????????????????????????????????????????????????????????????????lintwarn(_("multidimensional
> >  arrays are a gawk extension"));
> > ??????????????????????????????????????????????????yylval = 
> > GET_INSTRUCTION(Op_sub_array);
> > ??????????????????????????????????????????????????lasttok = ']';



reply via email to

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