From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 12260 invoked from network); 11 Sep 2003 09:17:28 -0000 Received: from sunsite.dk (130.225.247.90) by ns1.primenet.com.au with SMTP; 11 Sep 2003 09:17:28 -0000 Received: (qmail 13785 invoked by alias); 11 Sep 2003 09:17:22 -0000 Mailing-List: contact zsh-workers-help@sunsite.dk; run by ezmlm Precedence: bulk X-No-Archive: yes X-Seq: 19065 Received: (qmail 13776 invoked from network); 11 Sep 2003 09:17:21 -0000 Received: from localhost (HELO sunsite.dk) (127.0.0.1) by localhost with SMTP; 11 Sep 2003 09:17:21 -0000 X-MessageWall-Score: 0 (sunsite.dk) Received: from [4.64.232.255] by sunsite.dk (MessageWall 1.0.8) with SMTP; 11 Sep 2003 9:17:21 -0000 Received: (from schaefer@localhost) by candle.brasslantern.com (8.11.6/8.11.6) id h8B9HJL08225 for zsh-workers@sunsite.dk; Thu, 11 Sep 2003 02:17:19 -0700 From: Bart Schaefer Message-Id: <1030911091719.ZM8224@candle.brasslantern.com> Date: Thu, 11 Sep 2003 09:17:19 +0000 X-Mailer: Z-Mail (5.0.0 30July97) To: zsh-workers@sunsite.dk Subject: The (e) glob flag and 'return' MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Consider this: schaefer<503> print *.*(e['echo $REPLY']) config.log config.status config.h stamp-h.in config.modules config.cache config.h.in config.cache config.h config.h.in config.log config.modules config.status stamp-h.in schaefer<504> This strikes me as odd: schaefer<504> print *.*(e['echo $REPLY; return']) config.log config.cache config.h config.h.in config.log config.modules config.status stamp-h.in schaefer<505> I would have expected that either the two were the same, or that the latter would pass only config.log to "print". How does "return" manage to cause the subsequent evaluations to be no-ops but not errors?