From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 29511 invoked from network); 1 Jun 2004 21:25:00 -0000 Received: from thor.dotsrc.org (HELO a.mx.sunsite.dk) (130.225.247.86) by ns1.primenet.com.au with SMTP; 1 Jun 2004 21:25:00 -0000 Received: (qmail 7264 invoked from network); 1 Jun 2004 21:24:35 -0000 Received: from sunsite.dk (130.225.247.90) by a.mx.sunsite.dk with SMTP; 1 Jun 2004 21:24:35 -0000 Received: (qmail 26643 invoked by alias); 1 Jun 2004 21:24:31 -0000 Mailing-List: contact zsh-workers-help@sunsite.dk; run by ezmlm Precedence: bulk X-No-Archive: yes X-Seq: 20000 Received: (qmail 24356 invoked from network); 1 Jun 2004 18:02:50 -0000 Received: from thor.dotsrc.org (HELO a.mx.sunsite.dk) (qmailr@130.225.247.86) by sunsite.dk with SMTP; 1 Jun 2004 18:02:47 -0000 Received: (qmail 2942 invoked from network); 1 Jun 2004 18:02:47 -0000 Received: from 209-128-98-052.bayarea.net (HELO Yost.com) (209.128.98.52) by a.mx.sunsite.dk with SMTP; 1 Jun 2004 18:02:46 -0000 Received: from [209.128.98.50] (ip2 [209.128.98.50]) by Yost.com (Postfix) with ESMTP id 7F67A21FB20 for ; Tue, 1 Jun 2004 11:02:12 -0700 (PDT) Mime-Version: 1.0 X-Sender: yost@mail4.yost.com Message-Id: Date: Tue, 1 Jun 2004 11:01:09 -0700 To: zsh-workers@sunsite.dk From: Dave Yost Subject: zsh needs try-finally Content-Type: text/plain; charset="us-ascii" 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 Hi. Zsh needs a mechanism a la Java's try-finally or lisp's unwind-protect. Example: for file in $* do tmp=$file.TMP-$commandName mv -f $file $tmp (eval $filter) < $tmp > $file rm -f $tmp done The 'rm -f $tmp' command should be in a finally block, something like this: for file in $* do tmp=$file.TMP-$commandName mv -f $file $tmp try (eval $filter) < $tmp > $file finally rm -f $tmp yrt done See also: http://yost.com/computers/java/finally-throwable.html Thanks Dave