changeset 3482:fe7bf24804e1 v7.3.505

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)
author Bram Moolenaar <bram@vim.org>
date Wed, 25 Apr 2012 16:50:48 +0200
parents 68f90c98dc33
children 67f376286071
files src/eval.c src/ex_cmds.c src/feature.h src/fileio.c src/version.c
diffstat 5 files changed, 14 insertions(+), 6 deletions(-) [+]
line wrap: on
line diff
--- a/src/eval.c
+++ b/src/eval.c
@@ -12090,7 +12090,7 @@ f_has(argvars, rettv)
 #ifdef FEAT_SEARCHPATH
 	"file_in_path",
 #endif
-#if (defined(UNIX) && !defined(USE_SYSTEM)) || defined(WIN3264)
+#ifdef FEAT_FILTERPIPE
 	"filterpipe",
 #endif
 #ifdef FEAT_FIND_ID
--- a/src/ex_cmds.c
+++ b/src/ex_cmds.c
@@ -1113,7 +1113,7 @@ do_filter(line1, line2, eap, cmd, do_in,
     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. */
--- 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
--- a/src/fileio.c
+++ b/src/fileio.c
@@ -2655,10 +2655,6 @@ failed:
     }
 #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 @@ nofail:
     {
 	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!
--- a/src/version.c
+++ b/src/version.c
@@ -715,6 +715,8 @@ static char *(features[]) =
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    505,
+/**/
     504,
 /**/
     503,