[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [bug-gawk] --lint=no-ext and multidimensional arrays
From: |
M |
Subject: |
Re: [bug-gawk] --lint=no-ext and multidimensional arrays |
Date: |
Sun, 30 Jun 2019 14:16:42 +0300 |
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 = ']';