From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 19683 invoked by alias); 24 Jan 2017 18:03:13 -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: 40410 Received: (qmail 18537 invoked from network); 24 Jan 2017 18:03:13 -0000 X-Qmail-Scanner-Diagnostics: from mailout4.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.14):SA:0(-8.2/5.0):. Processed in 1.251165 secs); 24 Jan 2017 18:03:13 -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=-8.2 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-f790f6d000002555-1f-5887947de1ec Date: Tue, 24 Jan 2017 17:52:58 +0000 From: Peter Stephenson To: Zsh Hackers' List Subject: Re: "VAR=foo export VAR" no longer works in zsh emulation Message-id: <20170124175258.78b0554e@pwslap01u.europe.root.pri> In-reply-to: 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+NgFnrNIsWRmVeSWpSXmKPExsWy7djP87q1U9ojDPbfV7c42PyQyYHRY9XB D0wBjFFcNimpOZllqUX6dglcGQ3r1jEVLBeoeNj7k7WB8SJPFyMnh4SAicSRAz3sELaYxIV7 69m6GLk4hASWMkq0T/vMCuH0MkksX9MJlOEA63h8pw6kQUhgGaPE4444iJppTBItJ6+yQzhn GCUW7T4CNeoso8SXmw0sIC0sAqoSc1+vYQWx2QQMJaZums0IMlVEQFui/aMYSFhYwEli/rZX bCA2r4C9xLepW8HO4xRwkfjTOYEJxOYX0Je4+vcTE8TZ9hIzr5xhhKgXlPgx+R7YKmYBHYlt 2x6zQ9jyEpvXvGUGuUdCoJldYkfXFWaIb2QlNh1ghpjjInH8015GCFtY4tXxLdBgkZHo7DgI taufUeJJty/EnBmMEqfP7GCDSFhL9N2+yAixjE9i0rbpUPN5JTrahCBKPCQu3VgBtctR4lXv UcYJjIqzkJw9C8nZs5CcvYCReRWjSGppcW56arGxXnFibnFpXrpecn7uJkZgEjj97/inHYxf T1gdYhTgYFTi4X2R0h4hxJpYVlyZe4hRgoNZSYRXbSJQiDclsbIqtSg/vqg0J7X4EKM0B4uS OO+eBVfChQTSE0tSs1NTC1KLYLJMHJxSDYzeeSWrfim4cZ99rXPLWG9OU9akRVYhx4un7FA5 N60+TTrXidmIR9B8vkTU0YbTkw637O58a9MTpM+eekmm+4uU6xKjC4HBEgsurVc9Gm9UVp8m JnT5tqiazoHsouPydh/fMxzn/PBOINR9q5nR892MVzxtWybZzRW7VPvsfsehxFNh/85v1FZi Kc5INNRiLipOBABc8/ER/gIAAA== X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFlrCIsWRmVeSWpSXmKPExsVy+t/xa7q7p7RHGJxoMLM42PyQyYHRY9XB D0wBjFFuNhmpiSmpRQqpecn5KZl56bZKoSFuuhZKCnmJuam2ShG6viFBSgpliTmlQJ6RARpw cA5wD1bSt0twy2hYt46pYLlAxcPen6wNjBd5uhg5OCQETCQe36nrYuQEMsUkLtxbz9bFyMUh JLCEUeLMk5ksEM4MJonNk94wQTjnGCX6fjyCcs4ySuxaepwJpJ9FQFVi7us1rCA2m4ChxNRN sxlBVogIaEu0fxQDCQsLOEnM3/aKDcTmFbCX+DZ1KzuIzSngIvGncwLYGCGBvUwSCzpdQWx+ AX2Jq38/MUGcZy8x88oZRoheQYkfk++xgNjMAloSm7c1sULY8hKb17xlhpijLnHj7m72CYzC s5C0zELSMgtJywJG5lWMIqmlxbnpucWGesWJucWleel6yfm5mxiBMbTt2M/NOxgvbQw+xCjA wajEwzshqT1CiDWxrLgy9xCjBAezkgiv2kSgEG9KYmVValF+fFFpTmrxIUZTYLhMZJYSTc4H xndeSbyhiaG5paGRsYWFuZGRkjhvyYcr4UIC6YklqdmpqQWpRTB9TBycUg2MGj2ME4++W5RS xb9+c/7DgiKt/QviK77tern3yxGu7ZwCaoveRr9y6pv2TFLhvdj8LRqF22riEg0D1q2ZHlMw eXnm42DplTf55Jz8l80PONr91p/5d8menIk+LQfkXi6fJv3+EBPrwycKL1gr4phzn6T2vbgW Wxfc1HbmjexpRseNb04HsDzXUmIpzkg01GIuKk4EAOzwGM23AgAA X-MTR: 20000000000000000@CPGS X-CMS-MailID: 20170124175301eucas1p2506e3431a4cb1d8bae355c22902fc73b X-Msg-Generator: CA X-Sender-IP: 182.198.249.179 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: 20170124163239eucas1p1a2fc806430fa49f6e0c9ec83fe42b676 X-RootMTR: 20170124163239eucas1p1a2fc806430fa49f6e0c9ec83fe42b676 References: <20170124135037.06081eb1@pwslap01u.europe.root.pri> <20170124163235.7cfbc4f6@pwslap01u.europe.root.pri> On Tue, 24 Jan 2017 08:42:14 -0800 Bart Schaefer wrote: > On Tue, 24 Jan 2017, Bart Schaefer wrote: > > > > Do you have POSIX_BUILTINS set? > > > > Evidently "emulate sh" does not set that and needs to? > > Sorry, I've got that backwards. Apparently one did not need to set that > before, and now one does? It looks up to 5.2 you don't need the option, and this changed in the commit below. So it's less sh compatibility, as it still works there, and more backward compatilibity in zsh. pws commit c8de0af35935602370cc79193d0e0d53971250d4 Author: Barton E. Schaefer Date: Mon Sep 19 00:25:13 2016 -0700 39381: handle save/restore of variable values when "typeset"-related reserved words are prefixed by an assignment diff --git a/ChangeLog b/ChangeLog index e92c7b2..f9592dd 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2016-09-19 Barton E. Schaefer + + * 39381: Src/exec.c: handle save/restore of variable values when + "typeset"-related reserved words are prefixed by an assignment + 2016-09-19 Mikael Magnusson * 39351: Functions/Zle/bracketed-paste-url-magic: Handle magnet diff --git a/Src/exec.c b/Src/exec.c index 9a7234e..d924148 100644 --- a/Src/exec.c +++ b/Src/exec.c @@ -3543,7 +3543,7 @@ execcmd(Estate state, int input, int output, int how, int last1) * if it's got "command" in front. * If it's a normal command --- save. */ - if (is_shfunc || (hn->flags & BINF_PSPECIAL)) + if (is_shfunc || (hn->flags & (BINF_PSPECIAL|BINF_ASSIGN))) do_save = (orig_cflags & BINF_COMMAND); else do_save = 1; @@ -3552,7 +3552,7 @@ execcmd(Estate state, int input, int output, int how, int last1) * Save if it's got "command" in front or it's * not a magic-equals assignment. */ - if ((cflags & BINF_COMMAND) || !assign) + if ((cflags & (BINF_COMMAND|BINF_ASSIGN)) || !assign) do_save = 1; } if (do_save && varspc)