Mailing-List: contact zsh-workers-help@zsh.org; run by ezmlm
Precedence: bulk
X-No-Archive: yes
List-Id: Zsh Workers List <zsh-workers.zsh.org>
List-Post: <mailto:zsh-workers@zsh.org>
List-Help: <mailto:zsh-workers-help@zsh.org>
X-Spam-Checker-Version: SpamAssassin 3.4.1 (2015-04-28) on f.primenet.com.au
X-Spam-Level: 
X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00 autolearn=ham
	autolearn_force=no version=3.4.1
X-AuditID: cbfec7f4-f796c6d000001486-ce-5751454bd204
Date: Fri, 03 Jun 2016 09:52:24 +0100
From: Peter Stephenson <p.stephenson@samsung.com>
To: zsh-workers@zsh.org
Subject: Re: $functions: failed to find end of command substitution
Message-id: <20160603095224.4f5f2610@pwslap01u.europe.root.pri>
In-reply-to: <20160602170341.GA14533@fujitsu.shahaf.local2>
References: <20160602170341.GA14533@fujitsu.shahaf.local2>
Organization: Samsung Cambridge Solution Centre
X-Mailer: Claws Mail 3.7.9 (GTK+ 2.22.0; i386-redhat-linux-gnu)
MIME-version: 1.0
Content-type: text/plain; charset=UTF-8
Content-transfer-encoding: quoted-printable
X-Brightmail-Tracker:
 H4sIAAAAAAAAA+NgFjrPLMWRmVeSWpSXmKPExsVy+t/xa7reroHhBq9fWFgcbH7I5MDoserg
	B6YAxigum5TUnMyy1CJ9uwSujJbJt9kLbnFVtDfNYG1gXMjRxcjBISFgItF4XrWLkRPIFJO4
	cG89WxcjF4eQwFJGieeHDjFDODOYJPZ2HmQEqRISOM0oMf2hMUTiDKPEzwub2EESLAKqEu+O
	3mYFsdkEDCWmbpoN1iAiIC5xdu15FhBbWMBZ4vvfHWA2r4C9xPI5k5hBbE4Ba4lT37+wQCyw
	kjg+4R2YzS+gL3H17ycmiPPsJWZeOcMI0Sso8WPyPbAaZgF1iUnzFjFD2NoST95dYIWYoy5x
	4+5u9gmMwrOQtMxC0jILScsCRuZVjKKppckFxUnpuYZ6xYm5xaV56XrJ+bmbGCHB/GUH4+Jj
	VocYBTgYlXh4VywICBdiTSwrrsw9xCjBwawkwmttGxguxJuSWFmVWpQfX1Sak1p8iFGag0VJ
	nHfurvchQgLpiSWp2ampBalFMFkmDk6pBsb0/JNmDM8Ppc7SWOGxxfFIU/yyLzzam96avg++
	NfeBSo2sbZe2erVQaEzRBRZTdY+2QNEpD8NqzficnRc9mbzZ0j3aj3PL7t6pAhPuKCdx3BB5
	2pP9uFn70mqZQON7Gz2j3jgzeZd/LzYqWp225HPQ79jpKQzTH263OVkTs/cl09nN0fp73JVY
	ijMSDbWYi4oTAciA5WxiAgAA
X-Seq: zsh-workers 38586

On Thu, 2 Jun 2016 17:05:08 +0000
Daniel Shahaf <d.s@daniel.shahaf.name> wrote:
> $ zsh -f
> % f() {                            =20
>   : $(:)
>   "=E2=86=93"
> }
> % : $functions
> zsh: failed to find end of command substitution

"Great questions of history finally answered..."

pws

diff --git a/Src/Modules/parameter.c b/Src/Modules/parameter.c
index edb0517..98bcaba 100644
--- a/Src/Modules/parameter.c
+++ b/Src/Modules/parameter.c
@@ -487,11 +487,6 @@ scanfunctions(UNUSED(HashTable ht), ScanFunc func, int=
 flags, int dis)
 			    strcat(pm.u.str, " \"$@\"");
 			} else
 			    pm.u.str =3D dyncat(start, t);
-			/*
-			 * TBD: Is this unmetafy correct?  Surely as this
-			 * is a parameter value it stays metafied?
-			 */
-			unmetafy(pm.u.str, NULL);
 			zsfree(t);
=20
 			if (shf->redir) {
diff --git a/Test/D07multibyte.ztst b/Test/D07multibyte.ztst
index 39ba5ef..dedf241 100644
--- a/Test/D07multibyte.ztst
+++ b/Test/D07multibyte.ztst
@@ -553,3 +553,12 @@
 0:${(q+)...} with printable multibyte characters
 >=E3=83=9B
 >'She said "=E3=83=9B".  I said "You can'\''t '\''=E3=83=9B'\'' me!'
+
+#  This will silently succeed if zsh/parameter isn't available
+  (zmodload zsh/parameter >/dev/null 2>&1
+  f() {
+    : $(:)
+    "=E2=86=93"
+  }
+  : $functions)
+0:Multibtye handled of functions parameter

