Zsh Mailing List Archive
Messages sorted by:
Reverse Date,
Date,
Thread,
Author
PATCH: pws-19: document minor syntactic innovation
- X-seq: zsh-workers 6416
- From: Peter Stephenson <pws@xxxxxxxxxxxxxxxxx>
- To: zsh-workers@xxxxxxxxxxxxxx (Zsh hackers list)
- Subject: PATCH: pws-19: document minor syntactic innovation
- Date: Tue, 01 Jun 1999 11:56:14 +0200
- In-reply-to: ""Bart Schaefer""'s message of "Mon, 31 May 1999 22:41:00 DFT." <990531224100.ZM8919@xxxxxxxxxxxxxxxxxxxxxxx>
- Mailing-list: contact zsh-workers-help@xxxxxxxxxxxxxx; run by ezmlm
"Bart Schaefer" wrote:
> On May 23, 5:15pm, Peter Stephenson wrote:
> } ${${${${(f)"$(typeset)"}:#*local *\=*}%%\=*}##* }
I should note that things like ${"foo"} only work by accident: you'll find,
for example, that ${"foo"%bar} doesn't work. That would require swallowing
nulled out quotes at another point in paramsubst(), which I hinted at
before. I didn't do this because I didn't see a use for it, but maybe it's
more consistent that way?
> What's the right way to document this change, including odd stuff like
> the above?
Here's a possible chunk for 3.1.5-pws-20.
> Should the FAQ recommend using this form in some circumstances because
> of the (@) change in 3.1.5?
Well, the new nested substitution section (3.22) is really about getting a
parameter evaluated as a parameter name and I'm not sure it's a good idea
to put in a lot of stuff about other flags and their uses, which could get
quite involved. Maybe it needs a separate question, but I'm not sure I can
even remember the full effect of the changes.
--- Doc/Zsh/expn.yo.qt Mon May 10 10:18:42 1999
+++ Doc/Zsh/expn.yo Tue Jun 1 11:41:35 1999
@@ -502,6 +502,15 @@
deleted. The form with tt($LPAR())...tt(RPAR()) is often useful in
combination with the flags described next; see the examples below.
+Note that double quotes may appear around nested quotations, in which case
+only the part inside is treated as quoted; for example, tt(${(f)"$(foo)"})
+quotes the result of tt($(foo)), but the flag `tt((f))' (see below) is
+applied using the rules for unquoted substitutions. Note further that
+quotes are themselves nested in this context; for example, in
+tt("${(@f)"$(foo)"}"), there are two sets of quotes, one surrounding the
+whole expression, the other (redundant) surrounding the tt($(foo)) as
+before.
+
subsect(Parameter Expansion Flags)
cindex(parameter expansion flags)
cindex(flags, parameter expansion)
--
Peter Stephenson <pws@xxxxxxxxxxxxxxxxx> Tel: +39 050 844536
WWW: http://www.ifh.de/~pws/
Dipartimento di Fisica, Via Buonarroti 2, 56127 Pisa, Italy
Messages sorted by:
Reverse Date,
Date,
Thread,
Author