From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: zsh-workers-return-43656-ml=inbox.vuxu.org@zsh.org X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on inbox.vuxu.org X-Spam-Level: X-Spam-Status: No, score=-1.1 required=5.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,MAILING_LIST_MULTI,RCVD_IN_DNSWL_NONE autolearn=ham autolearn_force=no version=3.4.2 Received: from primenet.com.au (ns1.primenet.com.au [203.24.36.2]) by inbox.vuxu.org (OpenSMTPD) with ESMTP id dff4d0bb for ; Tue, 9 Oct 2018 09:44:33 +0000 (UTC) Received: (qmail 2288 invoked by alias); 9 Oct 2018 09:44:22 -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: List-Unsubscribe: X-Seq: 43656 Received: (qmail 16468 invoked by uid 1010); 9 Oct 2018 09:44:21 -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(-7.3/5.0):. Processed in 0.847777 secs); 09 Oct 2018 09:44:21 -0000 X-Envelope-From: p.stephenson@samsung.com X-Qmail-Scanner-Mime-Attachments: | X-Qmail-Scanner-Zip-Files: | DKIM-Filter: OpenDKIM Filter v2.11.0 mailout2.w1.samsung.com 20181009094417euoutp02e0d5882ab5461dcb1b265b8cb342e512~b54ViEMOU1043810438euoutp02G DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=samsung.com; s=mail20170921; t=1539078257; bh=993dEZoQT1DME0WxElHRm89pHXn5tvOrL4NrHsj61Po=; h=Subject:From:To:Date:In-Reply-To:References:From; b=qIrahD3W5RVnWfGtC51sC44OJHRL8tWyZxHsH71e+oJPE7p451JoZzW3v+z6DV06s L6vMUu+FZiVBW9AOwu07Qzh2asswgekLt6Cmu5pPtF0UYQV/u4wFWjDmUhFmoxcw0f +Kx5Epff7rNLbZ7ttqZQiUk9cswXGE7yBRS8dAFA= X-AuditID: cbfec7f5-367ff700000012c6-98-5bbc78706de8 Subject: Re: [PATCH] [long] typeset doesn't report tied parameters (and related issues) From: Peter Stephenson To: Date: Tue, 9 Oct 2018 10:44:15 +0100 In-Reply-To: <1539075745.1499.2.camel@samsung.com> X-Mailer: Evolution 3.18.5.2-0ubuntu3.2 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFnrDIsWRmVeSWpSXmKPExsWy7djPc7oFFXuiDdoXm1kcbH7I5MDoserg B6YAxigum5TUnMyy1CJ9uwSujMbdT5kKFvBUrDtyibmBsZ2ri5GDQ0LAROL0JI8uRi4OIYEV jBKfGycxdjFyAjl9TBKfz7NDJHqZJH5OeMwKkgBpaNz3DapoOaPE/IURcEX/vi5lhHBOAyWO NTJBOOcZJdpa2sDahQUiJR73bwdrZxMwlJi6aTaYLSIgKXGt+TQjyE0sAioS3a9NQMKcAkYS p2/dZITYrCGx4eYxJhCbV0BQ4uTMJywgNrOAvETz1tnMILskBB6zSSy8tJgRoqhMovnxYaiz XSTOffrLBGELS7w6voUdwpaROD25hwWiuZ1RYs2k1+wQTg+jxKajd6BWW0v03b4Idh2zgKbE +l36EGFHiaUb1rJCApJP4sZbQYiD+CQmbZvODBHmlehoE4KoVpPY0bSVESIsI/F0jcIERqVZ SL6ZheSbWQirFjAyr2IUTy0tzk1PLTbOSy3XK07MLS7NS9dLzs/dxAhMA6f/Hf+6g3Hfn6RD jAIcjEo8vDPydkcLsSaWFVfmHmKU4GBWEuEV3b4rWog3JbGyKrUoP76oNCe1+BCjNAeLkjjv snkbo4UE0hNLUrNTUwtSi2CyTBycUg2MV514NX6uuPPwY3u6q0qb9Jq11yYytwac8RQwj1ji MHWh3eJ7wnERLNuNZ2lP6Y2d2CjsZWnNf7M2ySD+tG3tL4a0jO1amn9tjYUcORof/j0z/8hy 5VomScGdhQF37lvE8DzIfud5RJX1hOaD81Flj4V4P39hvLyiz4S37cvSsDvih6QfiQcpsRRn JBpqMRcVJwIAx74NyP8CAAA= X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFmpkkeLIzCtJLcpLzFFi42I5/e/4Pd38ij3RBrcbbS0ONj9kcmD0WHXw A1MAY5SeTVF+aUmqQkZ+cYmtUrShhZGeoaWFnpGJpZ6hsXmslZGpkr6dTUpqTmZZapG+XYJe RuPup0wFC3gq1h25xNzA2M7VxcjJISFgItG47xtjFyMXh5DAUkaJ3Tv2sUAkZCQ+XfnIDmEL S/y51sUGUdTNJPH28SeojtOMEl3nr0E55xkl7r+8CtTOwcErYCQx/Xo8SLewQKTE4/7tjCA2 m4ChxNRNs8FsEQFJiWvNpxlBylkEVCS6X5uAhDmBOk/fugk1cje7xOGlK9hAEswCmhKt239D XaQhseHmMSYQm1dAUOLkzCcsEDXyEs1bZzNPYBSahaRlFpKyWUjKFjAyr2IUSS0tzk3PLTbS K07MLS7NS9dLzs/dxAgM/m3Hfm7Zwdj1LvgQowAHoxIP74y83dFCrIllxZW5hxglOJiVRHhF t++KFuJNSaysSi3Kjy8qzUktPsRoCvTQRGYp0eR8YGTmlcQbmhqaW1gamhubG5tZKInznjeo jBISSE8sSc1OTS1ILYLpY+LglGpgNFhd3NE5Q+jTvLvtGzirSnQnfnbKqjnvJV4zpeytwadd R62fWp7oYPn4wKhCX71xvlxqw+csg92Gn8snK34rCjzvrzSBm/WSuH199nzrE38E6460uC15 OX/36qjpfpGsR57UJS1JbFzM7iK4wKSN82us0UL5LX/M384N83r1wHyr9FepT7GuSizFGYmG WsxFxYkAVzYoaJQCAAA= Message-Id: <20181009094416eucas1p2f29a3a35ce603372dd877d95f3484897~b54UQ827d2981429814eucas1p2x@eucas1p2.samsung.com> X-CMS-MailID: 20181009094416eucas1p2f29a3a35ce603372dd877d95f3484897 X-Msg-Generator: CA Content-Type: text/plain; charset="utf-8" X-RootMTR: 20181007133632epcas5p43a3b4c7f0fe1863478748c5cf46ce8ef X-EPHeader: CA CMS-TYPE: 201P X-CMS-RootMailID: 20181007133632epcas5p43a3b4c7f0fe1863478748c5cf46ce8ef References: <20180924210550.carijwjibarjivu4@chaz.gmail.com> <20181007133545.zzkrbc3ed6shnk3e@chaz.gmail.com> <20181008090557eucas1p11f18ef9ca4a6e3cc09fd59242f344f96~bltk3bsqO1947719477eucas1p1q@eucas1p1.samsung.com> <20181008141056eucas1p2a9a49ec055d2760e87c17832af9f6591~bp33g9vlR0328803288eucas1p2G@eucas1p2.samsung.com> <1539008917.1366329.1534632080.5313528C@webmail.messagingengine.com> <20181008152406eucas1p1660f190ddb4bcd4c0131c4c84492a9f2~bq3vkNlyg2997729977eucas1p1I@eucas1p1.samsung.com> <20181008154932.dvc5q46ylb66j2mm@tarpaulin.shahaf.local2> <20181008164357eucas1p28f2fd7942bffedcc4e769b2ad5d35c51~br9daEJcB1834618346eucas1p2w@eucas1p2.samsung.com> <1539017933.1412806.1534816128.38CEBA8F@webmail.messagingengine.com> <1539075745.1499.2.camel@samsung.com> On Tue, 2018-10-09 at 10:02 +0100, Peter Stephenson wrote: > On Mon, 2018-10-08 at 16:58 +0000, Daniel Shahaf wrote: > > Peter Stephenson wrote on Mon, 08 Oct 2018 17:43 +0100: > > So the lex.c error may be an independent issue.  The link to the typeset > > change is probably the failure address, 0x3A, which is the hex value of > > the ASCII colon character, which is the joinchar of $MANPATH. > That's interesting and points to a problem along the lines I suggested > --- confusion between special and non-special tied variables.  MANPATH > as a special tied variable uses colonarrsetfn() / colonarrgetfn() to set > and retrieve values, which uses a colon implicitly, not from the > parameter structure.  Non-special tied arrays have a tieddata structure > in the data. I wonder if this has anything to do with it?  I haven't definitely verified we can get here in the case newly tested but it's not obvious we can't. pws diff --git a/Src/builtin.c b/Src/builtin.c index b81acdb..ca3ef23 100644 --- a/Src/builtin.c +++ b/Src/builtin.c @@ -2258,7 +2258,7 @@ typeset_single(char *cname, char *pname, Param pm, UNUSED(int func),       } else if (pm->env && !(pm->node.flags & PM_HASHELEM))   delenv(pm);       DPUTS(ASG_ARRAYP(asg), "BUG: typeset got array value where scalar expected"); -     if (altpm) { +     if (altpm && !(pm->node.flags & PM_SPECIAL)) {   struct tieddata* tdp = (struct tieddata *) pm->u.data;   if (tdp) {       if (tdp->joinchar != joinchar && !asg->value.scalar) {