1
0
forked from aniani/vim

patch 9.0.0102: reading past end of line with insert mode completion

Problem:    Reading past end of line with insert mode completion.
Solution:   Check text length.
This commit is contained in:
Bram Moolenaar
2022-07-28 21:51:37 +01:00
parent 4e677b9c40
commit a6f9e30016
3 changed files with 11 additions and 1 deletions

View File

@@ -3501,7 +3501,7 @@ ins_comp_get_next_word_or_line(
{ {
char_u *tmp_ptr = ptr; char_u *tmp_ptr = ptr;
if (compl_status_adding()) if (compl_status_adding() && compl_length <= (int)STRLEN(tmp_ptr))
{ {
tmp_ptr += compl_length; tmp_ptr += compl_length;
// Skip if already inside a word. // Skip if already inside a word.

View File

@@ -2142,5 +2142,13 @@ func Test_ins_complete_add()
bwipe! bwipe!
endfunc endfunc
func Test_ins_complete_end_of_line()
" this was reading past the end of the line
new
norm 8o€ý 
sil! norm o
bwipe!
endfunc
" vim: shiftwidth=2 sts=2 expandtab " vim: shiftwidth=2 sts=2 expandtab

View File

@@ -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 */
/**/
102,
/**/ /**/
101, 101,
/**/ /**/