diff --git a/src/if_perl.xs b/src/if_perl.xs
index ee3f15f..0df2073 100644
--- a/src/if_perl.xs
+++ b/src/if_perl.xs
@@ -1068,31 +1068,30 @@
 	    line = SvPV(ST(i),PL_na);
 	    if (lnum > 0 && lnum <= vimbuf->b_ml.ml_line_count && line != NULL)
 	    {
-    #ifdef FEAT_AUTOCMD
+#ifdef FEAT_AUTOCMD
 		aco_save_T	aco;
 
 		/* set curwin/curbuf for "vimbuf" and save some things */
 		aucmd_prepbuf(&aco, vimbuf);
-    #else
+#else
 		buf_T	*save_curbuf = curbuf;
 
 		curbuf = vimbuf;
 		curwin->w_buffer = vimbuf;
-    #endif
+#endif
 		if (u_savesub(lnum) == OK)
 		{
 		    ml_replace(lnum, (char_u *)line, TRUE);
 		    changed_bytes(lnum, 0);
 		}
-
-    #ifdef FEAT_AUTOCMD
+#ifdef FEAT_AUTOCMD
 		/* restore curwin/curbuf and a few other things */
 		aucmd_restbuf(&aco);
 		/* Careful: autocommands may have made "vimbuf" invalid! */
-    #else
+#else
 		curwin->w_buffer = save_curbuf;
 		curbuf = save_curbuf;
-    #endif
+#endif
 	    }
 	}
     }
@@ -1130,15 +1129,15 @@
 		if (lnum > 0 && lnum <= vimbuf->b_ml.ml_line_count)
 		{
 		    buf_T	*save_curbuf = curbuf;
-    #ifdef FEAT_AUTOCMD
+#ifdef FEAT_AUTOCMD
 		    aco_save_T	aco;
 
 		    /* set curwin/curbuf for "vimbuf" and save some things */
 		    aucmd_prepbuf(&aco, vimbuf);
-    #else
+#else
 		    curbuf = vimbuf;
 		    curwin->w_buffer = vimbuf;
-    #endif
+#endif
 		    if (u_savedel(lnum, 1) == OK)
 		    {
 			ml_delete(lnum, 0);
@@ -1146,14 +1145,14 @@
 			if (save_curbuf == curbuf)
 			    check_cursor();
 		    }
-    #ifdef FEAT_AUTOCMD
+#ifdef FEAT_AUTOCMD
 		    /* restore curwin/curbuf and a few other things */
 		    aucmd_restbuf(&aco);
 		    /* Careful: autocommands may have made "vimbuf" invalid! */
-    #else
+#else
 		    curwin->w_buffer = save_curbuf;
 		    curbuf = save_curbuf;
-    #endif
+#endif
 		    update_curbuf(VALID);
 		}
 	    }
@@ -1180,31 +1179,30 @@
 	    line = SvPV(ST(i),PL_na);
 	    if (lnum >= 0 && lnum <= vimbuf->b_ml.ml_line_count && line != NULL)
 	    {
-    #ifdef FEAT_AUTOCMD
+#ifdef FEAT_AUTOCMD
 		aco_save_T	aco;
 
 		/* set curwin/curbuf for "vimbuf" and save some things */
 		aucmd_prepbuf(&aco, vimbuf);
-    #else
+#else
 		buf_T	*save_curbuf = curbuf;
 
 		curbuf = vimbuf;
 		curwin->w_buffer = vimbuf;
-    #endif
+#endif
 		if (u_inssub(lnum + 1) == OK)
 		{
 		    ml_append(lnum, (char_u *)line, (colnr_T)0, FALSE);
 		    appended_lines_mark(lnum, 1L);
 		}
-
-    #ifdef FEAT_AUTOCMD
+#ifdef FEAT_AUTOCMD
 		/* restore curwin/curbuf and a few other things */
 		aucmd_restbuf(&aco);
 		/* Careful: autocommands may have made "vimbuf" invalid! */
-    #else
+#else
 		curwin->w_buffer = save_curbuf;
 		curbuf = save_curbuf;
-    #endif
+#endif
 		update_curbuf(VALID);
 	    }
 	}
diff --git a/src/version.c b/src/version.c
index 2bcf631..c0e6629 100644
--- a/src/version.c
+++ b/src/version.c
@@ -667,6 +667,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    51,
+/**/
     50,
 /**/
     49,
