From 9ea449085da08eaa5ccb826dd5e37f480c871e79 Mon Sep 17 00:00:00 2001 From: Jan Edmund Lazo Date: Wed, 24 Jul 2019 20:38:36 -0400 Subject: 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 --- src/nvim/ex_docmd.c | 2 +- src/nvim/testdir/test_excmd.vim | 10 ++++++++++ 2 files changed, 11 insertions(+), 1 deletion(-) create mode 100644 src/nvim/testdir/test_excmd.vim (limited to 'src') 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 -- cgit