# HG changeset patch # User Christian Brabandt # Date 1451767504 -3600 # Node ID 71e2aca45b81daf407b6ec0fb36b9584674b00f3 # Parent 1e47dd710211229beea86763a78b2f23b9067ead commit https://github.com/vim/vim/commit/a3306958dcb9aadff1e1e8521d908d86b10ac99a Author: Bram Moolenaar Date: Sat Jan 2 21:41:06 2016 +0100 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) diff --git a/runtime/doc/fold.txt b/runtime/doc/fold.txt --- 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 --- 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 --- 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,