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,MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,
T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.4
Received: (qmail 20690 invoked from network); 18 Jul 2023 13:57:45 -0000
Received: from zero.zsh.org (2a02:898:31:0:48:4558:7a:7368)
by inbox.vuxu.org with ESMTPUTF8; 18 Jul 2023 13:57:45 -0000
ARC-Seal: i=1; cv=none; a=rsa-sha256; d=zsh.org; s=rsa-20210803; t=1689688665;
b=MeGY4i7ndnf6PofDkeifS5iGso2pG3TIqD3ZanGGCmjnUMo+DZ3lutN/XG5AQ2RzFlctg0C0BR
O30wGJ8gwGJBDiTmAtdhvj6Ay1efTezdj0WSRM4W0nNQ/HGAJ/nzqd7MOktM+MBTVInk0WYsVF
w+O2z69rOhik/IY8iZEiHTC9HbWsuHndzDbkFNh3I877MiVZB4o9774C0qddmfokLKD0OrUGvT
Z/GG3Dg+psU9o6kItLbGqcWevI98D1DKl8bi6B6Lf9KPumEeB7TzWH1/6WXSFzRT5Y6qmBADdX
mW2LeiCZ9/P+xTKupmuA104WlVScrXoOoKSkwzsUdtNxbg==;
ARC-Authentication-Results: i=1; zsh.org;
iprev=pass (smtpq4.tb.ukmail.iss.as9143.net) smtp.remote-ip=212.54.57.99;
dkim=pass header.d=ntlworld.com header.s=meg.feb2017 header.a=rsa-sha256;
dmarc=pass header.from=ntlworld.com;
arc=none
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed; d=zsh.org; s=rsa-20210803; t=1689688665;
bh=nH8Jo5Ox1vY7cqrlmZgwhLOMswWxv/uwIEUR2iR9W9k=;
h=List-Archive:List-Owner:List-Post:List-Unsubscribe:List-Subscribe:List-Help:
List-Id:Sender:Content-Transfer-Encoding:Content-Type:MIME-Version:Subject:
References:In-Reply-To:Message-ID:To:From:Date:DKIM-Signature:
DKIM-Signature;
b=opOGEQsSHIPwfe6hvXSNJrAjyImZNGGIn8Hzg4slvh8+w+YiXf5xeRfoIHRCk8yl5ZBJ6Gp15B
sf4SGDfAQseOUpEsgIkaHHdmNO6fGTBQNt1i63xMaAccvXFFZhANHUAIqn0oDJBoiNNKp7YS42
ru4CWD5iybEsk1E8OvW/FDznIPgqPENEmv1cnmz6RWHsCt1EevJoSRU7QJ89soSFxVn95CmjZX
EHQFktkIFdk0PGmv8bIGNrOkJPdOyiKTZvzC+SybxoiVlTxd13tIusO6KnlEDNGPwIViwqjuhA
0dr9baibvecZHPx3RdtpwzmtJwbrg6/LwwBaf+a5iwnVEw==;
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:MIME-Version:Subject:References:In-Reply-To:Message-ID:To:From:
Date:Reply-To:Cc:Content-ID:Content-Description:Resent-Date:Resent-From:
Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID;
bh=KQSiRUscKtZF/Dq9xS4tUepKEUaI0l/sFA2u4+3jZtk=; b=hqAr8fjF8V/WL8DxE/xd653Uat
+TpcJNK6yZj19BEb7juh5l2anUZHk4kpv0irmjruOypYdownElKtkLfVKjoLDBdHtxmHSUem/AAmH
A5uoHy3FPKfZJIeBmZcBvNeq4F+fku8nWsWiO52bL/OkiqmudW/DSmwVIXGLbPDDmSseH6OcKL+8j
1GRY9VWrOGfZi1mfGi/XdhoqW9Eau/SljGfCbJZs9kdh5EHyRz1YAS3HiTnUroclrpDzthxd2RiTS
qk/5DzNHT7sAP4gp36cyJrkcXiM3SMZPEQLbxTm+4gbM5dEPISwwybfueZxNgjkh+NpIDOmpX/IhL
NAQobJPQ==;
Received: by zero.zsh.org with local
id 1qLlCy-0005BR-FN;
Tue, 18 Jul 2023 13:57:44 +0000
Authentication-Results: zsh.org;
iprev=pass (smtpq4.tb.ukmail.iss.as9143.net) smtp.remote-ip=212.54.57.99;
dkim=pass header.d=ntlworld.com header.s=meg.feb2017 header.a=rsa-sha256;
dmarc=pass header.from=ntlworld.com;
arc=none
Received: from smtpq4.tb.ukmail.iss.as9143.net ([212.54.57.99]:52644)
by zero.zsh.org with esmtps (TLS1.2:ECDHE-RSA-AES256-GCM-SHA384:256)
id 1qLlCa-0004tA-Rr;
Tue, 18 Jul 2023 13:57:24 +0000
Received: from [212.54.57.126] (helo=csmtpq3-prd-nl1-vmo.edge.unified.services)
by smtpq4.tb.ukmail.iss.as9143.net with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
(Exim 4.90_1)
(envelope-from
)
id 1qLlCa-00041D-Fl
for zsh-workers@zsh.org; Tue, 18 Jul 2023 15:57:20 +0200
Received: from oxsmtp2-prd-nl1-vmo.nl1.unified.services ([100.107.83.137])
by csmtpq3-prd-nl1-vmo.edge.unified.services with esmtp (Exim 4.93)
(envelope-from )
id 1qLlCa-006THv-5s
for zsh-workers@zsh.org; Tue, 18 Jul 2023 15:57:20 +0200
Received: from oxbe6-prd-nl1-vmo.nl1.unified.services ([100.107.83.10])
by Virgin Media with ESMTP
id LlCaqtUj6H6rPLlCaq5jg6; Tue, 18 Jul 2023 15:57:20 +0200
X-Env-Mailfrom: p.w.stephenson@ntlworld.com
X-Env-Rcptto: zsh-workers@zsh.org
X-SourceIP: 100.107.83.10
X-CNFS-Analysis: v=2.4 cv=TMiDCXpa c=1 sm=1 tr=0 ts=64b69a40 cx=a_exe
a=BaxG2yfOxHMHApbdv9TgGQ==:117 a=IvlwODmuRu4A:10 a=IkcTkHD0fZMA:10
a=ZGtsClHK_UKw1JZIpYUA:9 a=QEXdDO2ut3YA:10 a=HbQOABYz3jhqdZF7JfnK:22
X-Authenticated-Sender: p.w.stephenson@ntlworld.com
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ntlworld.com;
s=meg.feb2017; t=1689688640;
bh=nH8Jo5Ox1vY7cqrlmZgwhLOMswWxv/uwIEUR2iR9W9k=;
h=Date:From:To:In-Reply-To:References:Subject;
b=knOy63bNmGoLGi1nixDqE7XLr7K6l4fxbG++ucZdwnCYsNLNOTr9pwbD+qELhE74I
CK9Bk3hMDZsSBd+PDTKWfNC916UeIDNw1+Z/kbcgCX9M2+rV70opK480hhjMX7GEWC
B+i+lw/hceplB/yHppdeUWNqnKUu5qZr8U9MVvRjSGvdc46d1aKuUj9m12koGLQ41u
eDw/2TEwh/IXMZO8ytylHb/wM9SgOb9ST5EDZ1oL6wXea1XN+E38HMV8vMGpf0WSib
C8kGklNQJ3rjJbmhT3h0FC3AzTnZGKyJ+5PsCZ9Ep0+YfxHYGdnaHvoFX0ZJiXVT53
FAREtMKpyl8tw==
Date: Tue, 18 Jul 2023 14:57:20 +0100 (BST)
From: Peter Stephenson
To: Johan Grande , zsh-workers@zsh.org
Message-ID: <1570386064.868183.1689688640076@mail.virginmedia.com>
In-Reply-To:
References: <0c1f1b1e-7d2b-ec6b-3044-dc25b6d5a4d5@crans.org>
<1263859119.226140.1688636640060@mail.virginmedia.com>
Subject: Re: Failed pipeline doesn't err_exit/return if complex command last
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-Priority: 3
Importance: Normal
X-Mailer: Open-Xchange Mailer
X-Originating-IP: 147.161.224.196
X-Originating-Client: open-xchange-appsuite
X-CMAE-Envelope: MS4xfD7+ieVfQyW0kdnStPi9C9SQg2SMbaHdKw3Sd5ulJLgKfvdq8mh+QMGtC52ovDWZSCd3AZnqe/hkkff5Qn2Pt2r6Tcy5CRGrsnVOGIBPeOOvBS2Yhlj1
qOKYbVzpliYHTJKCvaTG4Y2VekPOZuhfvraSRRJtTFJBfQXJbHK3DDROGHLschVyg7IogNFlKKAVr2UKeqBb3GK++5c8c/AnGNq1gafTRLE4PRh+ZK6wFaRM
Xo9MLjPlacGTsI7OndAUug==
X-Seq: 51962
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:
> fn () {
> emulate -L zsh
> setopt errreturn pipefail
> false | {
> true
> }
> print "Shouldn't get here, status $?"
> }
A bit more prodding reveals it's not actually timing that
has this effect --- the problem is this_noerrexit being
set to indicate something like "we're doing that complicated
internal shell stuff and we've discovered the status is OK".
This time it isn['t.
Not sure if I need the second case or not, certainly
the first case is the one we're hitting here (the
STAT_CURSH is the giveaway). My guess is that it's
simply irrelevant because if there's no STAT_CURSH
we aren't going to hit those cases where this_noerrexit
becomes non-zero.
Obviously, there could be even more complicated cases that
still cause problems, but I think we'll just have to discover
those. I'll write some tests that might help.
Note I fixed some indentation.
pws
diff --git a/Src/jobs.c b/Src/jobs.c
index dd7bba405..a3b9f667a 100644
--- a/Src/jobs.c
+++ b/Src/jobs.c
@@ -427,11 +427,17 @@ storepipestats(Job jn, int inforeground, int fixlastval)
}
if (fixlastval) {
- if (jn->stat & STAT_CURSH) {
- if (!lastval && isset(PIPEFAIL))
- lastval = pipefail;
- } else if (isset(PIPEFAIL))
- lastval = pipefail;
+ if (jn->stat & STAT_CURSH) {
+ if (!lastval && isset(PIPEFAIL)) {
+ if (inforeground)
+ this_noerrexit = 0;
+ lastval = pipefail;
+ }
+ } else if (isset(PIPEFAIL)) {
+ if (inforeground)
+ this_noerrexit = 0;
+ lastval = pipefail;
+ }
}
}