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().
diff --git a/src/misc2.c b/src/misc2.c
index fd432cd..460ea74 100644
--- a/src/misc2.c
+++ b/src/misc2.c
@@ -417,8 +417,21 @@
 #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 @@
 #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 @@
 #endif
 	return 1;
     }
-    return -1;			/* at start of file */
+
+    /* at start of file */
+    return -1;
 }
 
 /*
diff --git a/src/testdir/test_search.vim b/src/testdir/test_search.vim
index 84edfbb..9b96b49 100644
--- a/src/testdir/test_search.vim
+++ b/src/testdir/test_search.vim
@@ -733,6 +733,8 @@
 func Test_search_sentence()
   new
   " this used to cause a crash
-  call assert_fails("/\\%'", 'E486')
+  call assert_fails("/\\%')", 'E486')
   call assert_fails("/", 'E486')
+  /\%'(
+  /
 endfunc
diff --git a/src/version.c b/src/version.c
index 11ff603..2ab6aac 100644
--- a/src/version.c
+++ b/src/version.c
@@ -772,6 +772,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    1417,
+/**/
     1416,
 /**/
     1415,