• (Gawk) What is the function of the (new) third arg to an extension function?

    From gazelle@gazelle@shell.xmission.com (Kenny McCormack) to comp.lang.awk on Tue Apr 22 12:03:27 2025
    From Newsgroup: comp.lang.awk

    In the process of porting one of my extension functions to the latest GAWK (5.3.2), I noticed that extension functions now take a third arg, whose
    purpose is unknown (to me, anyway).

    What used to be: do_something(nargs, result)
    is now: do_something(nargs, result, unused)

    But nobody knows what unused is used for. Note that if you compile (as I
    do) with -W -Wall -Werror, then you need to add:

    (void) unused;

    somewhere in the function in order to silence the "unused parameter" warning.

    In awk.h and gawkapi.h, this third parameter is referred to as "finfo", but
    I can find no other reference to finfo anywhere else.

    So, can anyone shed any light on what this third parameter is for, and why
    it is called "unused" in some places, and "finfo" in others?
    --
    b w r w g y b r y b
    --- Synchronet 3.20c-Linux NewsLink 1.2
  • From Manuel Collado@mcollado2011@gmail.com to comp.lang.awk on Wed Apr 23 11:38:13 2025
    From Newsgroup: comp.lang.awk

    El 22/4/25 a las 14:03, Kenny McCormack escribió:
    In the process of porting one of my extension functions to the latest GAWK (5.3.2), I noticed that extension functions now take a third arg, whose purpose is unknown (to me, anyway).

    What used to be: do_something(nargs, result)
    is now: do_something(nargs, result, unused)

    But nobody knows what unused is used for. Note that if you compile (as I
    do) with -W -Wall -Werror, then you need to add:

    (void) unused;

    somewhere in the function in order to silence the "unused parameter" warning.

    In awk.h and gawkapi.h, this third parameter is referred to as "finfo", but
    I can find no other reference to finfo anywhere else.

    So, can anyone shed any light on what this third parameter is for, and why
    it is called "unused" in some places, and "finfo" in others?


    I think this is documented in the manual:

    https://www.gnu.org/software/gawk/manual/html_node/Extension-Functions.html

    HTH.

    --- Synchronet 3.20c-Linux NewsLink 1.2