From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 3655 invoked by alias); 30 Jan 2017 15:30:30 -0000 Mailing-List: contact zsh-workers-help@zsh.org; run by ezmlm Precedence: bulk X-No-Archive: yes List-Id: Zsh Workers List List-Post: List-Help: X-Seq: 40469 Received: (qmail 8536 invoked from network); 30 Jan 2017 15:30:30 -0000 X-Qmail-Scanner-Diagnostics: from park01.gkg.net by f.primenet.com.au (envelope-from , uid 7791) with qmail-scanner-2.11 (clamdscan: 0.99.2/21882. spamassassin: 3.4.1. Clear:RC:0(205.235.26.22):SA:0(-2.7/5.0):. Processed in 1.490851 secs); 30 Jan 2017 15:30:30 -0000 X-Spam-Checker-Version: SpamAssassin 3.4.1 (2015-04-28) on f.primenet.com.au X-Spam-Level: X-Spam-Status: No, score=-2.7 required=5.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, RCVD_IN_SORBS_SPAM,RP_MATCHES_RCVD,T_DKIM_INVALID autolearn=unavailable autolearn_force=no version=3.4.1 X-Envelope-From: SRS0=SNcu=ZM=brasslantern.com=schaefer@bounces.park01.gkg.net X-Qmail-Scanner-Mime-Attachments: | X-Qmail-Scanner-Zip-Files: | Received-SPF: none (ns1.primenet.com.au: domain at bounces.park01.gkg.net does not designate permitted sender hosts) X-Virus-Scanned: by amavisd-new at gkg.net Authentication-Results: amavisd4.gkg.net (amavisd-new); dkim=pass (2048-bit key) header.d=brasslantern-com.20150623.gappssmtp.com X-Greylist: delayed 369 by SQLgrey-1.8.0 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=brasslantern-com.20150623.gappssmtp.com; s=20150623; h=from:message-id:date:in-reply-to:comments:references:to:subject :mime-version; bh=17C2SYJ7WwozBa/KL90sSbtv2eGf95y/T+jLxWcg5OY=; b=PO74QRxWe2w6el85eRapfjmNHEalT6hTuDfum2oy5jzvJdujfot0oJMdivmgN+C3BD OXBUHInPkpY8+rn8cnuvbRefrpsnwg1m3X26W5PdL87k4/XEu/J5roUlo4ylDUEKgYcQ xx9ANVBbHP3xIA7fyomus+csOHObeTiHPZVXhzYApKNbZOPQzvhvGkgnXG0SfmqsLBLo qDlczwAhyQ+F7qbQFzjySGn99Tf43WGGI7nxxZ6Cek8JPZyMI/TuHgFLFNI3KEl7oiHG XZ4EV23sC/1pNRYuzTYTJtekTqdoE7jDcEjLrHmjwTlm4ujT1fwilgOB1VxhMGKflonD mZKA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:message-id:date:in-reply-to:comments :references:to:subject:mime-version; bh=17C2SYJ7WwozBa/KL90sSbtv2eGf95y/T+jLxWcg5OY=; b=PUUhzsWuyJgMCZTIQnhCM7XDjA5EuZLS6Ax/RDoimfoqiuOiSfQtNIL6XSpLmAO+5N X8/xoc9SXiACkfq2IlBZSP+FXBa0wuUexdKcXcMPkm/7HHfhOfyEHgFX90q19P7+zTXf J380JPcVJJIysqdzt7uuEfE+8Imzee7xicpH+cDcLNlGFK/PcqcQdV/4QMhwvYzLGpOG UBXi94nYuxINL+hpgrc4Cf/guqEWYEpaaYGnJIZrzuhcgrAsUiRDY0XNWBdW+QuwQpzD zZweRFekKXVncxZyG+KyoWeAejarMoEEkzqBU5xMfMlCyx0bDBow0boL7oEM00h0pJ5/ D8wA== X-Gm-Message-State: AIkVDXIq6LRX/FzShz3jYu4OehuPkI9nSGp98lMTM1XZThvu0AF6Nooe0wlwtintDqsEEA== X-Received: by 10.31.98.196 with SMTP id w187mr8819132vkb.169.1485789830218; Mon, 30 Jan 2017 07:23:50 -0800 (PST) From: Bart Schaefer Message-Id: <170130072437.ZM23342@torch.brasslantern.com> Date: Mon, 30 Jan 2017 07:24:37 -0800 In-Reply-To: <20170130065325.GA6220@fujitsu.shahaf.local2> Comments: In reply to Daniel Shahaf "BUG: restore_queue_signals(): q = 2 != queue_in = 3" (Jan 30, 6:53am) References: <20170130065325.GA6220@fujitsu.shahaf.local2> X-Mailer: OpenZMail Classic (0.9.2 24April2005) To: zsh-workers@zsh.org Subject: Re: BUG: restore_queue_signals(): q = 2 != queue_in = 3 MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii OK, this is one of those cases where I had to choose between HEAPDUP and queue_signals() and I missed some "return" in the blocks. There aren't other globals being manipulated here so rather than try to catch all the early "return" let's just drop use of PAT_STATIC. diff --git a/Src/Zle/complete.c b/Src/Zle/complete.c index 49b338f..68bdf23 100644 --- a/Src/Zle/complete.c +++ b/Src/Zle/complete.c @@ -896,14 +896,12 @@ do_comp_vars(int test, int na, char *sa, int nb, char *sb, int mod) int i, l = arrlen(compwords), t = 0, b = 0, e = l - 1; Patprog pp; - queue_signals(); /* Protect PAT_STATIC */ - i = compcurrent - 1; if (i < 0 || i >= l) return 0; singsub(&sa); - pp = patcompile(sa, PAT_STATIC, NULL); + pp = patcompile(sa, PAT_HEAPDUP, NULL); for (i--, p = compwords + i; i >= 0; p--, i--) { if (pattry(pp, *p)) { @@ -932,9 +930,6 @@ do_comp_vars(int test, int na, char *sa, int nb, char *sb, int mod) t = 0; if (t && mod) restrict_range(b, e); - - unqueue_signals(); - return t; } case CVT_PRENUM: @@ -957,12 +952,10 @@ do_comp_vars(int test, int na, char *sa, int nb, char *sb, int mod) { Patprog pp; - queue_signals(); /* Protect PAT_STATIC */ - if (!na) return 0; - if (!(pp = patcompile(sa, PAT_STATIC, 0))) + if (!(pp = patcompile(sa, PAT_HEAPDUP, 0))) return 0; if (test == CVT_PREPAT) { @@ -1043,9 +1036,6 @@ do_comp_vars(int test, int na, char *sa, int nb, char *sb, int mod) if (mod) ignore_suffix(ol - (p - compsuffix)); } - - unqueue_signals(); - return 1; } } -- Barton E. Schaefer