summary refs log tree commit diff
path: root/Doc
diff options
context:
space:
mode:
authorPeter Stephenson <pws@users.sourceforge.net>2007-12-16 14:05:14 +0000
committerPeter Stephenson <pws@users.sourceforge.net>2007-12-16 14:05:14 +0000
commit2d03aa87fbdd371209aa63869d42686338d6a96b (patch)
tree1587b858a2ea60a1681d7637e667bcacecd843de /Doc
parentcce386a6e7b57dd8d6b2c9555757a14d27489ee7 (diff)
downloadzsh-2d03aa87fbdd371209aa63869d42686338d6a96b.tar.gz
zsh-2d03aa87fbdd371209aa63869d42686338d6a96b.tar.xz
zsh-2d03aa87fbdd371209aa63869d42686338d6a96b.zip
24264: restrict effect of 24234 to parameter substitution code and document
Diffstat (limited to 'Doc')
-rw-r--r--Doc/Zsh/builtins.yo5
-rw-r--r--Doc/Zsh/expn.yo10
2 files changed, 12 insertions, 3 deletions
diff --git a/Doc/Zsh/builtins.yo b/Doc/Zsh/builtins.yo
index 169f4f881..ae828cd40 100644
--- a/Doc/Zsh/builtins.yo
+++ b/Doc/Zsh/builtins.yo
@@ -1429,6 +1429,11 @@ tt(exported), tt(integer), tt(readonly)).  If tt(+m) is used with attribute
 flags, and all those flags are introduced with tt(PLUS()), the matching
 parameter names are printed but their values are not.
 
+Attribute flags that transform the final value (tt(-L), tt(-R), tt(-Z),
+tt(-l), tt(u)) are only applied to the expanded value at the point
+of a parameter expansion expression using `tt($)'.  They are not applied
+when a parameter is retrieved internally by the shell for any purpose. 
+
 The following attribute flags may be specified:
 
 startitem()
diff --git a/Doc/Zsh/expn.yo b/Doc/Zsh/expn.yo
index 9fb9f2628..1b43117c2 100644
--- a/Doc/Zsh/expn.yo
+++ b/Doc/Zsh/expn.yo
@@ -785,8 +785,12 @@ with `tt(a)', `tt(i)' or `tt(n)' to reverse the order of sorting.
 )
 item(tt(P))(
 This forces the value of the parameter var(name) to be interpreted as a
-further parameter name, whose value will be used where appropriate. If
-used with a nested parameter or command substitution, the result of that
+further parameter name, whose value will be used where appropriate.
+Note that flags set with one of the tt(typeset) family of commands
+(in particular case transformations) are not applied to the value of
+var(name) used in htis fashion.
+
+If used with a nested parameter or command substitution, the result of that
 will be taken as a parameter name in the same way.  For example, if you
 have `tt(foo=bar)' and `tt(bar=baz)', the strings tt(${(P)foo}),
 tt(${(P)${foo}}), and tt(${(P)$(echo bar)}) will be expanded to `tt(baz)'.
@@ -1062,7 +1066,7 @@ which is expanded by filename expansion to a full path; the outer
 substitution then applies the modifier tt(:h) and takes the directory part
 of the path.)
 )
-time(tt(2.) em(Internal Parameter Flags))(
+item(tt(2.) em(Internal Parameter Flags))(
 Any parameter flags set by one of the tt(typeset) family of commands,
 in particular the tt(L), tt(R), tt(Z), tt(u) and tt(l) flags for padding
 and capitalization, are applied directly to the parameter value.