aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorJan Edmund Lazo <jan.lazo@mail.utoronto.ca>2019-07-24 20:38:36 -0400
committerJan Edmund Lazo <jan.lazo@mail.utoronto.ca>2019-07-24 21:43:04 -0400
commit9ea449085da08eaa5ccb826dd5e37f480c871e79 (patch)
tree2ef09735cbe22b6db13bed220fecc6e6b7ab3124 /src
parent80487b59c92361f445396fa2faaf2f7f14ee4666 (diff)
downloadrneovim-9ea449085da08eaa5ccb826dd5e37f480c871e79.tar.gz
rneovim-9ea449085da08eaa5ccb826dd5e37f480c871e79.tar.bz2
rneovim-9ea449085da08eaa5ccb826dd5e37f480c871e79.zip
vim-patch:8.1.1746: ":dl" is seen as ":dlist" instead of ":delete"
Problem: ":dl" is seen as ":dlist" instead of ":delete". Solution: Do not use cmdidxs2[] if the length is 1. (closes vim/vim#4721) https://github.com/vim/vim/commit/94f82cbacf76767b5ac32f813e1d670501dbd0e6
Diffstat (limited to 'src')
-rw-r--r--src/nvim/ex_docmd.c2
-rw-r--r--src/nvim/testdir/test_excmd.vim10
2 files changed, 11 insertions, 1 deletions
diff --git a/src/nvim/ex_docmd.c b/src/nvim/ex_docmd.c
index af5635ddba..28c7bc300f 100644
--- a/src/nvim/ex_docmd.c
+++ b/src/nvim/ex_docmd.c
@@ -2451,7 +2451,7 @@ static char_u *find_command(exarg_T *eap, int *full)
if (ASCII_ISLOWER(eap->cmd[0])) {
const int c1 = eap->cmd[0];
- const int c2 = eap->cmd[1];
+ const int c2 = len == 1 ? NUL : eap->cmd[1];
if (command_count != (int)CMD_SIZE) {
iemsg((char *)_("E943: Command table needs to be updated, run 'make'"));
diff --git a/src/nvim/testdir/test_excmd.vim b/src/nvim/testdir/test_excmd.vim
new file mode 100644
index 0000000000..f5ce979208
--- /dev/null
+++ b/src/nvim/testdir/test_excmd.vim
@@ -0,0 +1,10 @@
+" Tests for various Ex commands.
+
+func Test_ex_delete()
+ new
+ call setline(1, ['a', 'b', 'c'])
+ 2
+ " :dl is :delete with the "l" flag, not :dlist
+ .dl
+ call assert_equal(['a', 'c'], getline(1, 2))
+endfunc