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, UNPARSEABLE_RELAY autolearn=ham autolearn_force=no version=3.4.4 Received: (qmail 23576 invoked from network); 13 Aug 2021 03:47:52 -0000 Received: from zero.zsh.org (2a02:898:31:0:48:4558:7a:7368) by inbox.vuxu.org with ESMTPUTF8; 13 Aug 2021 03:47:52 -0000 ARC-Seal: i=1; cv=none; a=rsa-sha256; d=zsh.org; s=rsa-20210803; t=1628826472; b=ffFxaeHFf4n+41T7sXqGXbS9SY6arsVkHcs0C7afzcjHFHnDO0SkR7bV/4JtYcjEsNB4KNJ3b8 JSqu8HPgtwzdVt8lRhd/yph2vxJKeXFJyw5IR/uONXwFLZxy0MDxsowBs99Le6wZ6+1YjS1DY7 AUwyYEtqE75+XNWnDrYP4nnuBPREWCIYNcXQkZ1hfRAd5V1Mi6u66nC4cfyXw7ECV+MNCeGy8+ HmfNVkrBFUCXYMzeoAy51r7/dWR01cgE8s4J6ZDPWlqbSGGGBx/5CDs3+0h0zc9X94KyOqF+t7 HnvJ3snGBPAzla3wu31MGiA/GXGxcgEaRwk71PTcRr5PAA==; ARC-Authentication-Results: i=1; zsh.org; iprev=pass (mail-ot1-f48.google.com) smtp.remote-ip=209.85.210.48; dkim=pass header.d=gmail.com header.s=20161025 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=1628826472; bh=1fLe6qB2sW4BDHdFRSp0qy8xDqzOLnIlR+seeLEEiZU=; h=List-Archive:List-Owner:List-Post:List-Unsubscribe:List-Subscribe:List-Help: List-Id:Sender:In-Reply-To:Content-Type:MIME-Version:References:Message-ID: Subject:To:From:Date:DKIM-Signature:DKIM-Signature; b=jhK7xdbopA11Vd5R5T8P00wUEKrW53yPgV/8t50gYfmwwY8VH708rHROpvmYThMhjPWD77Eedr QUtg1stz6H2SyBdgJKtXE/19oC1dSTxeBLqazV6MDZXgIf9q35FFXxwmLgpmS16BsMIh5JLETn p2AwrrZCOnY+PPoKmVWxAumjdJz0HrHotwIDrXCpKd5uUPCFX2hYNZv7qH6LU6wZmEiUcpUXdF VXK92944LJo7gccLy7QXw1ukhFWF3peEAq33mAkcLcyfKdMQ4h/6xkVEy2UNu8W+yfZjTaYBEB GEJwsvnJpD+0ahFoKBEZdbWHA0hF981QNEb4KVMMUK+NJw==; 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:In-Reply-To:Content-Type:MIME-Version :References:Message-ID:Subject:To:From:Date:Reply-To:Cc: Content-Transfer-Encoding:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID; bh=Rw30XSqHcF/OK0KnE8ezGiQgQ2OP576Isa8HDH0cm1w=; b=HjO0MgiX61JAUl17T4nNDpcyuq viNpv8oNLtFKGyBP0re8ietPkDS1S4yhIGZxoGY0i8KhEUp7jg89HEobelMqVI3SXX4GDetG89Rze WHwJXAGEvrjMGgyltPwhUlr9vFKPQaLI+3hHc84ZM2w3H99IupjKNuFkgBbN0gslH4g4X4BBTTYkd 4gCSzhxiA1uj5A+mZFYN53+y9R754A+2D7NEsgx7XAEeaN3gg2kw10+hZtYR6vgplhuSuvrM7Rr5w RVANIUsWKpw1xLeJGnnLAaAY/qnFXISy1lrkrTaXZH5Qo/31S5WGXkz/OxTjO8+EspY2q+egXf7PU Z2hzsFag==; Received: from authenticated user by zero.zsh.org with local id 1mEOAh-000HF3-GH; Fri, 13 Aug 2021 03:47:51 +0000 Authentication-Results: zsh.org; iprev=pass (mail-ot1-f48.google.com) smtp.remote-ip=209.85.210.48; dkim=pass header.d=gmail.com header.s=20161025 header.a=rsa-sha256; dmarc=pass header.from=gmail.com; arc=none Received: from mail-ot1-f48.google.com ([209.85.210.48]:40770) by zero.zsh.org with esmtps (TLS1.3:TLS_AES_128_GCM_SHA256:128) id 1mEOAO-000Gvs-Ez; Fri, 13 Aug 2021 03:47:32 +0000 Received: by mail-ot1-f48.google.com with SMTP id h63-20020a9d14450000b02904ce97efee36so10586970oth.7 for ; Thu, 12 Aug 2021 20:47:32 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=date:from:to:subject:message-id:mail-followup-to:references :mime-version:content-disposition:in-reply-to; bh=Rw30XSqHcF/OK0KnE8ezGiQgQ2OP576Isa8HDH0cm1w=; b=T0S03LOOBXFRMU76NHoMorkxJz1/2GUxmiAiu86N1wt8U3BmgTOmyhd1fE2vcf5pyC dxrwnz5zk5Fee5IxL/PlSGe8YB2fkGo3chGWMeMF4QcwlBYEe/2FMQQsPg1djZfdAQEi t35Ctn9tgxIPWPqHF52xoaPnlkHraMAL/GAkc04q6IKdw5gtg+bJwMpzE3yABdteWF2H 59Z+67TkiicohlK4VLPW5b0aWFGYtv8vY+zB/d3OcWMKBuMBqGam+BCWgUhH20Y+0wfR EVMl/XDtbHcg3EWn0ZVYvkAVg2BpNii0XrG2yFriUUa3XVoUNJe9uc6UmxV/dwHsCRwc HBDA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:from:to:subject:message-id:mail-followup-to :references:mime-version:content-disposition:in-reply-to; bh=Rw30XSqHcF/OK0KnE8ezGiQgQ2OP576Isa8HDH0cm1w=; b=jNtjEiNsqLFqv1G4gaErhJtdBuoev/6sY8VBY7aiyddijp0siHMCkU2V0Edi1qGN2J J1Hx/297/hScUKMSD6j0UrR6v5wLU/Yl3SIoSkk2zK+OQvalyPQDhFti5Q9LUB7PVi8E ccB4CgTYzjQIKaCsJIPZtYIzNiUynrZAZZzRVmeVUjrNiBV/TtKhkMrg0Wieb6F575bI HGEi8mYx2xchrwpEw0n0/0PHL//X9XFh6aW4Zu/CBxIZ+UbSjz9jtyzDGoJgx8jKROOy ZJeUZlxG+6HF76+7Q+mOXK6JvUWwGFq9++ORPnWnFHVNPwSwgV1I+FxNd26twqkikIqX J8/A== X-Gm-Message-State: AOAM532GfxD5DdFJxzdMMyyBcwhXKyugVwuQgSKC3I3Jj/w8qeMqhPO3 gBBGZuwRfzXyLiOrgCWqAk1nvfafZYE= X-Google-Smtp-Source: ABdhPJxKL/Mxwukhmgu/f0gG6s0SI1vrItzd0MV9mMkb6VKyBqmwMzKXicVEJtmO7PF1Q8OLDCQmiw== X-Received: by 2002:a9d:7087:: with SMTP id l7mr505803otj.72.1628826450992; Thu, 12 Aug 2021 20:47:30 -0700 (PDT) Received: from CptOrmolo.darkstar (cpe-70-113-147-195.tx.res.rr.com. [70.113.147.195]) by smtp.gmail.com with ESMTPSA id n20sm63846otj.11.2021.08.12.20.47.30 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 12 Aug 2021 20:47:30 -0700 (PDT) Date: Thu, 12 Aug 2021 22:47:28 -0500 From: Matthew Martin To: zsh-workers@zsh.org Subject: Re: bug: nested for loop body is executed once! Message-ID: Mail-Followup-To: zsh-workers@zsh.org References: MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: X-Seq: 49278 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 Thu, Aug 12, 2021 at 11:13:09PM -0400, Daniil Iaitskov wrote: > Hi, > > I just spot a following bug on Big Sur zsh 5.8 (x86_64-apple-darwin20.0) > > $ K="1 2 3" > > $ for i in $(for j in $K; do echo "ddd/$j" ; done) ; do echo "$i" ; done > > ddd/1 > > 2 > > 3 That's because zsh doesn't do word splitting on parameter expansions by default. Running under set -x is illuminating. +zsh:3> j=1 2 3 +zsh:3> echo 'ddd/1 2 3' +zsh:3> i=ddd/1 +zsh:3> echo ddd/1 ddd/1 +zsh:3> i=2 +zsh:3> echo 2 2 +zsh:3> i=3 +zsh:3> echo 3 3 j is assigned '1 2 3' and the result of the command substitution is 'ddd/1 2 3'. However word splitting does happen on unquoted command substitutions, so i is assigned to thrice. > I would expect following output > > > ddd/1 > > ddd/2 > > ddd/3 You want an array: K=(1 2 3) At which point you could skip the command substitution and instead for i in ddd/$^K; do ...