about summary refs log tree commit diff
path: root/Src/Zle/comp1.c
diff options
context:
space:
mode:
Diffstat (limited to 'Src/Zle/comp1.c')
-rw-r--r--Src/Zle/comp1.c18
1 files changed, 14 insertions, 4 deletions
diff --git a/Src/Zle/comp1.c b/Src/Zle/comp1.c
index 071a8e64a..ba8bcc868 100644
--- a/Src/Zle/comp1.c
+++ b/Src/Zle/comp1.c
@@ -47,7 +47,7 @@ Cmlist cmatcher;
 void (*makecompparamsptr) _((void));
 
 /**/
-void (*comp_setunsetptr) _((unsigned int, unsigned int));
+void (*comp_setunsetptr) _((int, int, int, int));
 
 /* pointers to functions required by compctl and defined by zle */
 
@@ -69,6 +69,9 @@ int (*makecomplistctlptr) _((int));
 /**/
 char *(*unambig_dataptr) _((int *));
 
+/**/
+int (*set_comp_sepptr) _((void));
+
 /* Hash table for completion info for commands */
  
 /**/
@@ -112,6 +115,8 @@ char **compwords,
      *compsuffix,
      *compiprefix,
      *compisuffix,
+     *compqiprefix,
+     *compqisuffix,
      *compmatcherstr,
      *compcontext,
      *compparameter,
@@ -133,7 +138,7 @@ char **compwords,
      *compvared;
 
 /**/
-Param *comppms;
+Param *comprpms, *compkpms;
 
 /* The function rembslash() came from zle_tricky.c, but is now used *
  * in compctl.c, too.                                               */
@@ -193,6 +198,7 @@ freecompctl(Compctl cc)
     zsfree(cc->hpat);
     zsfree(cc->gname);
     zsfree(cc->subcmd);
+    zsfree(cc->substr);
     if (cc->cond)
 	freecompcond(cc->cond);
     if (cc->ext) {
@@ -440,9 +446,10 @@ setup_comp1(Module m)
     cc_first.refc = 10000;
     cc_first.mask = 0;
     cc_first.mask2 = CC_CCCONT;
-    comppms = NULL;
+    comprpms = compkpms = NULL;
     compwords = NULL;
-    compprefix = compsuffix = compiprefix = compisuffix = compmatcherstr = 
+    compprefix = compsuffix = compiprefix = compisuffix = 
+	compqiprefix = compqisuffix = compmatcherstr = 
 	compcontext = compparameter = compredirect = compquote =
 	compquoting = comprestore = complist = compinsert =
 	compexact = compexactstr = comppatmatch = comppatinsert =
@@ -450,6 +457,7 @@ setup_comp1(Module m)
 	compoldlist = compoldins = compvared = NULL;
     makecompparamsptr = NULL;
     comp_setunsetptr = NULL;
+    set_comp_sepptr = NULL;
     return 0;
 }
 
@@ -481,6 +489,8 @@ finish_comp1(Module m)
     zsfree(compsuffix);
     zsfree(compiprefix);
     zsfree(compisuffix);
+    zsfree(compqiprefix);
+    zsfree(compqisuffix);
     zsfree(compmatcherstr);
     zsfree(compcontext);
     zsfree(compparameter);