Permalink
Browse files

patch 8.0.1417: test doesn't search for a sentence

Problem:    Test doesn't search for a sentence. Still fails when searching for
            start of sentence. (Dominique Pelle)
Solution:   Add paren. Check for MAXCOL in dec().
  • Loading branch information...
brammool committed Dec 19, 2017
1 parent 8ada6aa commit 1bd999f982e783219a06e6c8f219df1d53ac7e77
Showing with 25 additions and 4 deletions.
  1. +20 −3 src/misc2.c
  2. +3 −1 src/testdir/test_search.vim
  3. +2 −0 src/version.c
View
@@ -417,8 +417,21 @@ dec(pos_T *lp)
#ifdef FEAT_VIRTUALEDIT
lp->coladd = 0;
#endif
if (lp->col > 0) /* still within line */
if (lp->col == MAXCOL)
{
/* past end of line */
p = ml_get(lp->lnum);
lp->col = (colnr_T)STRLEN(p);
#ifdef FEAT_MBYTE
if (has_mbyte)
lp->col -= (*mb_head_off)(p, p + lp->col);
#endif
return 0;
}
if (lp->col > 0)
{
/* still within line */
lp->col--;
#ifdef FEAT_MBYTE
if (has_mbyte)
@@ -429,8 +442,10 @@ dec(pos_T *lp)
#endif
return 0;
}
if (lp->lnum > 1) /* there is a prior line */
if (lp->lnum > 1)
{
/* there is a prior line */
lp->lnum--;
p = ml_get(lp->lnum);
lp->col = (colnr_T)STRLEN(p);
@@ -440,7 +455,9 @@ dec(pos_T *lp)
#endif
return 1;
}
return -1; /* at start of file */
/* at start of file */
return -1;
}
/*
@@ -733,6 +733,8 @@ endfunc
func Test_search_sentence()
new
" this used to cause a crash
call assert_fails("/\\%'", 'E486')
call assert_fails("/\\%')", 'E486')
call assert_fails("/", 'E486')
/\%'(
/
endfunc
View
@@ -771,6 +771,8 @@ static char *(features[]) =
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
1417,
/**/
1416,
/**/

0 comments on commit 1bd999f

Please sign in to comment.