Re: Issue with VAR=foo cmd where VAR is a named reference

Philippe Altherr <[email protected]>
Newsgroups gmane.comp.shells.zsh.devel
Message-ID <CAGdYchvto8bOjthzQXQ1K+_uXiRTuSnny1+=rd4e6az-3gw8aA@mail.gmail.com>
>
> > I don't mean that it should be possible to export named references as
> something special that would be recognized as a named reference by a Zsh
> shell. I just mean that tagging a named reference R with -x could have for
> effect to augment the environment with the key value pair R=$R (if R refers
> to a non-array variable):
> >
> > % typeset var=foo
> > % typeset -nx ref=var
> > % printenv | grep ref=
> > ref=var
> > % zsh -c 'typeset -p ref'
> > export ref=var
> >
> > In principle, this is trivial. In practice, it's difficult because the
> environment is precomputed. Each time an exported scalar is updated, its
> associated key value pair is updated in the precomputed environment. For
> exported named references, you would have to go through the whole parameter
> table each time a scalar is updated just to find whether there are exported
> named references that refer to it and update their associated key value
> pairs in the precomputed environment. That would be prohibitively expensive.
>
> I would probably expect the result of the above code to be that the
> environment contained ref=foo. Is that what you meant to type? I can't
> see how the problem you describe would happen otherwise.
>

Oh yes, you are right! Stupid me copied the wrong thing. Here is what I
meant:

% typeset var=foo
% typeset -nx ref=var
% printenv | grep ref=
ref=foo
% zsh -c 'typeset -p ref'
export ref=foo

Philippe
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.