Zsh Mailing List Archive
Messages sorted by:
Reverse Date,
Date,
Thread,
Author
Possible zsh bug with unique tied vars in 4.0.4?
- X-seq: zsh-workers 17311
- From: Steve Simmons <scs@xxxxxxx>
- To: zsh-workers@xxxxxxxxxx
- Subject: Possible zsh bug with unique tied vars in 4.0.4?
- Date: Mon, 10 Jun 2002 13:52:56 -0400
- Mailing-list: contact zsh-workers-help@xxxxxxxxxx; run by ezmlm
The following sequence of commands shows unexpected performance in
zsh when using tied variables and unique processing. In brief, if
you have tied variables FOO and foo and typeset one of them to unique
(-U), you can use the other to assign non-unique values to the first.
This is counter-intuitive at best :-), and I can see no use for this
feature. The manual page leads one strongly to believe that a single
variable is created which simply has two names and two presentations;
the experiment below shows that clearly there are other differences
as well.
In most cases this wouldn't matter as I would declare such variables
with
$ typeset -Tx -U FOO foo
However, when applying -U to useful special vars like PATH you cannot
redeclare the overall type, nor can you simply do
$ typeset -U PATH
as that leads to the anomalous performance as shown below. One must
set uniqueness on both forms;
$ typeset -U PATH
$ typeset -U path
otherwise $PATH and $path start getting out of sync.
This lack of tieing of secondary variable characteristics may apply
to other items as well (justification, etc); I've not experimented.
I'm running zsh version 4.0.4 on FreeBDS 4.6 RC2.
Steve
superior$ typeset -Tx FOO foo
superior$ echo $FOO
superior$ echo $foo
superior$ FOO="a:b"
superior$ echo $FOO
a:b
superior$ echo $foo
a b
superior$ foo=($foo a c)
superior$ echo $foo
a b a c
superior$ echo $FOO
a:b:a:c
superior$ typeset -U foo
superior$ echo $foo
a b c
superior$ echo $FOO
a:b:c
superior$ FOO="a:c:$FOO"
superior$ echo $FOO
a:c:a:b:c
superior$ echo $foo
a c a b c
superior$ foo=($foo)
superior$ echo $foo
a c b
superior$ echo $FOO
a:c:b
superior$ echo $ZSH_VERSION
4.0.4
superior$ uname -a
FreeBSD superior.inland-sea.com 4.6-RC FreeBSD 4.6-RC #8: Fri Jun 7 21:27:23 EDT 2002 root@xxxxxxxxxxxxxxxxxxxxxxx:/usr/src/sys/compile/SUPERIOR i386
Messages sorted by:
Reverse Date,
Date,
Thread,
Author