From: "Lawrence Velázquez" <larryv@macports.org>
To: Ray Andrews <rayandrews@eastlink.ca>
Cc: zsh-users@zsh.org
Subject: Re: surprise with echo
Date: Thu, 18 Dec 2014 22:20:10 -0500 [thread overview]
Message-ID: <F420E4E8-BFE1-465A-BD90-124F4945897D@macports.org> (raw)
In-Reply-To: <141218190653.ZM16331@torch.brasslantern.com>
On Dec 18, 2014, at 10:06 PM, Bart Schaefer <schaefer@brasslantern.com> wrote:
> On Dec 18, 5:24pm, Ray Andrews wrote:
>
> } Can that be prevented?
>
> Only by turning off the option, or by doing e.g. ${@:-''} so that the
> expansion is the empty string rather than the empty array.
Also note that "preventing" it would amount to treating an empty array
the same as an array containing a single null value, which is currently
not the case:
% emulate zsh && setopt RC_EXPAND_PARAM
% foo=()
% echo "abc${foo[*]}def"
abcdef
% echo "abc${foo[@]}def"
% foo=('')
% echo "abc${foo[*]}def"
abcdef
% echo "abc${foo[@]}def"
abcdef
You're making quite a few assumptions about how positional parameters
and array substitution work. For instance, the fact that you're using
double quotes (which affects the expansion of $foo[*] versus $foo[@]) is
clouding your understanding of how RC_EXPAND_PARAM works. Observe:
% emulate zsh && setopt RC_EXPAND_PARAM
% foo=()
% echo "abc${foo[*]}def"
abcdef
% echo abc${foo[*]}def
%
Please read zshparam(1).
vq
next prev parent reply other threads:[~2014-12-19 3:27 UTC|newest]
Thread overview: 27+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-12-19 1:24 Ray Andrews
2014-12-19 3:06 ` Bart Schaefer
2014-12-19 3:20 ` Lawrence Velázquez [this message]
2014-12-19 6:09 ` Ray Andrews
2014-12-19 6:30 ` Kurtis Rader
2014-12-19 17:54 ` Ray Andrews
2014-12-19 4:14 ` Kurtis Rader
2014-12-19 4:39 ` Lawrence Velázquez
2014-12-19 5:19 ` Kurtis Rader
2014-12-19 6:00 ` Lawrence Velázquez
2014-12-19 5:57 ` Bart Schaefer
2014-12-19 6:08 ` Kurtis Rader
2014-12-19 6:58 ` Ray Andrews
2014-12-20 2:55 ` Bart Schaefer
2014-12-20 3:05 ` Kurtis Rader
2014-12-20 3:49 ` Ray Andrews
2014-12-20 4:40 ` Bart Schaefer
2014-12-20 5:50 ` Ray Andrews
2014-12-19 6:45 ` Ray Andrews
2014-12-19 11:21 ` Oliver Kiddle
2014-12-20 2:09 ` Bart Schaefer
2014-12-20 2:58 ` Kurtis Rader
2014-12-20 3:55 ` Ray Andrews
2014-12-20 5:08 ` Lawrence Velázquez
2014-12-20 5:37 ` Ray Andrews
2014-12-20 9:45 ` ZyX
2014-12-19 6:00 ` Ray Andrews
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=F420E4E8-BFE1-465A-BD90-124F4945897D@macports.org \
--to=larryv@macports.org \
--cc=rayandrews@eastlink.ca \
--cc=zsh-users@zsh.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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).