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,UNPARSEABLE_RELAY
autolearn=ham autolearn_force=no version=3.4.4
Received: (qmail 5091 invoked from network); 25 Aug 2021 10:48:11 -0000
Received: from zero.zsh.org (2a02:898:31:0:48:4558:7a:7368)
by inbox.vuxu.org with ESMTPUTF8; 25 Aug 2021 10:48:11 -0000
ARC-Seal: i=1; cv=none; a=rsa-sha256; d=zsh.org; s=rsa-20210803; t=1629888491;
b=FIyW71eFcOGXyt+3gS4GXExi8xM3aAkh523D5zxK/X47ooM7zQ9S+nhk7AQAp+UWFEY+fn++Cc
BQaUGSg29AAB4ayX22UOHxEjwwXaHlgH7V48YR4oKTOoJ9caVS2yO0POMuYZAvpaz7AWRYm2Cm
0gMpQ1RZbzR30+ERv2ma/w1cUML8VNoAwT7zJ/o3JKsM8PikZ3+EGYRP0nTqHmJAHbomXNoZij
y5bh27O0BERgBKMmdK4Fxo+rM1+jmmbndRK6MOlN+LL4EtIL+hlNYB/R9Oeo+Pzkqd3PmjRuQX
uGvve5EbZOUKcFwZYPyupJ5WbSQSkqRPxZX7vC325xa/aA==;
ARC-Authentication-Results: i=1; zsh.org;
iprev=pass (smtpq5.tb.ukmail.iss.as9143.net) smtp.remote-ip=212.54.57.100;
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=1629888491;
bh=l1DlaUjebCNV9Nf5F7tpqeX1ngtwuci7p3c5HPjR4uc=;
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=JtLUvbBPdsJn4vkD0bp0LY6+JD/wVRyS1lsRkJ/n0F4U2iSx0eiEEyEzTaUwCryydlZiQvpASX
XNwzmQE0/v/PvTDCW61d6ZfItfmPuFCTe5g5oWvhyu1kfAhCked096kZxunJvk/ibUtN3E5Mm/
znXI2b2Pnk91nTXFKvoQE/jMirry1rsPXIaAJawzY+jZonLLh2J5XeIWUeIpqgJr2c5zgQiEEV
oA3FOGSg6uCC12SMRJmdqoejNWX3jD9fiuZSeXkYWW1nZJdNtxgEZg75RN1+w1IqjiL1tgrll7
wICG76tzTSx4gglLaxBhzkHDdyLbYMiphafDnqVW7ZnKhQ==;
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=HKZ4Xu0c6k+6X7VigKWfZnDGdnXHNv1iJwXM57r77xg=; b=H/Ioq4wsd7GFwiYBzZ6BenVHV8
bAvw2QP6eaacrSKeL+gtRsfY65/P/LNFtu1WLgqVE+g+ont5yBuYdXNRTmlCSMPClpp4a5BqYZQBk
J7D6umR4VvC3W5a+SUUS6qrksHZeXlKqVtNaXC+ic8bmzg6kE05QsZ2mlGbwUoyeuvI/gCV/so32G
W+3Tg8D0p00idS30mBjfDZ2nwgxVZATESdYc6Q+i8qQZAAoz08C6KNjRV+R0xJkYSVgucS9ewz9IZ
I+MPTE8RVsCXT3X8ZwOqd2lZaFwGxrahd7YdorASic+j42Y5+zy6VfeCIpYPJ2UVI2t3uhEjx9DCs
o4IvMoew==;
Received: from authenticated user by zero.zsh.org with local
id 1mIqRZ-0005x5-Ak; Wed, 25 Aug 2021 10:47:41 +0000
Authentication-Results: zsh.org;
iprev=pass (smtpq5.tb.ukmail.iss.as9143.net) smtp.remote-ip=212.54.57.100;
dkim=pass header.d=ntlworld.com header.s=meg.feb2017 header.a=rsa-sha256;
dmarc=pass header.from=ntlworld.com;
arc=none
Received: from smtpq5.tb.ukmail.iss.as9143.net ([212.54.57.100]:32840)
by zero.zsh.org with esmtps (TLS1.2:ECDHE-RSA-AES128-GCM-SHA256:128)
id 1mIqRM-0005g5-Ph; Wed, 25 Aug 2021 10:47:29 +0000
Received: from [212.54.57.80] (helo=smtp1.tb.ukmail.iss.as9143.net)
by smtpq5.tb.ukmail.iss.as9143.net with esmtp (Exim 4.86_2)
(envelope-from
)
id 1mIqRM-0002Ud-Iv
for zsh-workers@zsh.org; Wed, 25 Aug 2021 12:47:28 +0200
Received: from oxbe8.tb.ukmail.iss.as9143.net ([172.25.160.139])
by smtp1.tb.ukmail.iss.as9143.net with ESMTP
id IqRMmzI6LhdxkIqRMmmW51; Wed, 25 Aug 2021 12:47:28 +0200
X-Env-Mailfrom: p.w.stephenson@ntlworld.com
X-Env-Rcptto: zsh-workers@zsh.org
X-SourceIP: 172.25.160.139
X-CNFS-Analysis: v=2.4 cv=Ru2mkAqK c=1 sm=1 tr=0 ts=61261fc0 cx=a_exe
a=pgSR3NrKiwmx/6vnWRL19w==:117 a=sfM75MaK4YAA:10 a=IkcTkHD0fZMA:10
a=2y5beTJ5bSgA:10 a=NLZqzBF-AAAA:8 a=YR4_K0clAAAA:8 a=seNWGeDVru9tgfx59voA:9
a=7Zwj6sZBwVKJAoWSPKxL6X1jA+E=:19 a=QEXdDO2ut3YA:10 a=wW_WBVUImv98JQXhvVPZ:22
a=waMAY2KAzxQUlx2gRwsv: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=1629888448;
bh=l1DlaUjebCNV9Nf5F7tpqeX1ngtwuci7p3c5HPjR4uc=;
h=Date:From:To:In-Reply-To:References:Subject;
b=BJ8ufdOfs/TocR7vACFhyaWV8S9Gv+lnjExHXdinjeXXbPPa+C/8YlZOsJcbM2y9Y
hNxBl/3+Jeqat6n7SwioSLvYUXjPiXliD0fBtUjfez1jw9i/4AFiBjSCX3Qazsc9p3
b85I2kqOLHL7wFN5VVIljNN8lsestj7iYS9BTcOykR0LtcgTCr8t+/2uNP0/YixO9a
XpsH9Q8RI3SzajeWnc5NScAfo1y/3o9d8Yxs0pfTkMpgGMm37rNt3ueRhYze0ePcOg
virvJScb3EBXT/FaiHLqxEJ75GPHpQygK7aJblfpb5PYuGBaP18/pCeDe2O2QSJ2OK
1VNO5hMzoOdeQ==
Date: Wed, 25 Aug 2021 11:47:28 +0100 (BST)
From: Peter Stephenson
To: zsh-workers@zsh.org
Message-ID: <261734579.1140965.1629888448296@mail2.virginmedia.com>
In-Reply-To: <1698549386.1139709.1629886255005@mail2.virginmedia.com>
References: <20210824162330.GA3017045@cventin.lip.ens-lyon.fr>
<1698549386.1139709.1629886255005@mail2.virginmedia.com>
Subject: Re: [BUG] ignored trap and subshell
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-Priority: 3
Importance: Medium
X-Mailer: Open-Xchange Mailer v7.8.4-Rev72
X-Originating-IP: 165.225.81.118
X-Originating-Client: open-xchange-appsuite
X-CMAE-Envelope: MS4xfN1uS7Wl31CfYt4BGAtLT4D188TVcuHD5uL3maroFRVmuYCFcQCniVWHscUI5inFbbZnBC6qolmkvxEWWReIrAY+jDHc8MJV3PXZZE5dKM1IQLmh71tx
Lt5phoNz67VwReexdgHbbqLck0ki9wVqiGDF2iZ1jokSmA/lX96AGiZRsOVg+7Ilz6i7eID4MTbJqQIVhhXaH0HeQxVePMiTvGKtJEnsuLNS16SLB0oUh5v7
X-Seq: 49307
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 25 August 2021 at 11:10 Peter Stephenson wrote:
> > On 24 August 2021 at 17:23 Vincent Lefevre wrote:
> > The zshmisc(1) man page says:
> >
> > ( list )
> > Execute list in a subshell. Traps set by the trap builtin are
> > reset to their default values while executing list.
> >
> > However, with "emulate sh", ignored traps should still be ignored
> > in the subshell according to POSIX, and zsh 5.8 fails do conform:
>
> I think this is straightforward. POSIXTRAPS is clearly the option for the job.
And some documentation; the place Vincent mentioned looks like the obvious one
(we have at least one piece of evidence it gets read...)
diff --git a/Doc/Zsh/grammar.yo b/Doc/Zsh/grammar.yo
index 2eb2018d2..f8f4ada86 100644
--- a/Doc/Zsh/grammar.yo
+++ b/Doc/Zsh/grammar.yo
@@ -288,7 +288,9 @@ for each selection until a break or end-of-file is encountered.
cindex(subshell)
item(tt(LPAR()) var(list) tt(RPAR()))(
Execute var(list) in a subshell. Traps set by the tt(trap) builtin
-are reset to their default values while executing var(list).
+are reset to their default values while executing var(list); an
+exception is that ignored signals will continue to be ignored
+if the option tt(POSIXTRAPS) is set.
)
item(tt({) var(list) tt(}))(
Execute var(list).
diff --git a/Src/exec.c b/Src/exec.c
index 49ff88b80..79d8064b6 100644
--- a/Src/exec.c
+++ b/Src/exec.c
@@ -1033,7 +1033,8 @@ entersubsh(int flags, struct entersubsh_ret *retp)
if (!(flags & ESUB_KEEPTRAP))
for (sig = 0; sig < SIGCOUNT; sig++)
- if (!(sigtrapped[sig] & ZSIG_FUNC))
+ if (!(sigtrapped[sig] & ZSIG_FUNC) &&
+ !(isset(POSIXTRAPS) && (sigtrapped[sig] & ZSIG_IGNORED)))
unsettrap(sig);
monitor = isset(MONITOR);
job_control_ok = monitor && (flags & ESUB_JOB_CONTROL) && isset(POSIXJOBS);