--- editors/vi.c.orig	2020-03-21 15:36:55.773333807 +0000
+++ editors/vi.c	2020-03-21 15:39:45.086667271 +0000
@@ -2189,15 +2189,11 @@
 	// re_search() >= 0: index of found pattern
 	//           struct pattern   char     int   int    int    struct reg
 	// re_search(*pattern_buffer, *string, size, start, range, *regs)
-	i = re_search(&preg, q, size, /*start:*/ 0, range, /*struct re_registers*:*/ NULL);
+	i = re_search(&preg, q, size, (range<0)?size:0 , range, /*struct re_registers*:*/ NULL);
 	regfree(&preg);
 	if (i < 0)
 		return NULL;
-	if (dir_and_range > 0) // FORWARD?
-		p = p + i;
-	else
-		p = p - i;
-	return p;
+	return (q + i) ;
 }
 # else
 #  if ENABLE_FEATURE_VI_SETOPTS
