From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on inbox.vuxu.org X-Spam-Level: X-Spam-Status: No, score=-3.3 required=5.0 tests=DKIM_SIGNED,DKIM_VALID, MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED autolearn=ham autolearn_force=no version=3.4.4 Received: (qmail 30016 invoked from network); 28 Nov 2022 15:48:14 -0000 Received: from zero.zsh.org (2a02:898:31:0:48:4558:7a:7368) by inbox.vuxu.org with ESMTPUTF8; 28 Nov 2022 15:48:14 -0000 ARC-Seal: i=1; cv=none; a=rsa-sha256; d=zsh.org; s=rsa-20210803; t=1669650494; b=XYs1SSnXZADCT8BfJirlFs+U12XTkvYrfvGzHddAWRv6iQN72sQFFxoboR6bvitEuha9A6L91J xqtdlMFzmX8aryPG4zhsoKlJKLm0pagfKozcNY/H0EvDgAP5PNYaJud0RH4EOBbIJ4Q2h5Od+C 52m48YHrbzKqcsdVWwsu2ccZtmR/33osza9gjI88TxQlRQmzv4lsJMNNJYmW1qZDo85dCWxvEk n0EFXc+VvngIxPxuH2qtt8+pn3J4ZkWwLC0OgguFyMM8zMwAU/lUZ3w5OVsmCOBfZHE81Zgmmr zYV/dkByzQ2TP4iKyhVQTCU+XiOIaOqNSRMrWm1QDCxwPg==; ARC-Authentication-Results: i=1; zsh.org; iprev=pass (snd21007-bg.im.kddi.ne.jp) smtp.remote-ip=222.227.84.23; dmarc=none header.from=kba.biglobe.ne.jp; arc=none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed; d=zsh.org; s=rsa-20210803; t=1669650494; bh=gPTzQQhESEdUInvNXlhDnBtrUYJw322AeFoZzM+11eM=; h=List-Archive:List-Owner:List-Post:List-Unsubscribe:List-Subscribe:List-Help: List-Id:Sender:Message-ID:In-Reply-To:To:References:Date:Subject: MIME-Version:Content-Transfer-Encoding:Content-Type:From:DKIM-Signature; b=VtuwCToey0mL8/KbDg+tMA9ie2NM50Xq6KOUAKYnedECxjyQzlwmyJn9+u3FgDphU0/ginLgeF FhzdqkrHqMNol+QG3mJJh2sibORNouC8NY6FJI+tGXcjt7FUs3qcFnVNXMZlnEntFtqLYZodzp /0xjnH739BtAIvfHr5WRI1YmViAGaQa1oNO/4azrx+QIl/LcQ1s2sWs7RDlqJhijDuGX3FusSq up/FiVnZzNpaWHVDII1FodoOocGljEWQLSPuRg9/9m1C4rlgdMW6Z2/UObessDnYfACZf2nGza SHLjedqi877BeLUvX3QK1220Tc8x+IJ4ue2OuX3JnFTPKw==; DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=zsh.org; s=rsa-20210803; h=List-Archive:List-Owner:List-Post:List-Unsubscribe: List-Subscribe:List-Help:List-Id:Sender:Message-Id:In-Reply-To:To:References: Date:Subject:Mime-Version:Content-Transfer-Encoding:Content-Type:From: Reply-To:Cc:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID; bh=QLF9OkfTdNqx+5IsZZNDE45w1Ys4FlN5PtFmQJKuooI=; b=d891axAIO+QUB860FuAdWlqxhv yfp2J229wue7RWmcOhYTqDStCvnfNHjayf6pv6uefbauWVuWLaf0E5XAXEhkiFwZ3dn840vlsxBL0 1XkUdxUyTbo99yeaUlyCreRbiqiV+Di5USW3c7uBUkooSFmFVbcSQWhqGp4vVBbSupaLtmYyDNqn3 beAWS30ZNUG9zyNXRlnyygdjTa2+BpWBaWzSdvJFbnwwKkzVTBI2br215KtpvccChJb2JO4qXnL6G ySPAX7dtmI3sc5BOuWTDexxlzRtbxkPgU/sIE1nNArpzZpHLCTuijZJU52JR8mteEmOC2FuerTE8K oHTWaPaA==; Received: by zero.zsh.org with local id 1ozgMe-000Fvd-VE; Mon, 28 Nov 2022 15:48:13 +0000 Authentication-Results: zsh.org; iprev=pass (snd21007-bg.im.kddi.ne.jp) smtp.remote-ip=222.227.84.23; dmarc=none header.from=kba.biglobe.ne.jp; arc=none Received: from snd21007-bg.im.kddi.ne.jp ([222.227.84.23]:40931 helo=dfmta1007.biglobe.ne.jp) by zero.zsh.org with esmtps (TLS1.3:TLS_AES_256_GCM_SHA384:256) id 1ozgMJ-000Fe4-Pk; Mon, 28 Nov 2022 15:47:54 +0000 Received: from mail.biglobe.ne.jp by omta1007.biglobe.ne.jp with ESMTP id <20221128154745685.VQMJ.125901.mail.biglobe.ne.jp@biglobe.ne.jp> for ; Tue, 29 Nov 2022 00:47:45 +0900 From: "Jun. T" Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: quoted-printable Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3696.120.41.1.1\)) Subject: =?utf-8?B?UmU6IFtidWddICRzY2FsYXJbKHB3c1tcMF0pMV0gb3IgJHNjYWxh?= =?utf-8?B?clsocHdzW8OhXSkxXSBkb2Vzbid0IHdvcms=?= Date: Tue, 29 Nov 2022 00:47:44 +0900 References: <20221113081452.bk7zdnbc6qvqjxef@chazelas.org> To: zsh-workers@zsh.org In-Reply-To: <20221113081452.bk7zdnbc6qvqjxef@chazelas.org> Message-Id: X-Mailer: Apple Mail (2.3696.120.41.1.1) X-Biglobe-Sender: takimoto-j@kba.biglobe.ne.jp X-Seq: 51079 Archived-At: X-Loop: zsh-workers@zsh.org Errors-To: zsh-workers-owner@zsh.org Precedence: list Precedence: bulk Sender: zsh-workers-request@zsh.org X-no-archive: yes List-Id: List-Help: , List-Subscribe: , List-Unsubscribe: , List-Post: List-Owner: List-Archive: > 2022/11/13 17:14, Stephane Chazelas wrote: >=20 > $ a=3D$'foo\0bar' > $ echo $a[(pws[\0])1] > f >=20 > Expected "foo". >=20 > It seems that's some missing metafication Yes. The following seems to work (simple test is included) diff --git a/Src/params.c b/Src/params.c index 27ea82298..f1fe38955 100644 --- a/Src/params.c +++ b/Src/params.c @@ -1262,7 +1262,6 @@ getarg(char **str, int *inv, Value v, int a2, = zlong *w, /* first parse any subscription flags */ if (v->pm && (*s =3D=3D '(' || *s =3D=3D Inpar)) { int escapes =3D 0; - int waste; for (s++; *s !=3D ')' && *s !=3D Outpar && s !=3D *str; s++) { switch (*s) { case 'r': @@ -1339,8 +1338,13 @@ getarg(char **str, int *inv, Value v, int a2, = zlong *w, sav =3D *t; *t =3D '\0'; s +=3D arglen; - sep =3D escapes ? getkeystring(s, &waste, GETKEYS_SEP, = NULL) - : dupstring(s); + if (escapes) { + int len; + sep =3D getkeystring(s, &len, GETKEYS_SEP, NULL); + sep =3D metafy(sep, len, META_HREALLOC); + } + else + sep =3D dupstring(s); *t =3D sav; s =3D t + arglen - 1; break; diff --git a/Test/D06subscript.ztst b/Test/D06subscript.ztst index adbd398c4..21127e641 100644 --- a/Test/D06subscript.ztst +++ b/Test/D06subscript.ztst @@ -294,3 +294,8 @@ F:Regression test for workers/42297 [[ ${a[$i]} =3D ${a[i]} ]] 0f:Math evaluation of commas in array subscripts F:In math, (($i)) should be the same as ((i)), see workers/47748. + + string=3D$'foo\0bar' + echo ${string[(pws:\0:)1]} +0:Word splitting by NUL +>foo