diff options
author | Michael Ennen <mike.ennen@gmail.com> | 2016-04-26 13:30:45 -0700 |
---|---|---|
committer | Michael Ennen <mike.ennen@gmail.com> | 2016-04-26 20:22:11 -0700 |
commit | cc410185c03fd2fb872148005836ba7ffe771d04 (patch) | |
tree | 130947e109b524ba5bfb2c9b80de4923ae0ace39 | |
parent | e861af85f89e119193a9e219a4cb766757e28e5a (diff) | |
download | rneovim-cc410185c03fd2fb872148005836ba7ffe771d04.tar.gz rneovim-cc410185c03fd2fb872148005836ba7ffe771d04.tar.bz2 rneovim-cc410185c03fd2fb872148005836ba7ffe771d04.zip |
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)
https://github.com/vim/vim/commit/a3306958dcb9aadff1e1e8521d908d86b10ac99a
-rw-r--r-- | runtime/doc/fold.txt | 7 | ||||
-rw-r--r-- | src/nvim/ex_docmd.c | 7 | ||||
-rw-r--r-- | src/nvim/version.c | 2 |
3 files changed, 9 insertions, 7 deletions
diff --git a/runtime/doc/fold.txt b/runtime/doc/fold.txt index 03dd6a61ba..c01ce4a9ca 100644 --- a/runtime/doc/fold.txt +++ b/runtime/doc/fold.txt @@ -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. diff --git a/src/nvim/ex_docmd.c b/src/nvim/ex_docmd.c index 2d316cb106..426014e848 100644 --- a/src/nvim/ex_docmd.c +++ b/src/nvim/ex_docmd.c @@ -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); } diff --git a/src/nvim/version.c b/src/nvim/version.c index a492c8d7ec..023dd12a81 100644 --- a/src/nvim/version.c +++ b/src/nvim/version.c @@ -642,7 +642,7 @@ static int included_patches[] = { // 1038 NA // 1037, // 1036, - // 1035, + 1035, // 1034, // 1033 NA 1032, |