diff options
author | zeertzjq <zeertzjq@outlook.com> | 2022-01-25 16:18:58 +0800 |
---|---|---|
committer | zeertzjq <zeertzjq@outlook.com> | 2022-01-25 16:18:58 +0800 |
commit | d11bbacf0ffa45096364195bda4739984d25121e (patch) | |
tree | ad1eba2f9daaec6c0e91830415ce1db445f83ec9 /src/nvim/regexp.c | |
parent | ecec957125ca95ef5fbc4534d62ed16cfedb0c44 (diff) | |
download | rneovim-d11bbacf0ffa45096364195bda4739984d25121e.tar.gz rneovim-d11bbacf0ffa45096364195bda4739984d25121e.tar.bz2 rneovim-d11bbacf0ffa45096364195bda4739984d25121e.zip |
fix(inccommand): do not change reg_prev_sub when previewing
Diffstat (limited to 'src/nvim/regexp.c')
-rw-r--r-- | src/nvim/regexp.c | 15 |
1 files changed, 10 insertions, 5 deletions
diff --git a/src/nvim/regexp.c b/src/nvim/regexp.c index 45e580dbee..9bea54ad2c 100644 --- a/src/nvim/regexp.c +++ b/src/nvim/regexp.c @@ -6538,11 +6538,16 @@ char_u *regtilde(char_u *source, int magic) } } - xfree(reg_prev_sub); - if (newsub != source) /* newsub was allocated, just keep it */ - reg_prev_sub = newsub; - else /* no ~ found, need to save newsub */ - reg_prev_sub = vim_strsave(newsub); + // Only change reg_prev_sub when not previewing. + if (!(State & CMDPREVIEW)) { + xfree(reg_prev_sub); + if (newsub != source) { // newsub was allocated, just keep it + reg_prev_sub = newsub; + } else { // no ~ found, need to save newsub + reg_prev_sub = vim_strsave(newsub); + } + } + return newsub; } |