forked from aniani/vim
patch 9.0.0064: confusing error when using "q:" in command line window
Problem: Confusing error when using "q:" in command line window. Solution: Check for the situation and give a better error message. (closes #10756)
This commit is contained in:
@@ -3306,3 +3306,7 @@ EXTERN char e_substitute_nesting_too_deep[]
|
|||||||
EXTERN char e_invalid_argument_nr[]
|
EXTERN char e_invalid_argument_nr[]
|
||||||
INIT(= N_("E1291: Invalid argument: %ld"));
|
INIT(= N_("E1291: Invalid argument: %ld"));
|
||||||
#endif
|
#endif
|
||||||
|
#ifdef FEAT_CMDWIN
|
||||||
|
EXTERN char e_cmdline_window_already_open[]
|
||||||
|
INIT(= N_("E1292: Command-line window is already open"));
|
||||||
|
#endif
|
||||||
|
@@ -7147,6 +7147,11 @@ nv_record(cmdarg_T *cap)
|
|||||||
#ifdef FEAT_CMDWIN
|
#ifdef FEAT_CMDWIN
|
||||||
if (cap->nchar == ':' || cap->nchar == '/' || cap->nchar == '?')
|
if (cap->nchar == ':' || cap->nchar == '/' || cap->nchar == '?')
|
||||||
{
|
{
|
||||||
|
if (cmdwin_type != 0)
|
||||||
|
{
|
||||||
|
emsg(_(e_cmdline_window_already_open));
|
||||||
|
return;
|
||||||
|
}
|
||||||
stuffcharReadbuff(cap->nchar);
|
stuffcharReadbuff(cap->nchar);
|
||||||
stuffcharReadbuff(K_CMDWIN);
|
stuffcharReadbuff(K_CMDWIN);
|
||||||
}
|
}
|
||||||
|
@@ -356,5 +356,14 @@ func Test_cmdwin_ctrl_bsl()
|
|||||||
call assert_equal('', getcmdwintype())
|
call assert_equal('', getcmdwintype())
|
||||||
endfunc
|
endfunc
|
||||||
|
|
||||||
|
func Test_cant_open_cmdwin_in_cmdwin()
|
||||||
|
try
|
||||||
|
call feedkeys("q:q::q\<CR>", "x!")
|
||||||
|
catch
|
||||||
|
let caught = v:exception
|
||||||
|
endtry
|
||||||
|
call assert_match('E1292:', caught)
|
||||||
|
endfunc
|
||||||
|
|
||||||
|
|
||||||
" vim: shiftwidth=2 sts=2 expandtab
|
" vim: shiftwidth=2 sts=2 expandtab
|
||||||
|
@@ -735,6 +735,8 @@ static char *(features[]) =
|
|||||||
|
|
||||||
static int included_patches[] =
|
static int included_patches[] =
|
||||||
{ /* Add new patch number below this line */
|
{ /* Add new patch number below this line */
|
||||||
|
/**/
|
||||||
|
64,
|
||||||
/**/
|
/**/
|
||||||
63,
|
63,
|
||||||
/**/
|
/**/
|
||||||
|
Reference in New Issue
Block a user