From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on inbox.vuxu.org X-Spam-Level: X-Spam-Status: No, score=-3.2 required=5.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_EF,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI, RCVD_IN_DNSWL_MED,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.4 Received: from zero.zsh.org (zero.zsh.org [IPv6:2a02:898:31:0:48:4558:7a:7368]) by inbox.vuxu.org (Postfix) with ESMTP id E4C5822BF8 for ; Tue, 5 Mar 2024 06:52:32 +0100 (CET) ARC-Seal: i=1; cv=none; a=rsa-sha256; d=zsh.org; s=rsa-20210803; t=1709617952; b=mvo4eUDkTcG5q2S1ZlD8TDnQW5PmTgAWWDMEsyZSIGgCuWt5Eml/lnhA1QQsThvCH5IQt309vN Nj1PHGQZ6So8vADlTysRc75v+CmSzbO/Hr/Zj/ZGBevPuf2CteqQgNPttn09HheOZ/Eihj31zE WyY6AiXR/PTCSwASMQOr9wBTyvBXxB5vQb9RWPNHUCsKLIpUbusZyxcGgsjSfZYxGgcleh5F+w 3NEbrevYMZ8fMD9BcJP9hElM3VS1VMpYdRj6Tmf8yEzsW0LM9BN+lhLPbG+L4vVn5omLPMhSSa o+Ii+jOCr7OT7l/34ZALJeW5Q6nu1Dzz1jwVXrp8j4HuWw==; ARC-Authentication-Results: i=1; zsh.org; iprev=pass (mail-lf1-f42.google.com) smtp.remote-ip=209.85.167.42; dkim=pass header.d=brasslantern-com.20230601.gappssmtp.com header.s=20230601 header.a=rsa-sha256; dmarc=none header.from=brasslantern.com; arc=none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed; d=zsh.org; s=rsa-20210803; t=1709617952; bh=NIfqrHACgb+tN8+eiCnqWscEXVIB2VDrQ91ydVm0zqc=; h=List-Archive:List-Owner:List-Post:List-Unsubscribe:List-Subscribe:List-Help: List-Id:Sender:Content-Type:To:Subject:Message-ID:Date:From:MIME-Version: DKIM-Signature:DKIM-Signature; b=BUDSjcbw9uYfgn0sb+fwnenU+ywHT+/5ecnUM0M6oXbPXNa2XHUJMaCIW0A6WZCU8+sGwNyiay BdwWg7whuq2OmNS4JhcKOK7Iuz66OeaWrAVzJXJUH63z9T7aRpAUxqVWm/fog6DQSJ0YG7oGp1 KIzojha6RlxFYQi0Epf263sUO/sn+UG4IGX4xYtRzmfhlOYS7I+3TD5d0hlMhixPx90sQuAG/D QLmsgcdGdbqHhh7CeZxOgjlUYFX1aA6ufQjT9agyp+B8LWHJcgPxQ0Q0KWM+w8+ymuNqeYjK5D hiBnznWycvIlVjQrxEQ0AzdjODhc4AeTRVukXTECXUf11Q==; 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:Content-Type:To:Subject:Message-ID: Date:From:MIME-Version:Reply-To:Cc:Content-Transfer-Encoding:Content-ID: Content-Description:Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc :Resent-Message-ID:In-Reply-To:References; bh=v+ZSa8hGtHnU15U5d+XP9VAv0CRbF6PAhvrcpPHYXFM=; b=a7EFQgQuo+mpHVDs4AHmhx3PDy YVubVdYwJlTfm9VZZom+bhhELpAk33C62w8BNGL6HYvKPhRNvjB7G1Pe1q0OoWQaXhTHItwpQ2wYe 1I3k1VkeFyKDEOnzX4SPH+pKeTivwrl9mu7SwJ73HQVzlIN9aniTcwf1bPVgIxZRZ4mbGVLLe0Y4q BY8mpNAGWbrXHqwtvxCBkeeV/hiPdWsh/AYUk1AN3EumTS9NkXT/8HjQ+0mt1iliFW6pBghhtQ32M yrdrbJ6awPJA9QOnH3DNNvlrcBeI2+GVMBBI1VG5oYl4LePWHFB+M2pCoHgt2Eys5Lrmzd5lD7qWx UwgwReWw==; Received: by zero.zsh.org with local id 1rhNj6-000Hhj-8C; Tue, 05 Mar 2024 05:52:32 +0000 Authentication-Results: zsh.org; iprev=pass (mail-lf1-f42.google.com) smtp.remote-ip=209.85.167.42; dkim=pass header.d=brasslantern-com.20230601.gappssmtp.com header.s=20230601 header.a=rsa-sha256; dmarc=none header.from=brasslantern.com; arc=none Received: from mail-lf1-f42.google.com ([209.85.167.42]:51449) by zero.zsh.org with esmtps (TLS1.3:TLS_AES_128_GCM_SHA256:128) id 1rhNio-000HNC-9D; Tue, 05 Mar 2024 05:52:15 +0000 Received: by mail-lf1-f42.google.com with SMTP id 2adb3069b0e04-51320ca689aso6335264e87.2 for ; Mon, 04 Mar 2024 21:52:14 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=brasslantern-com.20230601.gappssmtp.com; s=20230601; t=1709617933; x=1710222733; darn=zsh.org; h=to:subject:message-id:date:from:mime-version:from:to:cc:subject :date:message-id:reply-to; bh=v+ZSa8hGtHnU15U5d+XP9VAv0CRbF6PAhvrcpPHYXFM=; b=pdxL9hY7jk9fPzv6zDbn8+qdhRtyvjvVVMAO8UUlQpbbF3cD28g7w+LXdWciPjGDC+ BifF3IshGDxqBFDf6nPLngK8f80e32c+lCzdAsERFEbx3LOaQ/x6tttYqEZVViZSPyJ6 fudJC6rzyPniFPm/b1p6KMNk81Ut/A7Ec7DtDnUXXZmAuTW7avVXZaxs4kbEDUMEdh1w 5zu01E0+2xnha5F24Y37U1gd4oeIGXXjd5a48yiQAF00EuU8315F+zeGqSCOFNbrYW9o SFQ6lt90CNvUei84nslLfIDtvv1E0gC8f3tiQsrhx3XhFpsoEb6/r0JaSFktONXq0Hia ckOw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1709617933; x=1710222733; h=to:subject:message-id:date:from:mime-version:x-gm-message-state :from:to:cc:subject:date:message-id:reply-to; bh=v+ZSa8hGtHnU15U5d+XP9VAv0CRbF6PAhvrcpPHYXFM=; b=ndaJBtO8IIpU3vcVsOP7BP/cnBc4BHSG3JQdDO2IR9pyJt3KNvJ7s227Yy4jReWaTN zrnVlgWt3H+k0OUrbqgqpmLSOwq4Nr7REJulA92NGteux+jAK1Uv2c736LRvAfJqnobm eGlzZWX4UUD3XlAVpNP/MtJlI4uAWWXyygqUcxiSe7jxmxjlQWPPHQdayvzpzSewm9bb 9GGGrh8KSXRzxv4woI/r/jwHX24nVHY5tZ9Y9Q/B18kkWRRMLzOuYoZnOoqGt5ETQimI 2Or2aHzkYs1lOSkfB2ZtsS0SMoWRjUEX1LBqgqbce5wdIHAi8uH4zz4vgKqSqoAI2Cps 6I/A== X-Gm-Message-State: AOJu0YxheyHSFmZccDGOeWm7ETgk24KZ/4t7nlNGXIVB/TMn9FNs8H09 e1OakDder7aZSTKI4UivV5gFso6eZ1j+L3GlG0QjUU5KOXga3Gbou8MqM+tHoqx+FPLWl0iXmZz zQqFSgEzin7mGRRXpb2LywIrFfPSvoFIHBDhMGckSgxGQ6y6YOg== X-Google-Smtp-Source: AGHT+IGyQf/ti8Nvwbm7DI+MYrRWXfhrZPfbzog5tylb+6JaHmW0ii5rhbb/GLF9KDFWAxhdc+nnRsW3CJWWd0hFAnc= X-Received: by 2002:a05:6512:23a1:b0:513:54df:9573 with SMTP id c33-20020a05651223a100b0051354df9573mr317350lfv.26.1709617933316; Mon, 04 Mar 2024 21:52:13 -0800 (PST) MIME-Version: 1.0 From: Bart Schaefer Date: Mon, 4 Mar 2024 21:52:02 -0800 Message-ID: Subject: [PATCH?] Nofork and removing newlines To: Zsh hackers list Content-Type: multipart/mixed; boundary="0000000000009ea69c0612e37148" X-Seq: 52680 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: --0000000000009ea69c0612e37148 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable On Tue, Feb 27, 2024 at 12:53=E2=80=AFPM Bart Schaefer wrote: > > The intent was to have ${ ... } act more like parameter substitution. > It might be possible/reasonable to have ${ ... } strip newlines and > "${ ... }" keep them, if that feels better. The attached patch implements this, for purposes of discussion. The doc updates are much larger than the actual code change. --0000000000009ea69c0612e37148 Content-Type: text/plain; charset="US-ASCII"; name="nofork-nonewlines.txt" Content-Disposition: attachment; filename="nofork-nonewlines.txt" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_ltdyd8hg0 ZGlmZiAtLWdpdCBhL0RvYy9ac2gvZXhwbi55byBiL0RvYy9ac2gvZXhwbi55bwppbmRleCAxODNj YTZlMDMuLmI3Nzk0MjY5NyAxMDA2NDQKLS0tIGEvRG9jL1pzaC9leHBuLnlvCisrKyBiL0RvYy9a c2gvZXhwbi55bwpAQCAtMTk1MCw2ICsxOTUwLDkgQEAgdGhlIGJyYWNlcyBieSB3aGl0ZXNwYWNl LCBsaWtlIGB0dCgkeyApLi4udHQoIH0pJywgaXMgcmVwbGFjZWQgYnkgaXRzCiBzdGFuZGFyZCBv dXRwdXQuICBMaWtlIGB0dCgke3wpLi4udHQofSknIGFuZCB1bmxpa2UKIGB0dCgkTFBBUigpKS4u LnR0KFJQQVIoKSknLCB0aGUgY29tbWFuZCBleGVjdXRlcyBpbiB0aGUgY3VycmVudCBzaGVsbAog Y29udGV4dCB3aXRoIGZ1bmN0aW9uIGxvY2FsIGJlaGF2aW9ycyBhbmQgZG9lcyBub3QgY3JlYXRl IGEgc3Vic2hlbGwuCitXb3JkIHNwbGl0dGluZyBkb2VzIG5vdCBhcHBseSB1bmxlc3MgdHQoU0hf V09SRF9TUExJVCkgaXMgc2V0LCBidXQKK3RyYWlsaW5nIG5ld2xpbmVzIGVtKGFyZSkgc3RyaXBw ZWQgdW5sZXNzIHRoZSBzdWJzdGl0dXRpb24gaXMgZW5jbG9zZWQKK2luIGRvdWJsZSBxdW90ZXMu CiAKIE5vdGUgdGhhdCBiZWNhdXNlIHRoZSBgdHQoJHt8KS4uLnR0KH0pJyBhbmQgYHR0KCR7ICku Li50dCggfSknIGZvcm1zCiBtdXN0IGJlIHBhcnNlZCBhdCBvbmNlIGFzIGJvdGggc3RyaW5nIHRv a2VucyBhbmQgY29tbWFuZHMsIGFsbCBvdGhlcgpkaWZmIC0tZ2l0IGEvRXRjL0ZBUS55byBiL0V0 Yy9GQVEueW8KaW5kZXggNGE4NjA1MGU2Li4wNTE1ZDJmY2EgMTAwNjQ0Ci0tLSBhL0V0Yy9GQVEu eW8KKysrIGIvRXRjL0ZBUS55bwpAQCAtMTA5MiwxMCArMTA5MiwxMSBAQCBzZWN0KENvbXBhcmlz b25zIG9mIGZvcmtpbmcgYW5kIG5vbi1mb3JraW5nIGNvbW1hbmQgc3Vic3RpdHV0aW9uKQogICBh ZmZlY3RzIHRoZSBjYWxsZXIuCiAKICAgbXl0dCgkKGNvbW1hbmQpKSByZW1vdmVzIHRyYWlsaW5n IG5ld2xpbmVzIGZyb20gdGhlIG91dHB1dCBvZiBteXR0KGNvbW1hbmQpCi0gIHdoZW4gc3Vic3Rp dHV0aW5nLCB3aGVyZWFzIG15dHQoJHsgY29tbWFuZCB9KSBhbmQgaXRzIHZhcmlhbnRzIGRvIG5v dC4KLSAgVGhlIGxhdHRlciBpcyBjb25zaXN0ZW50IHdpdGggbXl0dCgke3wuLi59KSBmcm9tIG1r c2ggYnV0IGRpZmZlcnMgZnJvbQotICBiYXNoIGFuZCBrc2gsIHNvIGluIGVtdWxhdGlvbiBtb2Rl cywgbmV3bGluZXMgYXJlIHN0cmlwcGVkIGZyb20gY29tbWFuZAotICBvdXRwdXQgKG5vdCBmcm9t IHR0KFJFUExZKSBhc3NpZ25tZW50cykuCisgIHdoZW4gc3Vic3RpdHV0aW5nLCBhcyBkb2VzIG15 dHQoJHsgY29tbWFuZCB9KSB3aGVuIG5vdCBxdW90ZWQuICBQbGFjaW5nCisgIGRvdWJsZSBxdW90 ZXMgYXJvdW5kIG15dHQoIiR7IGNvbW1hbmQgfSIpLCBvciB1c2luZyBlaXRoZXIgbXl0dCgke3wu Li59KQorICBmb3JtYXQsIHJldGFpbnMgbmV3bGluZXMuICBUaGUgbGF0dGVyIGlzIGNvbnNpc3Rl bnQgd2l0aCBteXR0KCR7fC4uLn0pCisgIGZyb20gbWtzaCwgYnV0IG15dHQoIiR7IGNvbW1hbmQg fSIpIGRpZmZlcnMgZnJvbSBiYXNoIGFuZCBrc2gsIHNvIGluCisgIGVtdWxhdGlvbiBtb2Rlcywg bmV3bGluZXMgc3RyaXBwZWQgZXZlbiBmcm9tIHF1b3RlZCBjb21tYW5kIG91dHB1dC4KIAogICBX aGVuIG5vdCBlbmNsb3NlZCBpbiBkb3VibGUgcXVvdGVzLCB0aGUgZXhwYW5zaW9uIG9mIG15dHQo JChjb21tYW5kKSkgaXMKICAgc3BsaXQgb24gdHQoSUZTKSBpbnRvIGFuIGFycmF5IG9mIHdvcmRz LiAgSW4gY29udHJhc3QsIGFuZCB1bmxpa2UgYm90aApkaWZmIC0tZ2l0IGEvU3JjL3N1YnN0LmMg Yi9TcmMvc3Vic3QuYwppbmRleCA0OWY3MzM2YmIuLjc4NTEzNzM1NyAxMDA2NDQKLS0tIGEvU3Jj L3N1YnN0LmMKKysrIGIvU3JjL3N1YnN0LmMKQEAgLTIwMDUsNyArMjAwNSw3IEBAIHBhcmFtc3Vi c3QoTGlua0xpc3QgbCwgTGlua05vZGUgbiwgY2hhciAqKnN0ciwgaW50IHF0LCBpbnQgcGZfZmxh Z3MsCiAJCWludCBvbm9lcnJzID0gbm9lcnJzLCBycGx5bGVuOwogCQlub2VycnMgPSAyOwogCQly cGx5bGVuID0genN0dWZmKCZjbWRhcmcsIHJwbHl0bXApOwotCQlpZiAoISBFTVVMQVRJT04oRU1V TEFURV9aU0gpKSB7CisJCWlmICghIEVNVUxBVElPTihFTVVMQVRFX1pTSCkgfHwgIXF0KSB7CiAJ CSAgICAvKiBiYXNoIGFuZCBrc2ggc3RyaXAgdHJhaWxpbmcgbmV3bGluZXMgaGVyZSAqLwogCQkg ICAgd2hpbGUgKHJwbHlsZW4gPiAwICYmIGNtZGFyZ1tycGx5bGVuLTFdID09ICdcbicpCiAJCQly cGx5bGVuLS07CmRpZmYgLS1naXQgYS9UZXN0L0QxMG5vZm9yay56dHN0IGIvVGVzdC9EMTBub2Zv cmsuenRzdAppbmRleCBkNmE1NTg4ZGYuLjFjNmEzMGNiMCAxMDA2NDQKLS0tIGEvVGVzdC9EMTBu b2ZvcmsuenRzdAorKysgYi9UZXN0L0QxMG5vZm9yay56dHN0CkBAIC0xNTksNyArMTU5LDcgQEAg RjpXaHkgbm90IHVzZSB0aGlzIGVycm9yIGluIHRoZSBwcmV2aW91cyBjYXNlIGFzIHdlbGw/CiAx OnVuYmFsYW5jZWQgYnJhY2VzLCBwYXJ0IDQrCiA/KGV2YWwpOjE6IGNsb3NpbmcgYnJhY2UgZXhw ZWN0ZWQKIAotICBwdXJyICR7IHB1cnIgU1RET1VUIH0KKyAgcHVyciAiJHsgcHVyciBTVERPVVQg fSIKIDA6Y2FwdHVyZSBzdGRvdXQKID5TVERPVVQKID4KQEAgLTMyMiw3ICszMjIsNyBAQCBGOkZp ZGRseSBoZXJlIHRvIGdldCBFT0YgcGFzdCB0aGUgdGVzdCBzeW50YXgKIDA6aGVyZS1zdHJpbmcg YmVoYXZpb3IKID5pbiBhIGhlcmUgc3RyaW5nCiAKLSAgPDw8JHsgcHVyciAkJ3N0ZG91dCBhcyBh IGhlcmUgc3RyaW5nJyB9CisgIDw8PCIkeyBwdXJyICQnc3Rkb3V0IGFzIGEgaGVyZSBzdHJpbmcn IH0iCiAwOmFub3RoZXIgY2FwdHVyZSBzdGRvdXQKID5zdGRvdXQgYXMgYSBoZXJlIHN0cmluZwog PgpAQCAtMzMxLDcgKzMzMSw3IEBAIEY6RmlkZGx5IGhlcmUgdG8gZ2V0IEVPRiBwYXN0IHRoZSB0 ZXN0IHN5bnRheAogICB3cmFwPSR7IHB1cnIgImNhcHR1cmUgaW4gZW52aXJvbm1lbnQgYXNzaWdu bWVudCIgfSB0eXBlc2V0IC1wIHdyYXAKIDA6YXNzaWdubWVudCBjb250ZXh0CiA+dHlwZXNldCAt ZyB3cmFwPSdSRVBMWSBpbiBlbnZpcm9ubWVudCBhc3NpZ25tZW50JwotPnR5cGVzZXQgLWcgd3Jh cD0kJ2NhcHR1cmUgaW4gZW52aXJvbm1lbnQgYXNzaWdubWVudFxuJworPnR5cGVzZXQgLWcgd3Jh cD0nY2FwdHVyZSBpbiBlbnZpcm9ubWVudCBhc3NpZ25tZW50JwogCiAjIFJlcGVhdCByZXR1cm4g YW5kIGV4aXQgdGVzdHMgd2l0aCBzdGRvdXQgY2FwdHVyZQogCkBAIC00MTAsNyArNDEwLDcgQEAg RjptdXN0IGRvIHRoaXMgYmVmb3JlIGV2YWx1YXRpbmcgdGhlIG5leHQgdGVzdCBibG9jawogMDpp Z25vcmVkIGJyYWNlcywgcGFydCAxCiA+YnVyaWVkfQogCi0gIHB1cnIgJHsgcHVyciAke1JFUExZ Oi1idXJpZWR9fX0KKyAgcHVyciAiJHsgcHVyciAke1JFUExZOi1idXJpZWR9fX0iCiAwOmlnbm9y ZWQgYnJhY2VzLCBwYXJ0IDIKID5idXJpZWQKID59CkBAIC00MTgsNyArNDE4LDYgQEAgRjptdXN0 IGRvIHRoaXMgYmVmb3JlIGV2YWx1YXRpbmcgdGhlIG5leHQgdGVzdCBibG9jawogICBwdXJyICR7 IHsgZWNobyBuZXN0ZWQgO30gfQogMDppZ25vcmVkIGJyYWNlcywgcGFydCAzCiA+bmVzdGVkCi0+ CiAKICAgcHVyciAkeyB7IGVjaG8gbmVzdGVkIH0gfSBET05FCiAxOmlnbm9yZWQgYnJhY2VzLCBw YXJ0IDQK --0000000000009ea69c0612e37148--