summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2016-01-02 21:41:06 +0100
committerBram Moolenaar <Bram@vim.org>2016-01-02 21:41:06 +0100
commita3306958dcb9aadff1e1e8521d908d86b10ac99a (patch)
tree118ab890c602312d172cdd8a0623ea5881f6e0b2
parent27a82e31ee9acedb6922093b2764f7f6860b0f91 (diff)
patch 7.4.1035v7.4.1035
Problem: An Ex range gets adjusted for folded lines even when the range is not using line numbers. Solution: Only adjust line numbers for folding. (Christian Brabandt)
-rw-r--r--runtime/doc/fold.txt7
-rw-r--r--src/ex_docmd.c3
-rw-r--r--src/version.c2
3 files changed, 8 insertions, 4 deletions
diff --git a/runtime/doc/fold.txt b/runtime/doc/fold.txt
index e2ea1ab66d..96e46f5a13 100644
--- a/runtime/doc/fold.txt
+++ b/runtime/doc/fold.txt
@@ -1,4 +1,4 @@
-*fold.txt* For Vim version 7.4. Last change: 2015 Nov 24
+*fold.txt* For Vim version 7.4. Last change: 2016 Jan 02
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -585,8 +585,9 @@ what you type!
When using an operator, a closed fold is included as a whole. Thus "dl"
deletes the whole closed fold under the cursor.
-For Ex commands the range is adjusted to always start at the first line of a
-closed fold and end at the last line of a closed fold. Thus this command: >
+For Ex commands that work on buffer lines the range is adjusted to always
+start at the first line of a closed fold and end at the last line of a closed
+fold. Thus this command: >
:s/foo/bar/g
when used with the cursor on a closed fold, will replace "foo" with "bar" in
all lines of the fold.
diff --git a/src/ex_docmd.c b/src/ex_docmd.c
index a29d657501..648cc0d770 100644
--- a/src/ex_docmd.c
+++ b/src/ex_docmd.c
@@ -2543,7 +2543,8 @@ do_one_cmd(cmdlinep, sourcing,
correct_range(&ea);
#ifdef FEAT_FOLDING
- if (((ea.argt & WHOLEFOLD) || ea.addr_count >= 2) && !global_busy)
+ if (((ea.argt & WHOLEFOLD) || ea.addr_count >= 2) && !global_busy
+ && ea.addr_type == ADDR_LINES)
{
/* Put the first line at the start of a closed fold, put the last line
* at the end of a closed fold. */
diff --git a/src/version.c b/src/version.c
index 90cfd89f3c..49eebc12cc 100644
--- a/src/version.c
+++ b/src/version.c
@@ -742,6 +742,8 @@ static char *(features[]) =
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
+ 1035,
+/**/
1034,
/**/
1033,