On Wednesday, November 23, 2016 at 4:39:24 AM UTC-6, Efraim Yawitz wrote:
> I had the following problem and I think it is a bug in some fold-related code:
>
> I was trying to use the NarrowRegion plugin to do diffs between two functions
> in the same file by creating narrowed buffers for each function and calling
> :diffthis on them. When I tried to do this using folds, i.e.
> :.,+2NarrowRegion to create a buffer for a folded-up function which looked
> like this:
>
> int FuncName() {
> .....folded........
> }
>
> I got everything but the final brace in the narrowed buffer. Eventually I
> discovered that this has nothing to do with NarrowRegion, but just a yank
> such as:
>
> :.,+2y
>
> over a fold gives only the folded lines but not the line after the fold.
>
> A normal command of y2j works just fine and gets the line after the fold.
I can confirm this looks like a bug, seeing the same behavior in 64-bit Vim
8.0.95 on Windows 7.
It gets worse actually. I tried several yanks from code that looks like this in
Vim:
else
{ ---3 lines folded--- }
#endif
if ( ---2 lines folded--- )
With the cursor on the top "else" line:
:.,+2y yanks only the "else" and the folded lines beneath, when I expect to
also get the #endif
:.,+3y yanks the exact same thing (omitting the #endif *and* the empty line)
:.,+4y finally includes the #endif (with nothing after it) but I expected it to
yank everything from "else" to the content of the second folded section.
The :d command acts in the same way.
It appears something is wrong with handling of folded lines in the ranges
specified for ex commands.
Forwarding to vim_dev as this appears to be a bug.
--
--
You received this message from the "vim_dev" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php
---
You received this message because you are subscribed to the Google Groups
"vim_dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
For more options, visit https://groups.google.com/d/optout.