about summary refs log tree commit diff
diff options
context:
space:
mode:
authorPeter Stephenson <pws@users.sourceforge.net>2009-09-06 21:37:14 +0000
committerPeter Stephenson <pws@users.sourceforge.net>2009-09-06 21:37:14 +0000
commitc88fd113776df7e29dc595beb79f38daa3e2fb96 (patch)
tree82a52c84ccdfd1e15410a9a9f3ea106213d04161
parent817000920fe922cca3cfd8302c4aa26b9d608743 (diff)
downloadzsh-c88fd113776df7e29dc595beb79f38daa3e2fb96.tar.gz
zsh-c88fd113776df7e29dc595beb79f38daa3e2fb96.tar.xz
zsh-c88fd113776df7e29dc595beb79f38daa3e2fb96.zip
Holger Weiss: 57248: fix anchoring for vi searches
-rw-r--r--ChangeLog6
-rw-r--r--Src/Zle/zle_hist.c2
2 files changed, 6 insertions, 2 deletions
diff --git a/ChangeLog b/ChangeLog
index f81b9909b..ea2c67cf8 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,9 @@
 2009-09-06  Peter Stephenson  <p.w.stephenson@ntlworld.com>
 
+	* Holger Weiss <holger@CIS.FU-Berlin.DE>: 27248:
+	Src/Zle/zle_hist.c: anchoring of vi search was wrong because
+	of reversed prefix matching.
+
 	* 27247: Functions/Misc/zmv: checking for "**/" was wrong.
 
 2009-09-05  Peter Stephenson  <p.w.stephenson@ntlworld.com>
@@ -12125,5 +12129,5 @@
 
 *****************************************************
 * This is used by the shell to define $ZSH_PATCHLEVEL
-* $Revision: 1.4769 $
+* $Revision: 1.4770 $
 *****************************************************
diff --git a/Src/Zle/zle_hist.c b/Src/Zle/zle_hist.c
index c9ffda426..5b57f4468 100644
--- a/Src/Zle/zle_hist.c
+++ b/Src/Zle/zle_hist.c
@@ -1942,7 +1942,7 @@ virepeatsearch(UNUSED(char **args))
 	    continue;
 	zt = GETZLETEXT(he);
 	if (zlinecmp(zt, zlemetaline) &&
-	    (*visrchstr == '^' ? strpfx(zt, visrchstr + 1) :
+	    (*visrchstr == '^' ? strpfx(visrchstr + 1, zt) :
 	     zlinefind(zt, 0, visrchstr, 1, 1) != 0)) {
 	    if (--n <= 0) {
 		unmetafy_line();