Applied, thank you.

On Fri, Jun 25, 2021 at 8:33 PM Ron Yorston <[email protected]> wrote:
>
> The same stored search pattern applies to both search ('/') and
> search/replace (':s') operations.
>
> A search/replace operation with an empty "find" string (':s//abc/')
> should use the last stored search pattern, if available, and issue an
> error message if there is none.
>
> If the "find" string is not empty it should replace the stored search
> pattern.
>
> function                                             old     new   delta
> colon                                               3952    4024     +72
> ------------------------------------------------------------------------------
> (add/remove: 0/0 grow/shrink: 1/0 up/down: 72/0)               Total: 72 bytes
>
> Signed-off-by: Ron Yorston <[email protected]>
> ---
>  editors/vi.c | 12 ++++++++++++
>  1 file changed, 12 insertions(+)
>
> diff --git a/editors/vi.c b/editors/vi.c
> index 38ce1fdf0..f0bbc9518 100644
> --- a/editors/vi.c
> +++ b/editors/vi.c
> @@ -3100,6 +3100,18 @@ static void colon(char *buf)
>                 }
>                 len_R = strlen(R);
>
> +               if (len_F) {    // save "find" as last search pattern
> +                       free(last_search_pattern);
> +                       last_search_pattern = xstrdup(F - 1);
> +                       last_search_pattern[0] = '/';
> +               } else if (last_search_pattern[1] == '\0') {
> +                       status_line_bold("No previous search");
> +                       goto ret;
> +               } else {
> +                       F = last_search_pattern + 1;
> +                       len_F = strlen(F);
> +               }
> +
>                 if (e < 0) {    // no addr given
>                         q = begin_line(dot);      // start with cur line
>                         r = end_line(dot);
> --
> 2.31.1
>
> _______________________________________________
> busybox mailing list
> [email protected]
> http://lists.busybox.net/mailman/listinfo/busybox
_______________________________________________
busybox mailing list
[email protected]
http://lists.busybox.net/mailman/listinfo/busybox

Reply via email to