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.3 required=5.0 tests=DKIM_SIGNED,DKIM_VALID, MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED autolearn=ham autolearn_force=no version=3.4.4 Received: (qmail 386 invoked from network); 15 Dec 2022 06:40:53 -0000 Received: from zero.zsh.org (2a02:898:31:0:48:4558:7a:7368) by inbox.vuxu.org with ESMTPUTF8; 15 Dec 2022 06:40:53 -0000 ARC-Seal: i=1; cv=none; a=rsa-sha256; d=zsh.org; s=rsa-20210803; t=1671086453; b=RB3lPhQIB5E+gRSFOjZVKJX4Qq+hZejt7aAvzS7IhZk+LOUwgtp6nFzCTORzCRtdG9jZNSn5tu kHte9usSgkItOheRWp+Mr0hWl0c+/AgUY3QGowaexjRLwgoU7eNlO03HtRaXCSIfFEs0H25XsM x8VWr0pj4IyWwGXLFYWsT4Br7AcBMe6Jk1nw7TLOBSIkfNSzqA2+jm/d6RFw4iUf5OJORi+n0N ig1TIE0KP3KQXCEbBPvODMagO6aXIA3HnBNRyyFZ4950N3hTZ5EJ3bB/B1smYxHyDr4tpPe4ZL U+kdmRl5p5JyrbnSp+19tDySNH/sHTIkDmvxb3sxPz/3eQ==; ARC-Authentication-Results: i=1; zsh.org; iprev=pass (mail-ej1-f43.google.com) smtp.remote-ip=209.85.218.43; dkim=pass header.d=brasslantern-com.20210112.gappssmtp.com header.s=20210112 header.a=rsa-sha256; dmarc=none header.from=brasslantern.com; arc=none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed; d=zsh.org; s=rsa-20210803; t=1671086453; bh=akISE4pPYN6DrBElNLlLeeUKbINqBjb61LRNzi72IUg=; h=List-Archive:List-Owner:List-Post:List-Unsubscribe:List-Subscribe:List-Help: List-Id:Sender:Content-Type:Cc:To:Subject:Message-ID:Date:From:In-Reply-To: References:MIME-Version:DKIM-Signature:DKIM-Signature; b=pcX3zTRcdZtCT5zYc5KttB2AGsKorzDreUeXQYkRM6sk3HmOpHEZykCAU+pSweTfdeW1ukOJDN 1NiOkWEgjcuQYFIHNXUElmp50Wj9jf/XphkwuYbgGqg2HWF4+ts4crCLHkVuYMFft/pkvOTJ3E 0mzlayG7cVXb+z2Nv412rEByHUfNtoWgPdeIDRcMPfDghBN+H6C2upB+KZOhEQsuinl6shLOQO cmbCsp8PyPlddahQ0XxfKsKuCDnWmdgaRLTtEXcp/U0SO2U/AptHY86gdKSkdV1axDEmJDfqij JiSgc1triJcRzjL7LLdeicPkA362FuBaU2uEsW4BwTo/Kw==; 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-Type:Cc:To:Subject:Message-ID :Date:From:In-Reply-To:References:MIME-Version:Reply-To: Content-Transfer-Encoding:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID; bh=f2+3aRid5bxNCma8HpJuOQTGoBvbZuk3Zw/ta2Fb1/M=; b=PHHALAlWbNQce53zDAPv2Kxefg gGsK51GiaAatRqBuMhWg94pj47kvFx2awJx7+JWi8/iNS3etiFsbcsu/Lp9h3K4v+xNLE0fyADbyX ITDoeDOGKB2pp+qmO4mMzaB7DWfE6pZAxcV3/gcw2tKwajtEc6WVbTA7yG9ROaRyVPAI8RxITjjVi L8HzV9dqTfG8I2YYXUGsXhdyOLjbLlPc7t+ERgqiMSrg7YNMFv4scnJe+xuoCsVK4fClZMb6pj21e dBxNnag2MMZjGjkhID1WADC2ITJWZiUYYyrdsygCuYWzjwHpBSdM3O7FqAye+737eoeOwpC53tZKK c1vrCt2g==; Received: by zero.zsh.org with local id 1p5hvH-000BQp-Gg; Thu, 15 Dec 2022 06:40:51 +0000 Authentication-Results: zsh.org; iprev=pass (mail-ej1-f43.google.com) smtp.remote-ip=209.85.218.43; dkim=pass header.d=brasslantern-com.20210112.gappssmtp.com header.s=20210112 header.a=rsa-sha256; dmarc=none header.from=brasslantern.com; arc=none Received: from mail-ej1-f43.google.com ([209.85.218.43]:36462) by zero.zsh.org with esmtps (TLS1.3:TLS_AES_128_GCM_SHA256:128) id 1p5huh-000B7E-UL; Thu, 15 Dec 2022 06:40:17 +0000 Received: by mail-ej1-f43.google.com with SMTP id qk9so50015326ejc.3 for ; Wed, 14 Dec 2022 22:40:15 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=brasslantern-com.20210112.gappssmtp.com; s=20210112; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=f2+3aRid5bxNCma8HpJuOQTGoBvbZuk3Zw/ta2Fb1/M=; b=dxrLU15SR/2YqiRfE4LdzU1SJ4JvCFS/ectLh5n0wItaS7d3J1ipEiHtAnpOHwN6ju 6Gk+8Sra/u5xj9rHg2RmSJyfkA/HLrXUau2osiPF+BYIagQITx1/tTpYcKYj0tNslqOb wO3Ns/BbPUQSlM1qK9MFi8530NVjgfbjl3CuYA+q8y3AliTxb2SVnu3+Ig+QASbb7Z4W grmkFKgjvM3Dbw9UsS64ACE7hNMLYywWGE14t4Ju0EuRVSvL9mHTfm2AqW9H4348YY+J kL9nhNJ2D6VwMMS9BxLe6UfQtBG/AhkzLWGG8TmS7+vEGdHBq18NR1zDn4/wiOXV72/+ EaDw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=f2+3aRid5bxNCma8HpJuOQTGoBvbZuk3Zw/ta2Fb1/M=; b=AmyBDzFtBGpi7t1u9DLfaAwJfa/XI5qFrhbMLahVtpZahVcrrjarcPep2jDIp113vo Lcor/acKCDEAgogSSTml+tqz5YBxmWUvHMJ80Tp2liSZWI0bfRhcDqN3BJFF3rwCePFC jNJkjejSNdIloaL1J2+/B7xfkZIJjdPv6pBCRjJLrMWItkpYYv0VK2EyhvDgdbnAXDa0 sZkMItNoP+NGSONqn+7rEyaedjju0llybKNyZj0w7JLqlK+lB+dL2BnpPW18mn0fWpXu 2pBjS8HI++RWPh5AhpOFU+5eHcLufobLXBDBbrdNiXGUfl+NiKxjf/20BaQjRw7UAhoN l9rw== X-Gm-Message-State: ANoB5pmRJg4l3809QUUHPE3ujmlyDmyvYcbSeiPwb1mkxGDqV1736YaG 9jX2djrpaBvzn+epE/3b7H9l8Zc7fB+ay44OF4vBug== X-Google-Smtp-Source: AA0mqf41BqBA+wik/H9h8NRcW2Yq6REYdZ267HYa165inBBGfl5kkAiyMb5J9GzRHzu3tMjyn/d7zS0UOcAzV4Cc+XI= X-Received: by 2002:a17:906:3b0a:b0:7c1:449b:dabb with SMTP id g10-20020a1709063b0a00b007c1449bdabbmr1305771ejf.732.1671086415004; Wed, 14 Dec 2022 22:40:15 -0800 (PST) MIME-Version: 1.0 References: <1939278e-89c4-812d-5dea-e836568dc100@inlv.org> In-Reply-To: From: Bart Schaefer Date: Wed, 14 Dec 2022 22:40:03 -0800 Message-ID: Subject: Re: EXIT trap not executed on error To: Philippe Altherr Cc: Zsh hackers list , Martijn Dekker Content-Type: text/plain; charset="UTF-8" X-Seq: 51217 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 Wed, Dec 14, 2022 at 12:35 AM Philippe Altherr wrote: > > I had a look at the errflag logic and admittedly I don't understand everything/much. However I noticed that other places that restore the errflag preserve the ERRFLAG_INT bit. IMO that's irrelevant ... no trap will run when errflag is set, and in theory at least the exit trap is the last thing we're going to do, so remembering that we got an interrupt during the trap doesn't mean much. zexit() actually goes so far as to clear errflag twice and to clear intrap as well the second time. I'm actually pretty sure saving and restoring errflag is not needed at all. > I also wondered whether signals.c/dotraps would be a better place for the new logic. I considered that, but saw dotraps being re-entered while stepping through things with the debugger, so I thought it better to stay with doing changes in the caller.