From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 3111 invoked from network); 14 Jun 2004 17:28:41 -0000 Received: from thor.dotsrc.org (HELO a.mx.sunsite.dk) (130.225.247.86) by ns1.primenet.com.au with SMTP; 14 Jun 2004 17:28:41 -0000 Received: (qmail 6920 invoked from network); 14 Jun 2004 17:28:32 -0000 Received: from sunsite.dk (130.225.247.90) by a.mx.sunsite.dk with SMTP; 14 Jun 2004 17:28:32 -0000 Received: (qmail 22467 invoked by alias); 14 Jun 2004 17:28:24 -0000 Mailing-List: contact zsh-workers-help@sunsite.dk; run by ezmlm Precedence: bulk X-No-Archive: yes X-Seq: 20047 Received: (qmail 22458 invoked from network); 14 Jun 2004 17:28:23 -0000 Received: from thor.dotsrc.org (HELO a.mx.sunsite.dk) (qmailr@130.225.247.86) by sunsite.dk with SMTP; 14 Jun 2004 17:28:20 -0000 Received: (qmail 6678 invoked from network); 14 Jun 2004 17:28:20 -0000 Received: from lhuumrelay3.lnd.ops.eu.uu.net (62.189.58.19) by a.mx.sunsite.dk with SMTP; 14 Jun 2004 17:28:18 -0000 Received: from MAILSWEEPER01.csr.com (mailhost1.csr.com [62.189.183.235]) by lhuumrelay3.lnd.ops.eu.uu.net (8.11.0/8.11.0) with ESMTP id i5EHRpv25015 for ; Mon, 14 Jun 2004 17:27:51 GMT Received: from EXCHANGE02.csr.com (unverified [192.168.137.45]) by MAILSWEEPER01.csr.com (Content Technologies SMTPRS 4.3.12) with ESMTP id ; Mon, 14 Jun 2004 18:27:14 +0100 Received: from news01.csr.com ([192.168.143.38]) by EXCHANGE02.csr.com with Microsoft SMTPSVC(5.0.2195.6713); Mon, 14 Jun 2004 18:30:57 +0100 Received: from news01.csr.com (localhost.localdomain [127.0.0.1]) by news01.csr.com (8.12.11/8.12.11) with ESMTP id i5EHRoBv024325; Mon, 14 Jun 2004 18:27:51 +0100 Received: from csr.com (pws@localhost) by news01.csr.com (8.12.11/8.12.11/Submit) with ESMTP id i5EHRoVH024322; Mon, 14 Jun 2004 18:27:50 +0100 Message-Id: <200406141727.i5EHRoVH024322@news01.csr.com> X-Authentication-Warning: news01.csr.com: pws owned process doing -bs To: Oliver Kiddle cc: zsh-workers@sunsite.dk (Zsh hackers list) Subject: Re: PATCH: `try' syntax In-reply-to: "Oliver Kiddle"'s message of "Mon, 14 Jun 2004 18:55:05 +0200." <29441.1087232105@trentino.logica.co.uk> Date: Mon, 14 Jun 2004 18:27:49 +0100 From: Peter Stephenson X-OriginalArrivalTime: 14 Jun 2004 17:30:57.0523 (UTC) FILETIME=[5A512C30:01C45235] X-Spam-Checker-Version: SpamAssassin 2.63 on a.mx.sunsite.dk X-Spam-Level: X-Spam-Status: No, hits=0.0 required=6.0 tests=BAYES_50 autolearn=no version=2.63 X-Spam-Hits: 0.0 Oliver Kiddle wrote: > Peter wrote: > > Oliver Kiddle wrote: > > > What exactly do break, continue and return do here? Are they unchanged, > > > expecting an enclosing loop or function. > > > > Yes. The description in the manual is supposed to say that. > > The manual description should probably also mention exit along with > break, continue and return. It doesn't handle exits, exits are immediate. That's why it doesn't mention it. > What happens if break, continue, return or exit are used within the > always block? They are ignored (except exit). Statuses generally use the value from the try block. > > > Or how about using special variable which > > > indicates what the "error condition" is and have that be unset. > > > > Yes, that's possible, and it allows you to test for an error, too, which > > the current syntax doesn't. Again, I couldn't think of a good name > > which didn't potentially clash with a user variable. Perhaps TRY_ERROR > > or even TRY_BLOCK_ERROR would be good enough. (It's not a status; > > $? correctly indicates the status after the try block, but not whether > > an error occurred.) > > TRY_ERROR sounds fine though I might go for TRY_STATUS if it can > indicate a lack of error. But it exactly indicates whether or not there's an error. $? indicates the status. > Does $? get unchanged by the always block like with a trap or > is that only if return or exit is used with an explicit status. $? is like the other variables, it's restored after the always block to what it was in the try block. (Internally, the exectry returns the try block status or'd with the error flag --- I think that's redundant but it seemed safer --- which gets stored in lastval.) -- Peter Stephenson Software Engineer CSR Ltd., Science Park, Milton Road, Cambridge, CB4 0WH, UK Tel: +44 (0)1223 692070 ********************************************************************** This email and any files transmitted with it are confidential and intended solely for the use of the individual or entity to whom they are addressed. If you have received this email in error please notify the system manager. This footnote also confirms that this email message has been swept by MIMEsweeper for the presence of computer viruses. www.mimesweeper.com **********************************************************************