about summary refs log tree commit diff
path: root/Src/Zle
diff options
context:
space:
mode:
authorBarton E. Schaefer <schaefer@zsh.org>2017-01-30 08:02:22 -0800
committerBarton E. Schaefer <schaefer@zsh.org>2017-01-30 08:03:47 -0800
commit6557aa4710d04692f84c2644d103571e917b42d9 (patch)
treeedf49d7853a2119c7eceac8a30d090c6b80311ec /Src/Zle
parented855baf482240e0f090b22e06b0f6b8b38c05ea (diff)
downloadzsh-6557aa4710d04692f84c2644d103571e917b42d9.tar.gz
zsh-6557aa4710d04692f84c2644d103571e917b42d9.tar.xz
zsh-6557aa4710d04692f84c2644d103571e917b42d9.zip
40469: change strategy from 40453 to use patcompile(PAT_HEAPDUP) instead of signal queueing.
Diffstat (limited to 'Src/Zle')
-rw-r--r--Src/Zle/complete.c14
1 files changed, 2 insertions, 12 deletions
diff --git a/Src/Zle/complete.c b/Src/Zle/complete.c
index 49b338f29..68bdf2332 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;
 	}
     }