mirror of
https://github.com/vim/vim.git
synced 2025-07-26 11:04:33 -04:00
patch 8.2.1000: get error when leaving Ex mode with :visual
Problem: Get error when leaving Ex mode with :visual and a CmdLineEnter autocommand was used. Solution: Reset ex_pressedreturn. (closes #6293)
This commit is contained in:
parent
2f03e5a0a9
commit
158ea175a9
@ -1895,7 +1895,7 @@ do_one_cmd(
|
|||||||
p = ea.cmd;
|
p = ea.cmd;
|
||||||
while (ASCII_ISALNUM(*p))
|
while (ASCII_ISALNUM(*p))
|
||||||
++p;
|
++p;
|
||||||
p = vim_strnsave(ea.cmd, (int)(p - ea.cmd));
|
p = vim_strnsave(ea.cmd, p - ea.cmd);
|
||||||
ret = apply_autocmds(EVENT_CMDUNDEFINED, p, p, TRUE, NULL);
|
ret = apply_autocmds(EVENT_CMDUNDEFINED, p, p, TRUE, NULL);
|
||||||
vim_free(p);
|
vim_free(p);
|
||||||
// If the autocommands did something and didn't cause an error, try
|
// If the autocommands did something and didn't cause an error, try
|
||||||
@ -6215,6 +6215,7 @@ do_exedit(
|
|||||||
|| eap->cmdidx == CMD_view))
|
|| eap->cmdidx == CMD_view))
|
||||||
{
|
{
|
||||||
exmode_active = FALSE;
|
exmode_active = FALSE;
|
||||||
|
ex_pressedreturn = FALSE;
|
||||||
if (*eap->arg == NUL)
|
if (*eap->arg == NUL)
|
||||||
{
|
{
|
||||||
// Special case: ":global/pat/visual\NLvi-commands"
|
// Special case: ":global/pat/visual\NLvi-commands"
|
||||||
|
@ -166,6 +166,17 @@ func Test_ex_mode_errors()
|
|||||||
endtry
|
endtry
|
||||||
call assert_equal(1, caught_e565)
|
call assert_equal(1, caught_e565)
|
||||||
au! InsertCharPre
|
au! InsertCharPre
|
||||||
|
|
||||||
|
new
|
||||||
|
au CmdLineEnter * call ExEnterFunc()
|
||||||
|
func ExEnterFunc()
|
||||||
|
|
||||||
|
endfunc
|
||||||
|
call feedkeys("gQvi\r", 'xt')
|
||||||
|
|
||||||
|
au! CmdLineEnter
|
||||||
|
delfunc ExEnterFunc
|
||||||
|
quit
|
||||||
endfunc
|
endfunc
|
||||||
|
|
||||||
" vim: shiftwidth=2 sts=2 expandtab
|
" vim: shiftwidth=2 sts=2 expandtab
|
||||||
|
@ -754,6 +754,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 */
|
||||||
|
/**/
|
||||||
|
1000,
|
||||||
/**/
|
/**/
|
||||||
999,
|
999,
|
||||||
/**/
|
/**/
|
||||||
|
Loading…
x
Reference in New Issue
Block a user