zsh-workers
 help / color / mirror / code / Atom feed
* Possible zsh bug with unique tied vars in 4.0.4?
@ 2002-06-10 17:52 Steve Simmons
  2002-06-11  9:52 ` Peter Stephenson
  0 siblings, 1 reply; 2+ messages in thread
From: Steve Simmons @ 2002-06-10 17:52 UTC (permalink / raw)
  To: zsh-workers

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@superior.inland-sea.com:/usr/src/sys/compile/SUPERIOR  i386


^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: Possible zsh bug with unique tied vars in 4.0.4?
  2002-06-10 17:52 Possible zsh bug with unique tied vars in 4.0.4? Steve Simmons
@ 2002-06-11  9:52 ` Peter Stephenson
  0 siblings, 0 replies; 2+ messages in thread
From: Peter Stephenson @ 2002-06-11  9:52 UTC (permalink / raw)
  To: Zsh hackers list

Steve Simmons wrote:
> 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.

I think `strongly' is an overstatement since the manual page says the
two parameters `may otherwise be manipulated as normal' and indicates
that only the scalar can be exported.  However, it's certainly not
particularly useful that -U works that way.  It's more useful with some
of the other flags where you might want different padding (-L, -R, -Z)
or you might want to hide the value (-H) for just one of the parameters,
or mark just one of them as readonly (-r), even though these are
probably less used features.  The only really good reason for not
changing this is that it makes a mess of the internals to grope around
for the alternative parameter just in the case where they are tied and
just for certain flags.  I expect the documentation could be made more
explicit, though.

-- 
Peter Stephenson <pws@csr.com>                  Software Engineer
CSR Ltd., Science Park, Milton Road,
Cambridge, CB4 0WH, UK                          Tel: +44 (0)1223 392070


**********************************************************************
The information transmitted is intended only for the person or
entity to which it is addressed and may contain confidential 
and/or privileged material. 
Any review, retransmission, dissemination or other use of, or
taking of any action in reliance upon, this information by 
persons or entities other than the intended recipient is 
prohibited.  
If you received this in error, please contact the sender and 
delete the material from any computer.
**********************************************************************


^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2002-06-11  9:53 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2002-06-10 17:52 Possible zsh bug with unique tied vars in 4.0.4? Steve Simmons
2002-06-11  9:52 ` Peter Stephenson

Code repositories for project(s) associated with this public inbox

	https://git.vuxu.org/mirror/zsh/

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).