summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog6
-rw-r--r--Src/subst.c2
2 files changed, 7 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index 5710f7d9b..0dcc5a935 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+2011-03-21  Peter Stephenson  <pws@csr.com>
+
+	* 28936: Src/subst.c: ${#$} and ${#?} also didn't work.
+
 2011-03-20  Frank Terbeck  <ft@bewatermyfriend.org>
 
 	* Johan Sundström: 28890: Completion/Unix/Command/.distfiles,
@@ -14363,5 +14367,5 @@
 
 *****************************************************
 * This is used by the shell to define $ZSH_PATCHLEVEL
-* $Revision: 1.5228 $
+* $Revision: 1.5229 $
 *****************************************************
diff --git a/Src/subst.c b/Src/subst.c
index dfe96c890..7838d67d9 100644
--- a/Src/subst.c
+++ b/Src/subst.c
@@ -2039,6 +2039,8 @@ paramsubst(LinkList l, LinkNode n, char **str, int qt, int ssub)
 	} else if ((c == '#' || c == Pound) &&
 		   (itype_end(s+1, IIDENT, 0) != s + 1
 		    || (cc = s[1]) == '*' || cc == Star || cc == '@'
+		    || cc == '?' || cc == Quest
+		    || cc == '$' || cc == String || cc == Qstring
 		    || cc == '#' || cc == Pound
 		    || cc == '-' || (cc == ':' && s[2] == '-')
 		    || (isstring(cc) && (s[2] == Inbrace || s[2] == Inpar)))) {