diff src/spell.c @ 10950:2297aae8e127 v8.0.0364

patch 8.0.0364: ]s does not move cursor with two spell errors in one line commit https://github.com/vim/vim/commit/d3f78dc9ebd729475a7f24a50a91112e300d5ac9 Author: Bram Moolenaar <Bram@vim.org> Date: Sat Feb 25 14:21:10 2017 +0100 patch 8.0.0364: ]s does not move cursor with two spell errors in one line Problem: ]s does not move cursor with two spell errors in one line. (Manuel Ortega) Solution: Don't stop search immediately when wrapped, search the line first. (Ken Takata) Add a test.
author Christian Brabandt <cb@256bit.org>
date Sat, 25 Feb 2017 14:30:04 +0100
parents 66f1b5bf3fa6
children 778c10516955
line wrap: on
line diff
--- a/src/spell.c
+++ b/src/spell.c
@@ -1734,14 +1734,14 @@ spell_move_to(
 	if (curline)
 	    break;	/* only check cursor line */
 
+	/* If we are back at the starting line and searched it again there
+	 * is no match, give up. */
+	if (lnum == wp->w_cursor.lnum && wrapped)
+	    break;
+
 	/* Advance to next line. */
 	if (dir == BACKWARD)
 	{
-	    /* If we are back at the starting line and searched it again there
-	     * is no match, give up. */
-	    if (lnum == wp->w_cursor.lnum && wrapped)
-		break;
-
 	    if (lnum > 1)
 		--lnum;
 	    else if (!p_ws)
@@ -1775,7 +1775,7 @@ spell_move_to(
 
 	    /* If we are back at the starting line and there is no match then
 	     * give up. */
-	    if (lnum == wp->w_cursor.lnum && (!found_one || wrapped))
+	    if (lnum == wp->w_cursor.lnum && !found_one)
 		break;
 
 	    /* Skip the characters at the start of the next line that were