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 1149 invoked from network); 25 Aug 2021 10:11:17 -0000 Received: from zero.zsh.org (2a02:898:31:0:48:4558:7a:7368) by inbox.vuxu.org with ESMTPUTF8; 25 Aug 2021 10:11:17 -0000 ARC-Seal: i=1; cv=none; a=rsa-sha256; d=zsh.org; s=rsa-20210803; t=1629886278; b=ax+ho+xOJl87Rh8+MaXh8dzVTgtQFELSh1e1jo/HA7OZ8sqFu3PdhwHUBf0nMQctbhEnbM9bZq ejKGe3X6Xd9oIsJMx7/Smpkzq/OHaAdW01ry4hmvXZnw/sus/pT22OA7BuZ7E4vurJnhJQlzP5 jhaLIMy/YFvkFWhAvLNt/bEkHyrH7is/ACdAhdQqBeEJgXzysIQMotjduE7XbKNRTi0/tu0dy4 WSjCEdEKL2y+S1LWLWbFWDxzP3AhnnD1vCPaKTvvvkunJi4cdiAg3wImGqM1SBHaLU0lXG8EbR hjXwY9CuhW9ewFuyXvbyD5HEfuE/DWwGgyMm40lYYSN03w==; 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=1629886278; bh=y9JL4lwr8EGeUkR5F/bNw9UI37S+qq0qhexeZZNsrXU=; 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=K12Sb+FyR3yUK3Gxea5QBof1hC/pmxVde+bi6OxQLjC4U6CGzbDrlP3oc6QkVePtAcd//M6LQy 1SbAK5cMgLcRPY2z+JB3162j6O4wTEAn5hwaRB4vPNZ7qYjAGFG04C6djmazhLgXoi7WOKjaGQ 12INvBLyVcHpCkdE9cDXYKlpz6SvSDnpW1oA671SkLIe44znlnia9H8XfN5CXVrtUH+sIKVOFB Ga90brRow+st846vXTwWK3xcVf7/t+XXpBlnuy8tsqEfaWXUwmlBnstwagKzfdl5sWYKLRo9oM LQcx9cePFcOA2Jg9zrCENYfi1fOgsIzA4u2A5wrfYWsnZQ==; 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=IC8Ap49194LJMNc/4pGs8q4jQCGRpL2YaiuWA7u4eEY=; b=sWd7/ObIlQ9FDA7ww1rBweAiof zxxZaPoaUUxP/qw0kDzUY2f7U+g0Tj1PGc8orZPxLiqwRjLSckDHz4YGeqYnl7J6hP/kFw5GCTs5A RjzEwWexZtHEzZkaTSIRuf4/R3/C+MRcxLlHPP00siAtbsw4ork+lV1D+9Jik87frlOEpzAZfIBvO OnWfM0+qJwN3IS+YUUjZEWkSuqYsbmnVMSijuAwLWsO7vIdpFqUx9AEkQ5uG0G+LLUe5gseSO0jmf Oo7JOWUi4yefKoueCspyFOAV9NE8LJ/xVizaezRi28K/5chuqbME6T2WG3sOHud8c57AN5fKUG85t Bp1ZWCbQ==; Received: from authenticated user by zero.zsh.org with local id 1mIpsK-0003Sk-Ko; Wed, 25 Aug 2021 10:11:16 +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]:36454) by zero.zsh.org with esmtps (TLS1.2:ECDHE-RSA-AES128-GCM-SHA256:128) id 1mIprz-00039B-R3; Wed, 25 Aug 2021 10:10:56 +0000 Received: from [212.54.57.81] (helo=smtp2.tb.ukmail.iss.as9143.net) by smtpq5.tb.ukmail.iss.as9143.net with esmtp (Exim 4.86_2) (envelope-from ) id 1mIprz-0007uF-3S for zsh-workers@zsh.org; Wed, 25 Aug 2021 12:10:55 +0200 Received: from oxbe8.tb.ukmail.iss.as9143.net ([172.25.160.139]) by smtp2.tb.ukmail.iss.as9143.net with ESMTP id Iprzmij9eZ49GIprzmTnBQ; Wed, 25 Aug 2021 12:10:55 +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=XZHqcK15 c=1 sm=1 tr=0 ts=6126172f cx=a_exe a=pgSR3NrKiwmx/6vnWRL19w==:117 a=sfM75MaK4YAA:10 a=IkcTkHD0fZMA:10 a=2y5beTJ5bSgA:10 a=YR4_K0clAAAA:8 a=3KQ5cZ-BeZ-60K_WM78A:9 a=QEXdDO2ut3YA:10 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=1629886255; bh=y9JL4lwr8EGeUkR5F/bNw9UI37S+qq0qhexeZZNsrXU=; h=Date:From:To:In-Reply-To:References:Subject; b=SXoEMwWgGAHnY6IuWEgK43O2lYehtB6RlkxKZfQ5WpkQynXndZwL5a0WE5Lc1nqAz bA5PyjiPHHHoOC3YQrK+VnVDMcLZOMWA3O5H7k/Dd8JJUAk5QzRUBy4Nsx9WNTxMGm ozM0U5hVaFC/aMd+dkuBHWUvCkSjXQEufTgtWDIqkB+AOky0qdejQSGjksRzFjwBhg buoj8oIhaBqh9Y49z8d5EnvWy126SdP3ceE6JJD+acW7lkszhbqGzN4KGXX08YTkUf tKrvjz0kMhMcOUDdlLOIpzMHPLD+ripv04Pya65r/2vu/fbaFws0O3yhsQZFvXgwBA AjA9BGckRbfIQ== Date: Wed, 25 Aug 2021 11:10:54 +0100 (BST) From: Peter Stephenson To: zsh-workers@zsh.org Message-ID: <1698549386.1139709.1629886255005@mail2.virginmedia.com> In-Reply-To: <20210824162330.GA3017045@cventin.lip.ens-lyon.fr> References: <20210824162330.GA3017045@cventin.lip.ens-lyon.fr> 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: MS4xfAuIToLpcQhrN7CokzRasBikf/Ud/5hLbxHZUlbDO2zUyyxI7iyhvJD0WvjDDxpqzjmzsvHUkDFgLc3A+cyFefnlJfxUjhHqmcuZFYK7lqBxid4Vi+Ge W207iGV9WjGzeN3R3OC7NOWxcEgQs9rz975+y/BIF7Io15AJQb+yFbcXhOs8bBDzUqdJ0JkwhwvZ8cJxj4iC5qufcu6+UZn7WpFbwv2lsZT/LtwXQLUyPGAx X-Seq: 49305 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 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. pws 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);