From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 23208 invoked from network); 10 Jun 2000 19:50:53 -0000 Received: from sunsite.auc.dk (130.225.51.30) by ns1.primenet.com.au with SMTP; 10 Jun 2000 19:50:53 -0000 Received: (qmail 4510 invoked by alias); 10 Jun 2000 19:50:42 -0000 Mailing-List: contact zsh-workers-help@sunsite.auc.dk; run by ezmlm Precedence: bulk X-No-Archive: yes X-Seq: 11857 Received: (qmail 4429 invoked from network); 10 Jun 2000 19:50:40 -0000 From: "Bart Schaefer" Message-Id: <1000610194919.ZM31849@candle.brasslantern.com> Date: Sat, 10 Jun 2000 19:49:18 +0000 X-Mailer: Z-Mail (5.0.0 30July97) To: zsh-workers@sunsite.auc.dk Subject: PATCH: Better fix for st->list == NULL in endtrapscope() MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii This replaces 11839, but it doesn't do anything for 11854. Index: Src/signals.c =================================================================== @@ -669,7 +669,8 @@ newshf->nam = ztrdup(shf->nam); newshf->flags = shf->flags; newshf->funcdef = dupeprog(shf->funcdef, 0); - } + } else + st->flags &= ~ZSIG_FUNC; st->list = newshf; } else { st->list = sigfuncs[sig] ? dupeprog(sigfuncs[sig], 0) : NULL; @@ -853,7 +854,7 @@ if (sigtrapped[sig]) unsettrap(sig); sigtrapped[sig] = st->flags; - if (st->flags && (st->list != NULL)) { + if (st->flags) { Eprog prog = (st->flags & ZSIG_FUNC) ? ((Shfunc) st->list)->funcdef : (Eprog) st->list; /* prevent settrap from saving this */ -- Bart Schaefer Brass Lantern Enterprises http://www.well.com/user/barts http://www.brasslantern.com Zsh: http://www.zsh.org | PHPerl Project: http://phperl.sourceforge.net