diff options
author | Jan Edmund Lazo <jan.lazo@mail.utoronto.ca> | 2019-03-27 21:30:18 -0400 |
---|---|---|
committer | Jan Edmund Lazo <jan.lazo@mail.utoronto.ca> | 2019-03-27 21:32:51 -0400 |
commit | 2894d04b19cb84b312bd9b2f88e327a0a6bae303 (patch) | |
tree | fd9e2db91687eb5fe42e16b680f90b548ba02a66 | |
parent | 2470c88291ef1e4db6b49fd1adf17bc7fb6ecd39 (diff) | |
download | rneovim-2894d04b19cb84b312bd9b2f88e327a0a6bae303.tar.gz rneovim-2894d04b19cb84b312bd9b2f88e327a0a6bae303.tar.bz2 rneovim-2894d04b19cb84b312bd9b2f88e327a0a6bae303.zip |
vim-patch:8.1.0887: the 'l' flag in :subsitute is sticky
Problem: The 'l' flag in :subsitute is sticky.
Solution: Reset the flag. (Dominique Pelle, closes vim/vim#3925)
https://github.com/vim/vim/commit/9474716d39764ac5642e55b5548580cf53bd9bed
-rw-r--r-- | src/nvim/ex_cmds.c | 1 | ||||
-rw-r--r-- | src/nvim/testdir/test_substitute.vim | 26 |
2 files changed, 27 insertions, 0 deletions
diff --git a/src/nvim/ex_cmds.c b/src/nvim/ex_cmds.c index 4356767cc9..dd9f8203c1 100644 --- a/src/nvim/ex_cmds.c +++ b/src/nvim/ex_cmds.c @@ -3181,6 +3181,7 @@ static char_u *sub_parse_flags(char_u *cmd, subflags_T *subflags, subflags->do_ask = false; subflags->do_error = true; subflags->do_print = false; + subflags->do_list = false; subflags->do_count = false; subflags->do_number = false; subflags->do_ic = kSubHonorOptions; diff --git a/src/nvim/testdir/test_substitute.vim b/src/nvim/testdir/test_substitute.vim index d02454fbf0..fb31f5779d 100644 --- a/src/nvim/testdir/test_substitute.vim +++ b/src/nvim/testdir/test_substitute.vim @@ -107,6 +107,32 @@ function! Test_substitute_variants() endfor endfunction +" Test the l, p, # flags. +func Test_substitute_flags_lp() + new + call setline(1, "abc\tdef\<C-h>ghi") + + let a = execute('s/a/a/p') + call assert_equal("\nabc def^Hghi", a) + + let a = execute('s/a/a/l') + call assert_equal("\nabc^Idef^Hghi$", a) + + let a = execute('s/a/a/#') + call assert_equal("\n 1 abc def^Hghi", a) + + let a = execute('s/a/a/p#') + call assert_equal("\n 1 abc def^Hghi", a) + + let a = execute('s/a/a/l#') + call assert_equal("\n 1 abc^Idef^Hghi$", a) + + let a = execute('s/a/a/') + call assert_equal("", a) + + bwipe! +endfunc + func Test_substitute_repeat() " This caused an invalid memory access. split Xfile |