--- 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