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=-1.1 required=5.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,MAILING_LIST_MULTI,RCVD_IN_DNSWL_NONE,UNPARSEABLE_RELAY autolearn=ham autolearn_force=no version=3.4.4 Received: (qmail 4194 invoked from network); 5 Aug 2020 10:23:02 -0000 Received: from zero.zsh.org (2a02:898:31:0:48:4558:7a:7368) by inbox.vuxu.org with ESMTPUTF8; 5 Aug 2020 10:23:02 -0000 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=zsh.org; s=rsa-20200801; h=Sender:List-Archive:List-Owner:List-Post:List-Unsubscribe: List-Subscribe:List-Help:List-Id:Content-Transfer-Encoding:MIME-Version: Message-Id:Date:Subject:To:From:Reply-To:Cc:Content-Type:Content-ID: Content-Description:Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc :Resent-Message-ID:In-Reply-To:References; bh=plCYGuyiqZl8Rx4G3bG4qu1FTpAIIelHnudMoOHCH0E=; b=ZkXswDVeaKSWNo1dVBv/qyuds7 nOn2jX1UNAfCfAqxX8ZfcNoIRkrrggytc3MWs9cuuCZQhh8X5EIkbtizoCK5enEu7rVAK1D0d6uuh 3SSDu/X8CHGMyv7WL7wy5dYz12ZpHaiAtcxBjmnQGHExsU5QSdmEKjuFZQ2bNr7zbb5rs+C8fbHQb 7tnBgZfb3gXmmEecZ/PRU0MSJl0jlLYaL2ES5YSti4fYRmbHBvGsu7cn4isDum3OEGRvqCNp40rJ+ PlR3b82GnJLfRaTRRUvanhg18OsuMn+x/bOBxvqe7BOF07iEWqKe+roC+q4R3we9Fq5BTlvCC1EJV oniKJbvg==; Received: from authenticated user by zero.zsh.org with local id 1k3GZX-000ILh-0U; Wed, 05 Aug 2020 10:22:59 +0000 Authentication-Results: zsh.org; iprev=pass (out1-smtp.messagingengine.com) smtp.remote-ip=66.111.4.25; dkim=pass header.d=daniel.shahaf.name header.s=fm1 header.a=rsa-sha256; dkim=pass header.d=messagingengine.com header.s=fm3 header.a=rsa-sha256 Received: from out1-smtp.messagingengine.com ([66.111.4.25]:57943) by zero.zsh.org with esmtp id 1k3GT8-000GM1-Et; Wed, 05 Aug 2020 10:16:23 +0000 Received: from compute4.internal (compute4.nyi.internal [10.202.2.44]) by mailout.nyi.internal (Postfix) with ESMTP id 10C1D5C0165; Wed, 5 Aug 2020 06:10:28 -0400 (EDT) Received: from mailfrontend2 ([10.202.2.163]) by compute4.internal (MEProxy); Wed, 05 Aug 2020 06:10:28 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= daniel.shahaf.name; h=from:to:subject:date:message-id :mime-version:content-transfer-encoding; s=fm1; bh=plCYGuyiqZl8R x4G3bG4qu1FTpAIIelHnudMoOHCH0E=; b=GqyQ1MI9BowvHA9d1ojsM6j1Qq+Wh h6EPADicHNGgZqoDx+viAS5Jqq6pfigMz7iRtIxTFJ6RZPCnO6hUilsH71vYmbNS COJ31d/o2YQpdnBqWIrnQvBA6to+8YN8smBWp3OUehO9IQOYY1Iq8+V4HJLME+gl WsnHR5H/BZHang1x0NVaxK8kHHUl3/9h2CtaESLMMatoYFYUtMrIO3vT2jYg0yis 9aBRdSPu9wtOTLQW9LivxRrdA3x6gqWtvoLWPVYwkdDPMnTdEb6C+leapw1zhR5x 0qY39r3pjwlzMPvTU9DE2FtMltlusDO1CypGqfJ72oFNFFZaTox1MJgqw== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=content-transfer-encoding:date:from :message-id:mime-version:subject:to:x-me-proxy:x-me-proxy :x-me-sender:x-me-sender:x-sasl-enc; s=fm3; bh=plCYGuyiqZl8Rx4G3 bG4qu1FTpAIIelHnudMoOHCH0E=; b=PwQOT2+32CgBoffnOnry350tPpZiU0HC6 0hPl/TX+Ez1rJRQ2uNdJBKHfzxWoBlzBykEx9/H9LUoNr8mkgONzWIJoLCZL5dLU 7IqFuCPU2fXr8j8VINy/9GV6Z5NJlncH7NaLgrWm4vaH+mfDGO79U0IGX4lY9osU /sloOr+aZUhwo3YklpxViWAxDgBBzITqyA3RT0L1Ty8nI9QTO2i21Eb2ephBEzAJ XhdotYa3mbxAWZPi3SD3xZHcJDyoLWDa+1YDDR2RsTOD4NGDEm/7KVX9kiiMPOuR XfJaus7rfz5UXGehkdt9npCQ9oQqu0Y1MhGxHMuk82uOVugjj2kBg== X-ME-Sender: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeduiedrjeekgddvjecutefuodetggdotefrodftvf curfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfghnecu uegrihhlohhuthemuceftddtnecunecujfgurhephffvufffkffoggfgsedtkedttdertd dtnecuhfhrohhmpeffrghnihgvlhcuufhhrghhrghfuceougdrshesuggrnhhivghlrdhs hhgrhhgrfhdrnhgrmhgvqeenucggtffrrghtthgvrhhnpeffhfegtedtueekuefhuddvje evfedtkeetjeetvdfhhfegkeevgfevtdelffegfeenucfkphepjeelrddukedvrdejfedr fedvnecuvehluhhsthgvrhfuihiivgeptdenucfrrghrrghmpehmrghilhhfrhhomhepug drshesuggrnhhivghlrdhshhgrhhgrfhdrnhgrmhgv X-ME-Proxy: Received: from tarpaulin.shahaf.local2 (bzq-79-182-73-32.red.bezeqint.net [79.182.73.32]) by mail.messagingengine.com (Postfix) with ESMTPA id B945C30600A6 for ; Wed, 5 Aug 2020 06:10:27 -0400 (EDT) Received: by tarpaulin.shahaf.local2 (Postfix, from userid 1000) id 4BM6nY2zt4ztr; Wed, 5 Aug 2020 10:10:25 +0000 (UTC) From: Daniel Shahaf To: zsh-workers@zsh.org Subject: [PATCH] 'repeat' loops: Let the repeat count use $?. Date: Wed, 5 Aug 2020 10:10:22 +0000 Message-Id: <20200805101022.21209-1-danielsh@tarpaulin.shahaf.local2> X-Mailer: git-send-email 2.20.1 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Validation-by: danielsh@zsh.org X-Seq: 47296 X-Loop: zsh-workers@zsh.org Errors-To: zsh-workers-owner@zsh.org Precedence: list Precedence: bulk X-no-archive: yes List-Id: List-Help: List-Subscribe: List-Unsubscribe: List-Post: List-Owner: List-Archive: Archived-At: Sender: Sympa Owner It's an arithmetic expression. --- Src/loop.c | 2 +- Test/A05execution.ztst | 7 +++++++ 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/Src/loop.c b/Src/loop.c index f13c8c4a9..9fb45d076 100644 --- a/Src/loop.c +++ b/Src/loop.c @@ -497,7 +497,6 @@ execrepeat(Estate state, UNUSED(int do_exec)) end = state->pc + WC_REPEAT_SKIP(code); - lastval = 0; tmp = ecgetstr(state, EC_DUPTOK, &htok); if (htok) { singsub(&tmp); @@ -506,6 +505,7 @@ execrepeat(Estate state, UNUSED(int do_exec)) count = mathevali(tmp); if (errflag) return 1; + lastval = 0; pushheap(); cmdpush(CS_REPEAT); loops++; diff --git a/Test/A05execution.ztst b/Test/A05execution.ztst index 20a594b68..e07bd9cd9 100644 --- a/Test/A05execution.ztst +++ b/Test/A05execution.ztst @@ -401,3 +401,10 @@ F:anonymous function, and a descriptor leak when backgrounding a pipeline (( exit 130 ) | { sleep 1; echo hello }) 0:exit code 130 isn't mistaken for a signal (unit test for workers/46060) >hello + + (exit 3); repeat '?' echo y +0:'repeat' loop can use lastval in the count +>y +>y +>y +