From cba1d41ffc5c544d01e2ba67be414914b45e80e7 Mon Sep 17 00:00:00 2001 From: Peter Stephenson Date: Fri, 29 May 2015 12:17:18 +0100 Subject: [PATCH] 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. --- ChangeLog | 5 +++++ Src/Modules/parameter.c | 5 ----- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/ChangeLog b/ChangeLog index 75d21bc11..fcaacaa54 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2015-05-29 Peter Stephenson + + * 20237: Src/Modules/parameter.c: $unctions[foo] shouldn't be + unmetafied when passed as parameter body. + 2015-05-28 Daniel Hahler * 35098: Completion/Unix/Command/_git: provide --amend also with 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);