about summary refs log tree commit diff
path: root/Src/Modules/parameter.c
diff options
context:
space:
mode:
authorPeter Stephenson <pws@zsh.org>2015-05-29 12:17:18 +0100
committerPeter Stephenson <pws@zsh.org>2015-05-29 12:17:18 +0100
commitcba1d41ffc5c544d01e2ba67be414914b45e80e7 (patch)
treec03f65a34ddacb54dcda85fe5d5a1a412b5d1850 /Src/Modules/parameter.c
parentda603d0a002128661fa4497043f0efed1072f9ef (diff)
downloadzsh-cba1d41ffc5c544d01e2ba67be414914b45e80e7.tar.gz
zsh-cba1d41ffc5c544d01e2ba67be414914b45e80e7.tar.xz
zsh-cba1d41ffc5c544d01e2ba67be414914b45e80e7.zip
2037: ${functions[foo]} shouldn't be unmetafied.
When passed back from the parameter-specific "get" handler it's
still in the shell's internals, so remains metafied.

This caused mayhem with UTF-8 characters in function bodies.
Diffstat (limited to 'Src/Modules/parameter.c')
-rw-r--r--Src/Modules/parameter.c5
1 files changed, 0 insertions, 5 deletions
diff --git a/Src/Modules/parameter.c b/Src/Modules/parameter.c
index 55157a90c..04d448529 100644
--- a/Src/Modules/parameter.c
+++ b/Src/Modules/parameter.c
@@ -410,11 +410,6 @@ getfunction(UNUSED(HashTable ht), const char *name, int dis)
 	    } else
 		h = dyncat(start, t);
 	    zsfree(t);
-	    /*
-	     * TBD: Is this unmetafy correct?  Surely as this
-	     * is a parameter value it stays metafied?
-	     */
-	    unmetafy(h, NULL);
 
 	    if (shf->redir) {
 		t = getpermtext(shf->redir, NULL, 1);