about summary refs log tree commit diff
path: root/Src/Zle
diff options
context:
space:
mode:
authorBart Schaefer <barts@users.sourceforge.net>2000-05-30 03:43:27 +0000
committerBart Schaefer <barts@users.sourceforge.net>2000-05-30 03:43:27 +0000
commit8564aa5c0d77999138e4f46b496e2bbc2f48f718 (patch)
treeefebd369f29947bb23a73d9cd77914e9619a5e45 /Src/Zle
parent76868bdc6a9d9aaffb280f8206bdeebd1d2f14fc (diff)
downloadzsh-8564aa5c0d77999138e4f46b496e2bbc2f48f718.tar.gz
zsh-8564aa5c0d77999138e4f46b496e2bbc2f48f718.tar.xz
zsh-8564aa5c0d77999138e4f46b496e2bbc2f48f718.zip
Wayne: Fix two history bugs that were causing the
failure of `print -s'.
Diffstat (limited to 'Src/Zle')
-rw-r--r--Src/Zle/compctl.c2
-rw-r--r--Src/Zle/zle_main.c3
2 files changed, 4 insertions, 1 deletions
diff --git a/Src/Zle/compctl.c b/Src/Zle/compctl.c
index b443b7da5..0e1dc088c 100644
--- a/Src/Zle/compctl.c
+++ b/Src/Zle/compctl.c
@@ -3688,7 +3688,7 @@ makecomplistflags(Compctl cc, char *s, int incmd, int compadd)
 	Patprog pprogc = NULL;
 	char *e, *h, hpatsav;
 	int i = addhistnum(curhist,-1,HIST_FOREIGN), n = cc->hnum;
-	Histent he = quietgethistent(i, GETHIST_UPWARD);
+	Histent he = gethistent(i, GETHIST_UPWARD);
 
 	/* Parse the pattern, if it isn't the null string. */
 	if (*(cc->hpat)) {
diff --git a/Src/Zle/zle_main.c b/Src/Zle/zle_main.c
index a19f9b5db..49b682c18 100644
--- a/Src/Zle/zle_main.c
+++ b/Src/Zle/zle_main.c
@@ -641,8 +641,11 @@ execzlefunc(Thingy func, char **args)
 	if(!(wflags & ZLE_LASTCOL))
 	    lastcol = -1;
 	if (wflags & WIDGET_NCOMP) {
+	  int atcurhist = histline == curhist;
 	    compwidget = w;
 	    ret = completecall(args);
+	    if (atcurhist)
+		histline = curhist;
 	} else
 	    ret = w->u.fn(args);
 	if (!(wflags & ZLE_NOTCOMMAND))