diff --git a/src/ex_docmd.c b/src/ex_docmd.c index 5e9eeb78fe..97d4b421da 100644 --- a/src/ex_docmd.c +++ b/src/ex_docmd.c @@ -2958,8 +2958,7 @@ undo_cmdmod(cmdmod_T *cmod) cmod->cmod_save_ei = NULL; } - if (cmod->cmod_filter_regmatch.regprog != NULL) - vim_regfree(cmod->cmod_filter_regmatch.regprog); + vim_regfree(cmod->cmod_filter_regmatch.regprog); if (cmod->cmod_save_msg_silent > 0) { @@ -4696,6 +4695,8 @@ separate_nextcmd(exarg_T *eap) { p += 2; (void)skip_expr(&p, NULL); + if (*p == NUL) // stop at NUL after CTRL-V + break; } #endif diff --git a/src/testdir/test_edit.vim b/src/testdir/test_edit.vim index 6a84b1c8c6..de3e3a1612 100644 --- a/src/testdir/test_edit.vim +++ b/src/testdir/test_edit.vim @@ -1832,4 +1832,11 @@ func Test_edit_browse() bwipe! endfunc +func Test_read_invalid() + set encoding=latin1 + " This was not properly checking for going past the end. + call assert_fails('r`=', 'E484') + set encoding=utf-8 +endfunc + " vim: shiftwidth=2 sts=2 expandtab diff --git a/src/version.c b/src/version.c index ac8155a13b..04bfc7db83 100644 --- a/src/version.c +++ b/src/version.c @@ -750,6 +750,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ +/**/ + 1910, /**/ 1909, /**/