From 41bb81a2dfe3c173a5d8f9d7c200475028221cf3 Mon Sep 17 00:00:00 2001 From: zeertzjq Date: Sun, 12 Jun 2022 07:48:28 +0800 Subject: fix(substitute): subtract number of backslashes later --- src/nvim/regexp.c | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) (limited to 'src/nvim/regexp.c') diff --git a/src/nvim/regexp.c b/src/nvim/regexp.c index 44c9928f7b..352f4dfe39 100644 --- a/src/nvim/regexp.c +++ b/src/nvim/regexp.c @@ -1737,10 +1737,6 @@ static int vim_regsub_both(char_u *source, typval_T *expr, char_u *dest, int des static char_u *eval_result = NULL; bool copy = flags & REGSUB_COPY; - // We need to keep track of how many backslashes we escape, so that the byte - // counts for `extmark_splice` are correct. - int num_escaped = 0; - // Be paranoid... if ((source == NULL && expr == NULL) || dest == NULL) { emsg(_(e_null)); @@ -1928,7 +1924,6 @@ static int vim_regsub_both(char_u *source, typval_T *expr, char_u *dest, int des // later. Used to insert a literal CR. default: if (flags & REGSUB_BACKSLASH) { - num_escaped += 1; if (copy) { if (dst + 1 > dest + destlen) { iemsg("vim_regsub_both(): not enough space"); @@ -2096,7 +2091,7 @@ static int vim_regsub_both(char_u *source, typval_T *expr, char_u *dest, int des } exit: - return (int)((dst - dest) + 1 - num_escaped); + return (int)((dst - dest) + 1); } /* -- cgit