updated for version 7.3.505
Problem:    Test 11 fails on MS-Windows in some versions.
Solution:   Fix #ifdefs for whether filtering through a pipe is possible. Move
            setting b_no_eol_lnum back to where it was before patch 7.3.124.
            (David Pope)
diff --git a/src/eval.c b/src/eval.c
index d460a83..33b1947 100644
--- a/src/eval.c
+++ b/src/eval.c
@@ -12090,7 +12090,7 @@
 #ifdef FEAT_SEARCHPATH
 	"file_in_path",
 #endif
-#if (defined(UNIX) && !defined(USE_SYSTEM)) || defined(WIN3264)
+#ifdef FEAT_FILTERPIPE
 	"filterpipe",
 #endif
 #ifdef FEAT_FIND_ID
diff --git a/src/ex_cmds.c b/src/ex_cmds.c
index 3d3f12a..005f28f 100644
--- a/src/ex_cmds.c
+++ b/src/ex_cmds.c
@@ -1113,7 +1113,7 @@
     if (do_out)
 	shell_flags |= SHELL_DOOUT;
 
-#if (!defined(USE_SYSTEM) && defined(UNIX)) || defined(WIN3264)
+#ifdef FEAT_FILTERPIPE
     if (!do_in && do_out && !p_stmp)
     {
 	/* Use a pipe to fetch stdout of the command, do not use a temp file. */
diff --git a/src/feature.h b/src/feature.h
index 6d5387e..d13e621 100644
--- a/src/feature.h
+++ b/src/feature.h
@@ -1316,3 +1316,11 @@
 #ifdef FEAT_NORMAL
 # define FEAT_PERSISTENT_UNDO
 #endif
+
+/*
+ * +filterpipe
+ */
+#if (defined(UNIX) && !defined(USE_SYSTEM)) \
+	    || (defined(WIN3264) && defined(FEAT_GUI_W32))
+# define FEAT_FILTERPIPE
+#endif
diff --git a/src/fileio.c b/src/fileio.c
index 5d00b75..52eb34b 100644
--- a/src/fileio.c
+++ b/src/fileio.c
@@ -2655,10 +2655,6 @@
     }
 #endif
 
-    /* Reset now, following writes should not omit the EOL.  Also, the line
-     * number will become invalid because of edits. */
-    curbuf->b_no_eol_lnum = 0;
-
     if (recoverymode && error)
 	return FAIL;
     return OK;
@@ -5098,6 +5094,8 @@
     {
 	aco_save_T	aco;
 
+	curbuf->b_no_eol_lnum = 0;  /* in case it was set by the previous read */
+
 	/*
 	 * Apply POST autocommands.
 	 * Careful: The autocommands may call buf_write() recursively!
diff --git a/src/version.c b/src/version.c
index 3126205..7aff254 100644
--- a/src/version.c
+++ b/src/version.c
@@ -715,6 +715,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    505,
+/**/
     504,
 /**/
     503,