zsh-users
 help / color / mirror / code / Atom feed
* Is this a side effect of RC_EXPAND_PARAM?
@ 2005-12-02 21:04 DervishD
  2005-12-04  0:16 ` Bart Schaefer
  0 siblings, 1 reply; 3+ messages in thread
From: DervishD @ 2005-12-02 21:04 UTC (permalink / raw)
  To: Zsh Users

    Hi all :)

    $ zsh -f
    $ emulate -LR zsh
    $ var="one|two||four|five"
    $ vara=("${(s:|:)var}")
    $ print $vara[3]
    four
    $ setopt rcexpandparam
    $ vara=("${(s:|:)var}")
    $ print ·$vara[3]·
    ··

    I didn't expect this, there is no array expansions (except in the
print command of course, but that shouldn't be affected by
RC_EXPAND_PARAM) :???????????? If I add "^" to the vara assignment,
then it works as expected, so the RC_EXPAND_PARAM is making a
difference there!

    What am I doing wrong? Is this a bug or a feature?

    Thanks in advance :)

    Raúl Núñez de Arenas Coronado

-- 
Linux Registered User 88736 | http://www.dervishd.net
http://www.pleyades.net & http://www.gotesdelluna.net
It's my PC and I'll cry if I want to...


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

* Re: Is this a side effect of RC_EXPAND_PARAM?
  2005-12-02 21:04 Is this a side effect of RC_EXPAND_PARAM? DervishD
@ 2005-12-04  0:16 ` Bart Schaefer
  2005-12-04  8:30   ` DervishD
  0 siblings, 1 reply; 3+ messages in thread
From: Bart Schaefer @ 2005-12-04  0:16 UTC (permalink / raw)
  To: Zsh Users

On Dec 2, 10:04pm, DervishD wrote:
}
}     What am I doing wrong? Is this a bug or a feature?

zagzig% var="one|two||four|five"
zagzig% print -l "${(s:|:)var}"
one
two
four
five
zagzig% setopt rcexpandparam
zagzig% print -l "${(s:|:)var}"
one
two

four
five
zagzig% 

With rcexpandparam the empty element is retained so that it can be joined
with whatever appears on both sides of the expansion (even though in this
case that's nothing) so you get the equivalent of

    vara=("one" "two" "" "four" "five")

whereas with it NOT set, the empty element is removed, so you get

    vara=(one two  four five)

Forcing empty elements to be retained as empty rather than removed is
one reason the compsys functions have rcexpandparam set.  Admittedly
this ought to be documented, rather than assuming that anyone who sets
rcexpandparam must be familiar with the semantics of the rc shell ...


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

* Re: Is this a side effect of RC_EXPAND_PARAM?
  2005-12-04  0:16 ` Bart Schaefer
@ 2005-12-04  8:30   ` DervishD
  0 siblings, 0 replies; 3+ messages in thread
From: DervishD @ 2005-12-04  8:30 UTC (permalink / raw)
  To: Bart Schaefer; +Cc: Zsh Users

    Hi Bart :)

 * Bart Schaefer <schaefer@brasslantern.com> dixit:
> With rcexpandparam the empty element is retained so that it can be
> joined with whatever appears on both sides of the expansion (even
> though in this case that's nothing) so you get the equivalent of
> 
>     vara=("one" "two" "" "four" "five")

    So it's not a side effect nor a bug, it's a feature...
 
> whereas with it NOT set, the empty element is removed, so you get
> 
>     vara=(one two  four five)

    This is what I always get, BTW, if I hit <Tab> to expand the
variable assignment, no matter the status of rcexpandparam. This was
confusing me even more.
 
> Forcing empty elements to be retained as empty rather than removed
> is one reason the compsys functions have rcexpandparam set. 
> Admittedly this ought to be documented, rather than assuming that
> anyone who sets rcexpandparam must be familiar with the semantics
> of the rc shell ...

    My problem was that I wasn't associating rcexpandparam with the
rc shell in any way O:) All is clear now, thanks a lot :)))

    Raúl Núñez de Arenas Coronado

-- 
Linux Registered User 88736 | http://www.dervishd.net
http://www.pleyades.net & http://www.gotesdelluna.net
It's my PC and I'll cry if I want to...


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

end of thread, other threads:[~2005-12-04  8:30 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2005-12-02 21:04 Is this a side effect of RC_EXPAND_PARAM? DervishD
2005-12-04  0:16 ` Bart Schaefer
2005-12-04  8:30   ` DervishD

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).