diff options
-rw-r--r-- | src/ex_docmd.c | 6 | ||||
-rw-r--r-- | src/testdir/test_cmdline.vim | 28 | ||||
-rw-r--r-- | src/version.c | 2 |
3 files changed, 36 insertions, 0 deletions
diff --git a/src/ex_docmd.c b/src/ex_docmd.c index 295e53960..cff41cf14 100644 --- a/src/ex_docmd.c +++ b/src/ex_docmd.c @@ -4109,6 +4109,12 @@ set_one_cmd_context( case CMD_echoerr: case CMD_call: case CMD_return: + case CMD_cexpr: + case CMD_caddexpr: + case CMD_cgetexpr: + case CMD_lexpr: + case CMD_laddexpr: + case CMD_lgetexpr: set_context_for_expression(xp, arg, ea.cmdidx); break; diff --git a/src/testdir/test_cmdline.vim b/src/testdir/test_cmdline.vim index 96fee0b1c..abeb609ea 100644 --- a/src/testdir/test_cmdline.vim +++ b/src/testdir/test_cmdline.vim @@ -25,6 +25,34 @@ func Test_complete_wildmenu() set nowildmenu endfunc +func Test_expr_completion() + if !(has('cmdline_compl') && has('eval')) + return + endif + for cmd in [ + \ 'let a = ', + \ 'if', + \ 'elseif', + \ 'while', + \ 'for', + \ 'echo', + \ 'echon', + \ 'execute', + \ 'echomsg', + \ 'echoerr', + \ 'call', + \ 'return', + \ 'cexpr', + \ 'caddexpr', + \ 'cgetexpr', + \ 'lexpr', + \ 'laddexpr', + \ 'lgetexpr'] + call feedkeys(":" . cmd . " getl\<Tab>\<Home>\"\<CR>", 'xt') + call assert_equal('"' . cmd . ' getline(', getreg(':')) + endfor +endfunc + func Test_getcompletion() if !has('cmdline_compl') return diff --git a/src/version.c b/src/version.c index 76b435058..286096866 100644 --- a/src/version.c +++ b/src/version.c @@ -765,6 +765,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ /**/ + 218, +/**/ 217, /**/ 216, |