diff --git a/src/edit.c b/src/edit.c index 0b0d174f36c3b..0b7896476a6eb 100644 --- a/src/edit.c +++ b/src/edit.c @@ -1746,8 +1746,9 @@ edit_unputchar(void) * Only works when cursor is in the line that changes. */ void -display_dollar(colnr_T col) +display_dollar(colnr_T col_arg) { + colnr_T col = col_arg < 0 ? 0 : col_arg; colnr_T save_col; if (!redrawing()) diff --git a/src/proto/edit.pro b/src/proto/edit.pro index a233e401a25b6..f35ec1ed52981 100644 --- a/src/proto/edit.pro +++ b/src/proto/edit.pro @@ -5,7 +5,7 @@ void ins_redraw(int ready); void edit_putchar(int c, int highlight); void set_insstart(linenr_T lnum, int col); void edit_unputchar(void); -void display_dollar(colnr_T col); +void display_dollar(colnr_T col_arg); void undisplay_dollar(void); void truncate_spaces(char_u *line); void backspace_until_column(int col); diff --git a/src/testdir/test_cmdwin.vim b/src/testdir/test_cmdwin.vim index d641b292305cb..8cfb248f74807 100644 --- a/src/testdir/test_cmdwin.vim +++ b/src/testdir/test_cmdwin.vim @@ -365,5 +365,13 @@ func Test_cant_open_cmdwin_in_cmdwin() call assert_match('E1292:', caught) endfunc +func Test_cmdwin_virtual_edit() + enew! + set ve=all cpo+=$ + silent normal q/s + + set ve= cpo-=$ +endfunc + " vim: shiftwidth=2 sts=2 expandtab diff --git a/src/version.c b/src/version.c index 5c7e3a93a04a9..5d9f9f77d0af7 100644 --- a/src/version.c +++ b/src/version.c @@ -735,6 +735,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ +/**/ + 218, /**/ 217, /**/