vim-patch: 7.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)

a3306958dc
This commit is contained in:
Michael Ennen
2016-04-26 13:30:45 -07:00
parent e861af85f8
commit cc410185c0
3 changed files with 9 additions and 7 deletions

View File

@@ -1,4 +1,4 @@
*fold.txt* For Vim version 7.4. Last change: 2013 Dec 04
*fold.txt* For Vim version 7.4. Last change: 2016 Jan 02
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -570,8 +570,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.

View File

@@ -1826,9 +1826,10 @@ static char_u * do_one_cmd(char_u **cmdlinep,
correct_range(&ea);
if (((ea.argt & WHOLEFOLD) || ea.addr_count >= 2) && !global_busy) {
/* Put the first line at the start of a closed fold, put the last line
* at the end of a closed fold. */
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.
(void)hasFolding(ea.line1, &ea.line1, NULL);
(void)hasFolding(ea.line2, NULL, &ea.line2);
}

View File

@@ -642,7 +642,7 @@ static int included_patches[] = {
// 1038 NA
// 1037,
// 1036,
// 1035,
1035,
// 1034,
// 1033 NA
1032,