about summary refs log tree commit diff
path: root/Src/Zle/complete.c
diff options
context:
space:
mode:
authorTanaka Akira <akr@users.sourceforge.net>1999-11-08 10:26:20 +0000
committerTanaka Akira <akr@users.sourceforge.net>1999-11-08 10:26:20 +0000
commitf9a6f521d6475360bee03808ced1f301983bb700 (patch)
tree6e01b5b9e8b01ca160c211e88a6a451967f39e5d /Src/Zle/complete.c
parent623351671b7437dee08763bbdf9d2e8e6505e347 (diff)
downloadzsh-f9a6f521d6475360bee03808ced1f301983bb700.tar.gz
zsh-f9a6f521d6475360bee03808ced1f301983bb700.tar.xz
zsh-f9a6f521d6475360bee03808ced1f301983bb700.zip
zsh-workers/8588
Diffstat (limited to 'Src/Zle/complete.c')
-rw-r--r--Src/Zle/complete.c13
1 files changed, 11 insertions, 2 deletions
diff --git a/Src/Zle/complete.c b/Src/Zle/complete.c
index b4d32a34c..bf558f352 100644
--- a/Src/Zle/complete.c
+++ b/Src/Zle/complete.c
@@ -61,6 +61,7 @@ char **compwords,
      *compredirect,
      *compquote,
      *compquoting,
+     *compqstack,
      *comprestore,
      *complist,
      *compforcelist,
@@ -962,6 +963,7 @@ static struct compparam compkparams[] = {
     { "vared", PM_SCALAR, VAL(compvared), NULL, NULL },
     { "alternate_nmatches", PM_INTEGER | PM_READONLY, NULL, NULL, VAL(get_anmatches) },
     { "list_lines", PM_INTEGER | PM_READONLY, NULL, NULL, VAL(get_listlines) },
+    { "all_quotes", PM_SCALAR | PM_READONLY, VAL(compqstack), NULL, NULL },
     { NULL, 0, NULL, NULL, NULL }
 };
 
@@ -1169,7 +1171,7 @@ comp_wrapper(List list, FuncWrap w, char *name)
 	return 1;
     else {
 	char *orest, *opre, *osuf, *oipre, *oisuf, **owords;
-	char *oqipre, *oqisuf, *oq, *oqi;
+	char *oqipre, *oqisuf, *oq, *oqi, *oqs, *oaq;
 	zlong ocur;
 	unsigned int runset = 0, kunset = 0, m, sm;
 	Param *pp;
@@ -1193,6 +1195,8 @@ comp_wrapper(List list, FuncWrap w, char *name)
 	oqisuf = dupstring(compqisuffix);
 	oq = dupstring(compquote);
 	oqi = dupstring(compquoting);
+	oqs = dupstring(compqstack);
+	oaq = dupstring(autoq);
 
 	HEAPALLOC {
 	    owords = arrdup(compwords);
@@ -1218,6 +1222,10 @@ comp_wrapper(List list, FuncWrap w, char *name)
 	    compquote = ztrdup(oq);
 	    zsfree(compquoting);
 	    compquoting = ztrdup(oqi);
+	    zsfree(compqstack);
+	    compqstack = ztrdup(oqs);
+	    zsfree(autoq);
+	    autoq = ztrdup(oaq);
 	    freearray(compwords);
 	    PERMALLOC {
 		compwords = arrdup(owords);
@@ -1354,7 +1362,7 @@ setup_complete(Module m)
 	compquoting = comprestore = complist = compinsert =
 	compexact = compexactstr = comppatmatch = comppatinsert =
 	compforcelist = complastprompt = comptoend = 
-	compoldlist = compoldins = compvared = NULL;
+	compoldlist = compoldins = compvared = compqstack = NULL;
 
     hascompmod = 1;
 
@@ -1418,6 +1426,7 @@ finish_complete(Module m)
     zsfree(compparameter);
     zsfree(compredirect);
     zsfree(compquote);
+    zsfree(compqstack);
     zsfree(compquoting);
     zsfree(comprestore);
     zsfree(complist);