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.4 required=5.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,FREEMAIL_FROM,MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED autolearn=ham autolearn_force=no version=3.4.4 Received: (qmail 30787 invoked from network); 23 Sep 2023 12:47:14 -0000 Received: from zero.zsh.org (2a02:898:31:0:48:4558:7a:7368) by inbox.vuxu.org with ESMTPUTF8; 23 Sep 2023 12:47:14 -0000 ARC-Seal: i=1; cv=none; a=rsa-sha256; d=zsh.org; s=rsa-20210803; t=1695473234; b=Mqw8VySQgwTbw/nF1Gzo+TaPvCCA/e5ho0Qtcr8/OqUcy2d/GMfBXHyrHTWlTqW2baQLRwLXiT p1yoHvszdv4AS85wxauPXJCdw7KqJBeExUqwOkOsR/n5W94uliQSNmAF0wkAYuE4A+cyiaa0n9 3I4Fo99kvNfXmNmkqeKdmNwuumxcx/ylmNh1tnNX0jA5pWzO2F7SMSFr0nKzS1kPvY2umfLvN/ lv11SwSQPp6acleVGj/nbrL9mpDZrJ3C3jR9GDyUrqRdNa/2zR2cY4DMT+sOlTBerfNSU3OWzr dVl/JBRFVFW9fUvhdhNFIr2epEwXpvX+4bhGyEYIIKXoBw==; ARC-Authentication-Results: i=1; zsh.org; iprev=pass (mail-ej1-f49.google.com) smtp.remote-ip=209.85.218.49; dkim=pass header.d=gmail.com header.s=20230601 header.a=rsa-sha256; dmarc=pass header.from=gmail.com; arc=none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed; d=zsh.org; s=rsa-20210803; t=1695473234; bh=GgNtEjPHke0VKwCLMWuFyZhKIkVoPMxPd9Sjh07V0d4=; h=List-Archive:List-Owner:List-Post:List-Unsubscribe:List-Subscribe:List-Help: List-Id:Sender:Content-Transfer-Encoding:Content-Type:Cc:To:Subject: Message-ID:Date:From:References:In-Reply-To:MIME-Version:DKIM-Signature: DKIM-Signature; b=faIzETZHHeFFNQGxnyRA0EXOpCyh1FFRcydwyL0PKI7mx+ZzhuE+3p+++wLLnzcBq4t1Kcdcp6 xEOTaHeb1Vxs7N8D1JZE5xz+YfsgPFuh4a26za3bmPaHT0QxWJ2/PE+D5EFTpgSBa1fBZQ0/jF etJlpPQjSxgaB332s0q3hW0oM7DPrb+/FgjSKyW7rmHMiJPHlVMpCw+dY6WOxFanC+7b4ddBr2 L7C8/4qdmfxZYwFkhinWsuMsNpsQiRAcaKIFS89iBWDsqruFlbBpUSJVcc+naZj3tqUGUCy3yM XQlI5SkuPdA9glytyaWb9fHhK0Z2hXnynifk5GpgYIvgcA==; 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-Transfer-Encoding: Content-Type:Cc:To:Subject:Message-ID:Date:From:References:In-Reply-To: MIME-Version:Reply-To:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID; bh=+IszC8jk0C/yT6/DvItmprCYAMXuoVeVOk5CMi14kE0=; b=jzTL4hO+jxN1ccVGSI13NE7BeV OAtmecYqGKAOwyb9k4oKZZcbXZU9QPZytfcQLeB9HJkSxHVpf/szIgOFll7jRGZ7VBen5L9PzdMx4 nAm5fv0lLXZPlxZu8BS+gdztqE5ewQzx5AgFIj9jrGGV8CC8U7TCsT0YAvdtDCJGe4iqKumjDvWj/ YQFrxFOmriAbvN4g84QkCrOAO+UMkpsEG2ZImHzADe21u3NnKki9mP4jgTof5/vt84qj3QitjMFIE WBFPxFREf7n3tMQEGCWR2/v/w8H2Q1DJ8uYS72W6Ajx7GBRq3UkB5l5XduDKT4iMFx/5qPmRD5X+g bfY/3jmA==; Received: by zero.zsh.org with local id 1qk22S-0000mk-2y; Sat, 23 Sep 2023 12:47:12 +0000 Authentication-Results: zsh.org; iprev=pass (mail-ej1-f49.google.com) smtp.remote-ip=209.85.218.49; dkim=pass header.d=gmail.com header.s=20230601 header.a=rsa-sha256; dmarc=pass header.from=gmail.com; arc=none Received: from mail-ej1-f49.google.com ([209.85.218.49]:46298) by zero.zsh.org with esmtps (TLS1.3:TLS_AES_128_GCM_SHA256:128) id 1qk227-0000U4-NV; Sat, 23 Sep 2023 12:46:53 +0000 Received: by mail-ej1-f49.google.com with SMTP id a640c23a62f3a-98377c5d53eso437416866b.0 for ; Sat, 23 Sep 2023 05:46:51 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1695473211; x=1696078011; darn=zsh.org; h=content-transfer-encoding:cc:to:subject:message-id:date:from :references:in-reply-to:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=+IszC8jk0C/yT6/DvItmprCYAMXuoVeVOk5CMi14kE0=; b=ccabpglmYOvlXKxEmrJ7L7QJ17mAxr1kHGPOb3RqKkUUbZqqQk9+j0JdoGp2k045Hm xurB4O+W597sKQXG9B7Hy60mmZuH3kVGQ6brWR+HRJog3GTo0P74rdFadJW/4mi959RM YgPme/1roXvJlrJkhuyzNd4eouj3PJT/QHogUz0MxaMSnr4E9GY4jrlxPV3Khzfr/siK lXuTM2TPR6ZbNpXb7U1MdTxvA0pIkoFEdlkt5qHIuVJkCGmWZhBw+VEsKNaex8pZDPsY Jsj7oZw6hVvAJMkBhLRhHPQfl8omoPxj5z27wUbJn7Q+WO/BnWvfuyFpTONo4giJPVVp v+vA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1695473211; x=1696078011; h=content-transfer-encoding:cc:to:subject:message-id:date:from :references:in-reply-to:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=+IszC8jk0C/yT6/DvItmprCYAMXuoVeVOk5CMi14kE0=; b=vXkfMewSkGH5D5jexMqhafzKl6dwHWjsc11G4DrFYyXyWMoOItjEK3dj5aLegzxpRV 7GOURLqS7r1sO2f4Bjjeo32OWzJv+qKQTkZVza9QlXfm4cgxcLjT2kyuEpx17hbNMO0f DF2Pwk4Etb7Et75O9DgYOe9JdcW5neARj98QaWBsv8+oO6VbaF3pOIlG/c0jVTXXv2jP qbtZkR+qxF1r3n/PhvSMwXMecif/zrp+F1a73AlxBSCmCybnC5pnCoGo5gJnd+44AhDU iQ9HTDhCFOjFYyGVcgBsAApEjO2oO5l2dw+iFv+k5Jzvtx2xf4wiSW8ywkCm8mHMe6yE bJ+A== X-Gm-Message-State: AOJu0Yw+FVbhsWjghOPglhVxjwe8p4eGTAXn4+PLMW7nAvPXKrQ6XDv+ /skTqUk8paVo7ezPfAY/cIOLUeldUeTHANUMHntGYgSF X-Google-Smtp-Source: AGHT+IEW65SzJ7NfavPx8db7H7YORa+5e6KM4xyduCQn1B+G8GZIg2kc6OiNtKiGWCb6NMjsgnEHKlMmpPxpN/SbaVU= X-Received: by 2002:a17:906:51d5:b0:9a5:9f3c:9615 with SMTP id v21-20020a17090651d500b009a59f3c9615mr1552550ejk.63.1695473210971; Sat, 23 Sep 2023 05:46:50 -0700 (PDT) MIME-Version: 1.0 Received: by 2002:a17:907:7b9b:b0:9a1:930b:7f7b with HTTP; Sat, 23 Sep 2023 05:46:50 -0700 (PDT) In-Reply-To: References: From: Mikael Magnusson Date: Sat, 23 Sep 2023 14:46:50 +0200 Message-ID: Subject: Re: no-fork expansion with array var To: Bart Schaefer Cc: Zsh hackers list Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Seq: 52182 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: On 9/23/23, Bart Schaefer wrote: > On Fri, Sep 22, 2023 at 4:16=E2=80=AFPM Bart Schaefer > wrote: >> >> On Fri, Sep 22, 2023, 4:00 PM Mikael Magnusson wrote= : >>> >>> The documentation says: >>> If param names an array, array expansion rules apply. >>> >>> But what it means is if you do an array assignment to var inside the >>> code block, array expansion rules apply > > How about this? > > diff --git a/Doc/Zsh/expn.yo b/Doc/Zsh/expn.yo > index 86a5f70c8..837a85db6 100644 > --- a/Doc/Zsh/expn.yo > +++ b/Doc/Zsh/expn.yo > @@ -1915,8 +1915,9 @@ Substitutions of the form > `tt(${|)var(param)tt(|)...tt(})' are similar, > except that the substitution is replaced by the value of the parameter > named by var(param). No implicit save or restore applies to var(param) > except as noted for tt(REPLY), and var(param) should em(not) be declared > -within the command. If var(param) names an array, array expansion rules > -apply. > +within the command. If, after evaluating the expression, var(param) > +names an array, array expansion rules apply. However, tt(REPLY) is > +always expanded in scalar context, even if assigned an array. > > A command enclosed in braces preceded by a dollar sign, and set off from > the braces by whitespace, like `tt(${ )...tt( })', is replaced by its That works for me. --=20 Mikael Magnusson