summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBram Moolenaar <bram@vim.org>2012-04-25 16:50:48 +0200
committerBram Moolenaar <bram@vim.org>2012-04-25 16:50:48 +0200
commit0e64bf700ee22a8b93fe25118825ec0e0a2053a4 (patch)
tree31000302c2566671761d76c672a0174b1c9b44f0
parent96c85771efd255c55a56d9cd524a9246f22e81e9 (diff)
downloadvim-7.3.505.tar.gz
updated for version 7.3.505v7.3.505v7-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)
-rw-r--r--src/eval.c2
-rw-r--r--src/ex_cmds.c2
-rw-r--r--src/feature.h8
-rw-r--r--src/fileio.c6
-rw-r--r--src/version.c2
5 files changed, 14 insertions, 6 deletions
diff --git a/src/eval.c b/src/eval.c
index d460a83b..33b19475 100644
--- 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
diff --git a/src/ex_cmds.c b/src/ex_cmds.c
index 3d3f12ab..005f28f7 100644
--- a/src/ex_cmds.c
+++ b/src/ex_cmds.c
@@ -1113,7 +1113,7 @@ do_filter(line1, line2, eap, cmd, do_in, do_out)
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 6d5387ed..d13e6214 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 5d00b753..52eb34b3 100644
--- 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!
diff --git a/src/version.c b/src/version.c
index 3126205a..7aff2544 100644
--- 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,