about summary refs log tree commit diff
path: root/Src/subst.c
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 /Src/subst.c
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 'Src/subst.c')
-rw-r--r--Src/subst.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/Src/subst.c b/Src/subst.c
index e8257163b..22b4cfe08 100644
--- a/Src/subst.c
+++ b/Src/subst.c
@@ -2059,8 +2059,11 @@ paramsubst(LinkList l, LinkNode n, char **str, int qt, int ssub)
 		 * There really is a value.  Padding and case
 		 * transformations used to be handled here, but
 		 * are now handled in getstrvalue() for greater
-		 * consistency.
+		 * consistency.  However, we get unexpected effects
+		 * if we allow them to applied on every call, so
+		 * set the flag that allows them to be substituted.
 		 */
+		v->flags |= VALFLAG_SUBST;
 		val = getstrvalue(v);
 	    }
 	}