Lech Lorens wrote:

> > > It is possible to scroll down (i.e. CTRL-Y in normal mode) an empty
> > > buffer if it is being compared with another buffer consisting of at
> > > least two lines. This means it is possible for the cursor to appear
> > > "outside of the file" - on nonexistent lines.
> > > 
> > > To reproduce the problem edit any file and e.g.:
> > >  :diffsplit /dev/null
> > > Then try to scroll /dev/null with CTRL-Y.
> > > 
> > > This patch disallows such behaviour.
> > 
> > The scrolling is OK so long as the filler lines fit in the window.
> > This is useful to be able to see the added lines in the other window.
> > 
> > But currently it tries to add too many, the cursor is displayed outside
> > of the window if you scroll far enough.
> > 
> > Please check this patch:
> 
> Your patch does not seem to address the problem I've been trying to
> describe.
> 
> I am not sure whether I have managed to explain the problem I am
> observing well enough.
> 
> I will draw what I am observing:
> ~ - are the nonexistent line, i.e. after the end of the file,
> _ - is the cursor
> I have 2 windows in diff mode, the cursor is on the only displayed line
> in window 1.
> 
>    window 1     window 2   
>   /dev/null     file.txt   
> +------------+------------+
> |_           |last line   |
> |~           |~           |
> |~           |~           |
> |~           |~           |
> |~           |~           |
> |~           |~           |
> +------------+------------+
> 
> If I press CTRL-Y twice, the situation is as follows:
> +------------+------------+
> |            |last line   |
> |~           |~           |
> |_           |~           |
> |~           |~           |
> |~           |~           |
> |~           |~           |
> +------------+------------+
> which means the cursor is displayed out of bounds - on the second
> nonexistent line.
> 
> Also, from your reply I infer that my patch breaks some functionality.
> I haven't observed any such side effects. Could you elaborate on it
> a little bit?

When I try this I get:

    window 1     window 2   
   /dev/null     file.txt   
 +------------+------------+
 |filler      |last - 2    |
 |filler      |last - 1    |
 |_           |last line   |
 |~           |~           |
 |~           |~           |
 |~           |~           |
 +------------+------------+

Thus two filler lines are inserted, the file.txt window scrolls down.

If I remove "filler" from 'diffopt' then I don't get any scrolling.

Perhaps it depends on your option values, can you find out?

-- 
Vi beats Emacs to death, and then again!
                        http://linuxtoday.com/stories/5764.html

 /// Bram Moolenaar -- [email protected] -- http://www.Moolenaar.net   \\\
///        sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\        download, build and distribute -- http://www.A-A-P.org        ///
 \\\            help me help AIDS victims -- http://ICCF-Holland.org    ///

--~--~---------~--~----~------------~-------~--~----~
You received this message from the "vim_dev" maillist.
For more information, visit http://www.vim.org/maillist.php
-~----------~----~----~----~------~----~------~--~---

Raspunde prin e-mail lui