From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 23877 invoked by alias); 29 Sep 2016 07:30:34 -0000 Mailing-List: contact zsh-workers-help@zsh.org; run by ezmlm Precedence: bulk X-No-Archive: yes List-Id: Zsh Workers List List-Post: List-Help: X-Seq: 39491 Received: (qmail 2491 invoked from network); 29 Sep 2016 07:30:34 -0000 X-Qmail-Scanner-Diagnostics: from mail-pa0-f54.google.com by f.primenet.com.au (envelope-from , uid 7791) with qmail-scanner-2.11 (clamdscan: 0.99.2/21882. spamassassin: 3.4.1. Clear:RC:0(209.85.220.54):SA:0(0.0/5.0):. Processed in 0.129431 secs); 29 Sep 2016 07:30:34 -0000 X-Spam-Checker-Version: SpamAssassin 3.4.1 (2015-04-28) on f.primenet.com.au X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=T_DKIM_INVALID autolearn=unavailable autolearn_force=no version=3.4.1 X-Envelope-From: schaefer@brasslantern.com X-Qmail-Scanner-Mime-Attachments: | X-Qmail-Scanner-Zip-Files: | Received-SPF: none (ns1.primenet.com.au: domain at brasslantern.com does not designate permitted sender hosts) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=brasslantern-com.20150623.gappssmtp.com; s=20150623; h=from:message-id:date:in-reply-to:comments:references:to:subject :mime-version; bh=y5dEfHxL4ylzosOwx2OMM3MaJ4EMo27Vo+qFzSmRPuM=; b=D1nx8LtAQc4aesNr5Vmn3re85YKUBFgAO6PTBk1j6JcXJUEiR2BjDLtL2NeSIh1+eG 7i3ieTfsMHCxHRyBjGA5uJSV2nPigjTFfmfgL4+29/EG9cWyw0BjuY4BREXrlcAUEpcG +gZ+dWd2TkchH1VL30p247qO1kiPSh0hVHm0tk36jHzqbXVQkMjjExQ4dOjjuOGFcaHk iII7QvzRidpmls0BIBRZiTXmZpSta/Qx29HOSpPU0F0qDjK8KtAXEB6YCeVaooWwzOhG d/YABM4R7keJdOCL19qz2UjeecEYlPo7QbtjFmA59qQLbm7OCN9OjdfcHa8jMInpjxVR xzEQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:from:message-id:date:in-reply-to:comments :references:to:subject:mime-version; bh=y5dEfHxL4ylzosOwx2OMM3MaJ4EMo27Vo+qFzSmRPuM=; b=YfWnfX/bcN4Pq44x/jh//+13mj7YdUA9qt4pXAfQJYbXDhx/+UA7X9bC+itjSHHuWD DVp0lEFYL4qocPqwMRk8SDylnRCgTfznzhyF2PwdPiOkosuCkCHFNS0isEzn9LYf7LTc BV8jIp97bKuVSZCWgG3FDh/tMWUlinAzqMHo1mPm7Nz9pWlHpIXNk21b+MG2kK5xV6l6 wTOjhMg8ibie/sTDVov2wp27ZwQUoP7ufCoy0LeCxhBtJMoSrCwNqknlN3SwsmJh0lHi akQbt8LgmL44vAXzYJHh4VjMJSOUtcaQd3XeIkEbOXmbmW4CUOSirYIzYDx1UkhgU01e 6F5g== X-Gm-Message-State: AE9vXwMjylf8DWcs4l9F7XCq5cjzdMnMZfp1D0VGTI637tYLCn9ZLpWqszdex1OcvZHeIA== X-Received: by 10.66.164.39 with SMTP id yn7mr64381692pab.163.1475134230344; Thu, 29 Sep 2016 00:30:30 -0700 (PDT) From: Bart Schaefer Message-Id: <160929003047.ZM27818@torch.brasslantern.com> Date: Thu, 29 Sep 2016 00:30:47 -0700 In-Reply-To: <20160929063916.GA4351@fujitsu.shahaf.local2> Comments: In reply to Daniel Shahaf "Re: _dispatch (was Re: PATCH: [for consideration] TMPSUFFIX)" (Sep 29, 6:39am) References: <160925155112.ZM23899@torch.brasslantern.com> <20160926072546.GA28316@fujitsu.shahaf.local2> <160926091922.ZM26758@torch.brasslantern.com> <20160927070039.GA20798@fujitsu.shahaf.local2> <160927122050.ZM13394@torch.brasslantern.com> <20160928102417.GA2729@fujitsu.shahaf.local2> <160928114917.ZM32186@torch.brasslantern.com> <20160929063916.GA4351@fujitsu.shahaf.local2> X-Mailer: OpenZMail Classic (0.9.2 24April2005) To: zsh-workers@zsh.org Subject: Re: _dispatch (was Re: PATCH: [for consideration] TMPSUFFIX) MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii On Sep 29, 6:39am, Daniel Shahaf wrote: } } It might be easier to just give a flag to eval that means "propagate } errflag of the evaluated expression to the calling scope"? So the eval } itself would be aborted/unrolled, too. I don't think this is a significant enough problem to warrant changing the definition of "eval" (if by "give a flag" you mean "add a -e option" for some variant of -e). However, if it were possible for the "eval" builtin to know when it was inside an "always" construct and propagate a new ERRFLAG_EVAL out to where TRY_BLOCK_ERROR could reflect it, that might work. The important bit would be that ERRFLAG_EVAL never converts directly back into ERRFLAG_ERROR, so if the script ignores TRY_BLOCK_ERROR then all errors disappear at the end of the always-block. Or something like that.