about summary refs log tree commit diff
path: root/Src/Zle
diff options
context:
space:
mode:
authorPeter Stephenson <pws@users.sourceforge.net>2009-01-13 12:19:53 +0000
committerPeter Stephenson <pws@users.sourceforge.net>2009-01-13 12:19:53 +0000
commit0cf040f4bf50c5530bd19da76ea234e2cd831667 (patch)
tree3249b38bb7eed7adc09358d9f0f12b53c9870af8 /Src/Zle
parente7c9e03c58f04a04c35a0e4c3721f939ba5e58c2 (diff)
downloadzsh-0cf040f4bf50c5530bd19da76ea234e2cd831667.tar.gz
zsh-0cf040f4bf50c5530bd19da76ea234e2cd831667.tar.xz
zsh-0cf040f4bf50c5530bd19da76ea234e2cd831667.zip
Back off 26270 (accept-and-menu-complete).
Was causing memory corruption
Diffstat (limited to 'Src/Zle')
-rw-r--r--Src/Zle/compcore.c1
-rw-r--r--Src/Zle/complete.c4
-rw-r--r--Src/Zle/compresult.c24
3 files changed, 12 insertions, 17 deletions
diff --git a/Src/Zle/compcore.c b/Src/Zle/compcore.c
index 40c5f19ca..529537d37 100644
--- a/Src/Zle/compcore.c
+++ b/Src/Zle/compcore.c
@@ -325,7 +325,6 @@ do_completion(UNUSED(Hookdef dummy), Compldat dat)
     comppatinsert = ztrdup("menu");
     forcelist = 0;
     haspattern = 0;
-    complistinword = 0;
     complistmax = getiparam("LISTMAX");
     zsfree(complastprompt);
     complastprompt = ztrdup(((isset(ALWAYSLASTPROMPT) && zmult == 1) ||
diff --git a/Src/Zle/complete.c b/Src/Zle/complete.c
index 7dbae1dee..6398fd3e7 100644
--- a/Src/Zle/complete.c
+++ b/Src/Zle/complete.c
@@ -38,7 +38,6 @@ zlong compcurrent,
       complistmax;
 /**/
 zlong complistlines,
-      complistinword,
       compignored;
 
 /**/
@@ -1147,7 +1146,6 @@ static struct compparam compkparams[] = {
       GSU(unambig_pos_gsu) },
     { "insert_positions", PM_SCALAR | PM_READONLY, NULL,
       GSU(insert_pos_gsu) },
-    { "list_in_word", PM_INTEGER, VAL(complistinword), NULL },
     { "list_max", PM_INTEGER, VAL(complistmax), NULL },
     { "last_prompt", PM_SCALAR, VAL(complastprompt), NULL },
     { "to_end", PM_SCALAR, VAL(comptoend), NULL },
@@ -1598,7 +1596,7 @@ setup_(UNUSED(Module m))
 	compvared = compqstack = NULL;
     complastprefix = ztrdup("");
     complastsuffix = ztrdup("");
-    complistmax = complistinword = 0;
+    complistmax = 0;
     hascompmod = 1;
 
     return 0;
diff --git a/Src/Zle/compresult.c b/Src/Zle/compresult.c
index 630c7634c..e595802dd 100644
--- a/Src/Zle/compresult.c
+++ b/Src/Zle/compresult.c
@@ -1309,23 +1309,21 @@ accept_last(void)
 	lastbrbeg->str[l] = ',';
 	lastbrbeg->str[l + 1] = '\0';
     } else {
-	zlemetacs = minfo.pos + minfo.len + minfo.insc;
-	if (!complistinword) {
-	    int l;
+	int l;
 
-	    iremovesuffix(' ', 1);
-	    l = zlemetacs;
-	    zlemetacs = minfo.pos + minfo.len + minfo.insc - (*(minfo.cur))->qisl;
-	    if (zlemetacs < l)
-		foredel(l - zlemetacs, CUT_RAW);
-	    else if (zlemetacs > zlemetall)
-		zlemetacs = zlemetall;
-	    inststrlen(" ", 1, 1);
-	}
+	zlemetacs = minfo.pos + minfo.len + minfo.insc;
+	iremovesuffix(' ', 1);
+	l = zlemetacs;
+	zlemetacs = minfo.pos + minfo.len + minfo.insc - (*(minfo.cur))->qisl;
+	if (zlemetacs < l)
+	    foredel(l - zlemetacs, CUT_RAW);
+	else if (zlemetacs > zlemetall)
+	    zlemetacs = zlemetall;
+	inststrlen(" ", 1, 1);
 	minfo.insc = minfo.len = 0;
 	minfo.pos = zlemetacs;
 	minfo.we = 1;
-	}
+    }
 
     if (!wasmeta)
 	unmetafy_line();