about summary refs log tree commit diff
path: root/Src/subst.c
diff options
context:
space:
mode:
authorPeter Stephenson <pws@users.sourceforge.net>2009-03-10 11:12:02 +0000
committerPeter Stephenson <pws@users.sourceforge.net>2009-03-10 11:12:02 +0000
commite391f09457c5ce71df740aac17bedd833e64e74b (patch)
tree778e12ad9ae6e2426d981fd5cf8faf9bc3130a32 /Src/subst.c
parent6f3f3c6a010c43881b394cbb60c5f4938a8f43b3 (diff)
downloadzsh-e391f09457c5ce71df740aac17bedd833e64e74b.tar.gz
zsh-e391f09457c5ce71df740aac17bedd833e64e74b.tar.xz
zsh-e391f09457c5ce71df740aac17bedd833e64e74b.zip
26705: multibyte characters with Meta in ${(%)foo} etc.
Diffstat (limited to 'Src/subst.c')
-rw-r--r--Src/subst.c10
1 files changed, 3 insertions, 7 deletions
diff --git a/Src/subst.c b/Src/subst.c
index 89e9e46eb..9e3f06fe3 100644
--- a/Src/subst.c
+++ b/Src/subst.c
@@ -2734,7 +2734,7 @@ paramsubst(LinkList l, LinkNode n, char **str, int qt, int ssub)
      */
     if (presc) {
 	int ops = opts[PROMPTSUBST], opb = opts[PROMPTBANG];
-	int opp = opts[PROMPTPERCENT], len;
+	int opp = opts[PROMPTPERCENT];
 
 	if (presc < 2) {
 	    opts[PROMPTPERCENT] = 1;
@@ -2756,10 +2756,8 @@ paramsubst(LinkList l, LinkNode n, char **str, int qt, int ssub)
 	    ap = aval;
 	    for (; *ap; ap++) {
 		char *tmps;
-		unmetafy(*ap, &len);
 		untokenize(*ap);
-		tmps = promptexpand(metafy(*ap, len, META_NOALLOC),
-				    0, NULL, NULL, NULL);
+		tmps = promptexpand(*ap, 0, NULL, NULL, NULL);
 		*ap = dupstring(tmps);
 		free(tmps);
 	    }
@@ -2767,10 +2765,8 @@ paramsubst(LinkList l, LinkNode n, char **str, int qt, int ssub)
 	    char *tmps;
 	    if (!copied)
 		val = dupstring(val), copied = 1;
-	    unmetafy(val, &len);
 	    untokenize(val);
-	    tmps = promptexpand(metafy(val, len, META_NOALLOC),
-					0, NULL, NULL, NULL);
+	    tmps = promptexpand(val, 0, NULL, NULL, NULL);
 	    val = dupstring(tmps);
 	    free(tmps);
 	}