From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 3326 invoked by alias); 3 Jun 2016 08:52:35 -0000 Mailing-List: contact zsh-workers-help@zsh.org; run by ezmlm Precedence: bulk X-No-Archive: yes List-Id: Zsh Workers List List-Post: List-Help: X-Seq: 38586 Received: (qmail 2843 invoked from network); 3 Jun 2016 08:52:33 -0000 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 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 On Thu, 2 Jun 2016 17:05:08 +0000 Daniel Shahaf 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