Hi!

----

Another example of typeset -T+nameref which doesn't seem to work:
-- snip --
namespace nyarlathotep
{
        typeset -T addme_t=(
                compound c=(
                        compound -a ar
                )

                function addsomething
                {
                        nameref container=_.c
                        nameref arr=container.ar

                        arr+=( value="$1" value2="$2" )
                }
        )
}

function main
{
        .nyarlathotep.addme_t ad

        ad.addsomething "fish" "in water"
        ad.addsomething "chicken" "on land"

        print "${ad}"
}

set -o nounset
main
-- snip --

AFAIK the expected output should look like this...
-- snip --
(
        c=(
                typeset -C -a ar=(
                        [0]=(
                                value=fish
                                value2='in water'
                        )
                        [1]=(
                                value=chicken
                                value2='on land'
                        )
                )
        )
)
-- snip --
... but ast-ksh.2012-08-13 (ksh93v- alpha) prints this:
-- snip --
(
        c=(
                typeset -a ar
                typeset -a ar
        )
)
x.sh: line 29: c.ar.value: is not an element of ad
-- snip --

Note: Please check for "compound array mutations", e.g. that _c.ar is
really "typeset -C -a" and not "typeset -a" ...

----

Bye,
Roland

-- 
  __ .  . __
 (o.\ \/ /.o) roland.ma...@nrubsig.org
  \__\/\/__/  MPEG specialist, C&&JAVA&&Sun&&Unix programmer
  /O /==\ O\  TEL +49 641 3992797
 (;O/ \/ \O;)
_______________________________________________
ast-developers mailing list
ast-developers@research.att.com
https://mailman.research.att.com/mailman/listinfo/ast-developers

Reply via email to