diff --git a/src/if_perl.xs b/src/if_perl.xs
index 545dc7b..f0afb39 100644
--- a/src/if_perl.xs
+++ b/src/if_perl.xs
@@ -755,7 +755,7 @@
 #ifdef HAVE_SANDBOX
     if (sandbox)
     {
-	safe = perl_get_sv( "VIM::safe", FALSE );
+	safe = perl_get_sv("VIM::safe", FALSE);
 # ifndef MAKE_TEST  /* avoid a warning for unreachable code */
 	if (safe == NULL || !SvTRUE(safe))
 	    EMSG(_("E299: Perl evaluation forbidden in sandbox without the Safe module"));
@@ -1108,7 +1108,7 @@
     VIWIN win
 
     PPCODE:
-    if(items == 1)
+    if (items == 1)
     {
       EXTEND(sp, 2);
       if (!win_valid(win))
@@ -1116,7 +1116,7 @@
       PUSHs(sv_2mortal(newSViv(win->w_cursor.lnum)));
       PUSHs(sv_2mortal(newSViv(win->w_cursor.col)));
     }
-    else if(items == 3)
+    else if (items == 3)
     {
       int lnum, col;
 
@@ -1249,9 +1249,9 @@
 	{
 	    lnum = SvIV(ST(1));
 	    count = 1 + SvIV(ST(2)) - lnum;
-	    if(count == 0)
+	    if (count == 0)
 		count = 1;
-	    if(count < 0)
+	    if (count < 0)
 	    {
 		lnum -= count;
 		count = -count;
diff --git a/src/if_tcl.c b/src/if_tcl.c
index e5eee29..5537b63 100644
--- a/src/if_tcl.c
+++ b/src/if_tcl.c
@@ -1884,14 +1884,14 @@
 {
     int newerr = OK;
 
-    if (error == TCL_EXIT )
+    if (error == TCL_EXIT)
     {
 	int retval;
 	char buf[50];
 	Tcl_Obj *robj;
 
 	robj = Tcl_GetObjResult(tclinfo.interp);
-	if( Tcl_GetIntFromObj(tclinfo.interp, robj, &retval) != TCL_OK )
+	if (Tcl_GetIntFromObj(tclinfo.interp, robj, &retval) != TCL_OK)
 	{
 	    EMSG(_("E281: TCL ERROR: exit code is not int!? Please report this to vim-dev@vim.org"));
 	    newerr = FAIL;
@@ -1900,7 +1900,7 @@
 	{
 	    sprintf(buf, _("E572: exit code %d"), retval);
 	    tclerrmsg(buf);
-	    if (retval == 0 )
+	    if (retval == 0)
 	    {
 		did_emsg = 0;
 		newerr = OK;
diff --git a/src/version.c b/src/version.c
index 5c8892c..fc51557 100644
--- a/src/version.c
+++ b/src/version.c
@@ -710,6 +710,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    263,
+/**/
     262,
 /**/
     261,
