From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 4373 invoked by alias); 27 Apr 2017 08:40:31 -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: 41016 Received: (qmail 418 invoked from network); 27 Apr 2017 08:40:31 -0000 X-Qmail-Scanner-Diagnostics: from mailout2.w1.samsung.com by f.primenet.com.au (envelope-from , uid 7791) with qmail-scanner-2.11 (clamdscan: 0.99.2/21882. spamassassin: 3.4.1. Clear:RC:0(210.118.77.12):SA:0(-5.0/5.0):. Processed in 1.852684 secs); 27 Apr 2017 08:40:31 -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=-5.0 required=5.0 tests=RCVD_IN_DNSWL_HI, RCVD_IN_MSPIKE_H3,RCVD_IN_MSPIKE_WL,RP_MATCHES_RCVD,SPF_HELO_PASS autolearn=unavailable autolearn_force=no version=3.4.1 X-Envelope-From: p.stephenson@samsung.com X-Qmail-Scanner-Mime-Attachments: | X-Qmail-Scanner-Zip-Files: | Received-SPF: none (ns1.primenet.com.au: domain at samsung.com does not designate permitted sender hosts) X-AuditID: cbfec7f2-f797e6d000004438-b5-5901ae754c3d Date: Thu, 27 Apr 2017 09:40:18 +0100 From: Peter Stephenson To: zsh-workers@zsh.org Subject: Re: PATCH: perform expansion for precommand modifiers Message-id: <20170427094018.27eafa6a@pwslap01u.europe.root.pri> In-reply-to: <170426142508.ZM19385@torch.brasslantern.com> 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=US-ASCII Content-transfer-encoding: 7bit X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFnrHIsWRmVeSWpSXmKPExsWy7djPc7ql6xgjDR5P1bU42PyQyYHRY9XB D0wBjFFcNimpOZllqUX6dglcGTNef2ErWM5RMX/RC6YGxsNsXYycHBICJhI7bnxlgrDFJC7c Ww8U5+IQEljKKHHq20YmCKeXSWLK6hfMMB0nPp6AqlrGKLF01SUoZxqTxPala5ghnDOMEg+X /GSBcM4ySizc85QVpJ9FQFXiTPsTsI1sAoYSUzfNZgSxRQTEJc6uPc8CYgsL2EnM3bcdbB+v gL3E584DYDWcAlYSjbPWg9n8AvoSV/9+grrcXmLmlTOMEPWCEj8m3wObwyygI7Ft22N2CFte YvOat2DXSQj8Z5N4dHYn0EEcQI6sxKYDUL+5SExb/ZMdwhaWeHV8C5QtI3F5cjcLhN3PKPGk 2xdizgxGidNndkCD0lqi7/ZFRohlfBKTtk1nhpjPK9HRJgRR4iHx7PYqqDmOEisuHmKawKg4 C8nZs5CcPQvJ2QsYmVcxiqSWFuempxYb6xUn5haX5qXrJefnbmIEpoLT/45/2sH49YTVIUYB DkYlHl6HjQyRQqyJZcWVuYcYJTiYlUR4/ZcyRgrxpiRWVqUW5ccXleakFh9ilOZgURLn5Tp1 LUJIID2xJDU7NbUgtQgmy8TBKdXAePBW3eyjSnE2Z7SlFlr7/Vr9Zf/RaLb/33PU57z85/3t 5Jz+v8tnXWrj/fvVJ8pe4Jvbk00uq/1eJhTP5QhbdvvOYy+WC6uKyreJcu5rKOG6uMjrts42 PqFeTY1S/h+PGzi3qecb9cx4PX2jEYPUivb1fj2KYisbZrgemvDheeY1p6mZUw2+hSixFGck GmoxFxUnAgCWrQjUAQMAAA== X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFlrGIsWRmVeSWpSXmKPExsVy+t/xa7oT1jFGGrT9ZLc42PyQyYHRY9XB D0wBjFFuNhmpiSmpRQqpecn5KZl56bZKoSFuuhZKCnmJuam2ShG6viFBSgpliTmlQJ6RARpw cA5wD1bSt0twy5jx+gtbwXKOivmLXjA1MB5m62Lk5JAQMJE48fEElC0mceHeejBbSGAJo8S+ G2ldjFxA9gwmiavL7jFDOOcYJf6c7GCDcM4ySnzd3cAK0sIioCpxpv0JE4jNJmAoMXXTbEYQ W0RAXOLs2vMsILawgJ3E3H3bmUFsXgF7ic+dB8BqOAWsJBpnrWeEGPqNUaLlcAM7SIJfQF/i 6t9PTBD32UvMvHKGEaJZUOLH5HtgQ5kFtCQ2b2tihbDlJTavecsM8YO6xI27u9knMArPQtIy C0nLLCQtCxiZVzGKpJYW56bnFhvpFSfmFpfmpesl5+duYgTG0bZjP7fsYOx6F3yIUYCDUYmH 12EjQ6QQa2JZcWXuIUYJDmYlEV7/pYyRQrwpiZVVqUX58UWlOanFhxhNgSEzkVlKNDkfGON5 JfGGJobmloZGxhYW5kZGSuK8Uz9cCRcSSE8sSc1OTS1ILYLpY+LglGpgTGHewBO6TKHy4iTJ qxrnD25MmhRiEJmsrd3oErT0h1GbWFmrzAHzB/cPL+mV9Hir1LCWK+DFNlPuOfy7NH9+2fnl p+aFZz3/+DlbL53xq960raD669ePftNX9nv5SL7Z1Nu+kKWTLW7pouV97unSz2v8uNfum2f/ QiX6fUODtLj59649a+RylFiKMxINtZiLihMB4gS6c7kCAAA= X-MTR: 20000000000000000@CPGS X-CMS-MailID: 20170427084021eucas1p29ddd3196280ca4c50065800ff08ab5aa X-Msg-Generator: CA X-Sender-IP: 182.198.249.180 X-Local-Sender: =?UTF-8?B?UGV0ZXIgU3RlcGhlbnNvbhtTQ1NDLURhdGEgUGxhbmUb?= =?UTF-8?B?7IK87ISx7KCE7J6QG1ByaW5jaXBhbCBFbmdpbmVlciwgU29mdHdhcmU=?= X-Global-Sender: =?UTF-8?B?UGV0ZXIgU3RlcGhlbnNvbhtTQ1NDLURhdGEgUGxhbmUbU2Ft?= =?UTF-8?B?c3VuZyBFbGVjdHJvbmljcxtQcmluY2lwYWwgRW5naW5lZXIsIFNvZnR3YXJl?= X-Sender-Code: =?UTF-8?B?QzEwG0VIURtDMTBDRDA1Q0QwNTAwNTg=?= CMS-TYPE: 201P X-HopCount: 7 X-CMS-RootMailID: 20170425091533eucas1p26af70366557848059af3b7c8957f1d55 X-RootMTR: 20170425091533eucas1p26af70366557848059af3b7c8957f1d55 References: <20170425101520.23910ede@pwslap01u.europe.root.pri> <20170426194517.GA12961@fujitsu.shahaf.local2> <170426142508.ZM19385@torch.brasslantern.com> On Wed, 26 Apr 2017 14:25:08 -0700 Bart Schaefer wrote: > This also fixes this bug reported recently, to wit, quoting a precommand > modifier to protect it from alias expansion did not work correctly: > > torch% alias exec='echo foo' > torch% ( exec -c printenv ) > foo -c printenv > torch% ( \exec -c printenv ) > zsh: command not found: -c > > Now: > > torch% alias exec='echo foo' > torch% ( exec -c printenv ) > foo -c printenv > torch% ( \exec -c printenv ) > torch% ( \exec printenv ) > MANPATH=... and so on Here's a test. diff --git a/Test/A01grammar.ztst b/Test/A01grammar.ztst index 32caf5f..37311ce 100644 --- a/Test/A01grammar.ztst +++ b/Test/A01grammar.ztst @@ -114,6 +114,12 @@ 0:`exec' with -c option >xx + (\exec /bin/sh -c 'echo Test one'; print Not reached) + ('exec' /bin/sh -c 'echo Test two'; print Not reached) +0:exec with quotes +>Test one +>Test two + cat() { echo Function cat executed; } command cat && unfunction cat 0:`command' precommand modifier