From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 7085 invoked from network); 14 Jun 2000 14:03:41 -0000 Received: from sunsite.auc.dk (130.225.51.30) by ns1.primenet.com.au with SMTP; 14 Jun 2000 14:03:41 -0000 Received: (qmail 5746 invoked by alias); 14 Jun 2000 14:03:32 -0000 Mailing-List: contact zsh-workers-help@sunsite.auc.dk; run by ezmlm Precedence: bulk X-No-Archive: yes X-Seq: 11895 Received: (qmail 5733 invoked from network); 14 Jun 2000 14:03:31 -0000 Date: Wed, 14 Jun 2000 15:03:04 +0100 From: Peter Stephenson Subject: Re: Wordcode functions with empty bodies In-reply-to: "Your message of Wed, 14 Jun 2000 13:20:28 BST." <0FW5001JJ8Y41M@la-la.cambridgesiliconradio.com> To: zsh-workers@sunsite.auc.dk (Zsh hackers list) Message-id: <0FW5001QLDP31M@la-la.cambridgesiliconradio.com> Content-transfer-encoding: 7BIT > If you can > find a particular chunk of code which seems to be doing something wrong > (shorter than the complete traps test) I'll have a look at it sometime. While I'm waiting, there's something obviously wrong with the way exit tests are unset, but this looks too simple to be the source of everyone's problems --- which generically stem from the fact that traps can take two forms which are stored in the same place but manipulated in different ways. Index: Src/signals.c =================================================================== RCS file: /cvsroot/zsh/zsh/Src/signals.c,v retrieving revision 1.7 diff -u -r1.7 signals.c --- Src/signals.c 2000/06/09 14:40:54 1.7 +++ Src/signals.c 2000/06/14 12:40:24 @@ -837,9 +837,9 @@ exitfn = removehashnode(shfunctab, "TRAPEXIT"); } else { exitfn = sigfuncs[SIGEXIT]; - sigfuncs[SIGEXIT] = NULL; } - unsettrap(SIGEXIT); + sigfuncs[SIGEXIT] = NULL; + sigtrapped[SIGEXIT] = 0; } if (savetraps) { -- Peter Stephenson Cambridge Silicon Radio, Unit 300, Science Park, Milton Road, Cambridge, CB4 0XL, UK Tel: +44 (0)1223 392070