diff --git a/src/change.c b/src/change.c
index 66f34c0..a9a9e73 100644
--- a/src/change.c
+++ b/src/change.c
@@ -1298,7 +1298,7 @@
 	// fixpos is TRUE, we don't want to end up positioned at the NUL,
 	// unless "restart_edit" is set or 'virtualedit' contains "onemore".
 	if (col > 0 && fixpos && restart_edit == 0
-					      && (get_ve_flags() & VE_ONEMORE) == 0)
+					 && (get_ve_flags() & VE_ONEMORE) == 0)
 	{
 	    --curwin->w_cursor.col;
 	    curwin->w_cursor.coladd = 0;
diff --git a/src/if_lua.c b/src/if_lua.c
index 120ed7b..250da02 100644
--- a/src/if_lua.c
+++ b/src/if_lua.c
@@ -1501,7 +1501,8 @@
 	    curbuf = buf;
 	    luaL_error(L, "cannot replace line");
 	}
-	else changed_bytes(n, 0);
+	else
+	    changed_bytes(n, 0);
 	curbuf = buf;
 	if (b == curwin->w_buffer)
 	    check_cursor_col();
diff --git a/src/if_tcl.c b/src/if_tcl.c
index 9e018a2..f2b5541 100644
--- a/src/if_tcl.c
+++ b/src/if_tcl.c
@@ -651,7 +651,8 @@
 			err = TCL_ERROR;
 		}
 	    }
-	    else {  // objc == 3
+	    else
+	    {  // objc == 3
 		line = (char *)ml_get_buf(buf, (linenr_T)val1, FALSE);
 		Tcl_SetResult(interp, line, TCL_VOLATILE);
 	    }
@@ -1090,7 +1091,8 @@
 		if (err != TCL_OK)
 		    break;
 	    }
-	    else {  // objc == 4
+	    else
+	    {  // objc == 4
 		err = tclgetlinenum(interp, objv[2], &val1, win->w_buffer);
 		if (err != TCL_OK)
 		    break;
diff --git a/src/popupwin.c b/src/popupwin.c
index 6d12c92..3c489eb 100644
--- a/src/popupwin.c
+++ b/src/popupwin.c
@@ -1087,7 +1087,7 @@
 		    {
 			int col = dict_get_number(dict, "col");
 
-			prop_add_common( lnum, col, dict, buf, NULL);
+			prop_add_common(lnum, col, dict, buf, NULL);
 		    }
 		}
 	    }
diff --git a/src/textformat.c b/src/textformat.c
index f34c998..eee68f5 100644
--- a/src/textformat.c
+++ b/src/textformat.c
@@ -1189,7 +1189,7 @@
 		    {
 			(void)del_bytes(indent, FALSE, FALSE);
 			mark_col_adjust(curwin->w_cursor.lnum,
-					       (colnr_T)0, 0L, (long)-indent, 0);
+					     (colnr_T)0, 0L, (long)-indent, 0);
 		    }
 		}
 		curwin->w_cursor.lnum--;
diff --git a/src/version.c b/src/version.c
index 3660eb7..f9b5c2a 100644
--- a/src/version.c
+++ b/src/version.c
@@ -736,6 +736,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    170,
+/**/
     169,
 /**/
     168,
diff --git a/src/vim.h b/src/vim.h
index eeeeb69..972c9a5 100644
--- a/src/vim.h
+++ b/src/vim.h
@@ -2829,4 +2829,5 @@
 #define FFED_NO_GLOBAL	2	// only check for script-local functions
 
 #define MAX_LSHIFT_BITS (varnumber_T)((sizeof(uvarnumber_T) * 8) - 1)
+
 #endif // VIM__H
