about summary refs log tree commit diff
path: root/Src/subst.c
diff options
context:
space:
mode:
authorPeter Stephenson <pws@users.sourceforge.net>2010-02-08 11:49:28 +0000
committerPeter Stephenson <pws@users.sourceforge.net>2010-02-08 11:49:28 +0000
commit4a0ddedf0af0bbd22530132df830b588b2b63220 (patch)
treeff240f0b690eeb65ad4cc579518ff584c86038d1 /Src/subst.c
parentb8d5ad137c4a9d11155588b07e6454e49a3e322d (diff)
downloadzsh-4a0ddedf0af0bbd22530132df830b588b2b63220.tar.gz
zsh-4a0ddedf0af0bbd22530132df830b588b2b63220.tar.xz
zsh-4a0ddedf0af0bbd22530132df830b588b2b63220.zip
unposted: a couple of typeset -g's and a comment
Diffstat (limited to 'Src/subst.c')
-rw-r--r--Src/subst.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/Src/subst.c b/Src/subst.c
index 0bb0b798f..462d0b3a0 100644
--- a/Src/subst.c
+++ b/Src/subst.c
@@ -2356,6 +2356,11 @@ paramsubst(LinkList l, LinkNode n, char **str, int qt, int ssub)
 	if (!(flags & (SUB_MATCH|SUB_REST|SUB_BIND|SUB_EIND|SUB_LEN)))
 	    flags |= SUB_REST;
 
+	/*
+	 * With ":" treat a value as unset if the variable is set but
+	 * - (array) contains no elements
+	 * - (scalar) contains an empty string
+	 */
 	if (colf && !vunset)
 	    vunset = (isarr) ? !*aval : !*val || (*val == Nularg && !val[1]);