Markus Heidelberg wrote:

> Lech Lorens, 30.10.2009:
> > 
> > On 29-10-2009 Bram Moolenaar <[email protected]> wrote:
> > > 
> > > 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?
> > 
> > If I scroll file.txt then - yes - filler lines start to appear in the
> > window displaying /dev/null. Other than that I am unable to get the
> > correct scrolling behaviour you are describing.
> > 
> > The incorrect scrolling seems to be strictly related to line 187 in
> > move.c (function update_topline()):
> > 
> > 186 #ifdef FEAT_DIFF
> > 187 curwin->w_topfill = 0;
> > 188 #endif
> > 
> > as commenting out the line or restoring curwin->w_topfill at the end of
> > update_topline() seems to alleviate the problem. However, I don't
> > suppose that the line is there without a reason (although I haven't
> > observed any undesired side effects after I removed it). Anyway, after
> > such a modification scrolling /dev/null yields a result as follows
> > (note: one more filler line than you are reporting; this seems
> > consistent with scrolling file.txt, though):
> > 
> >    window 1     window 2   
> >   /dev/null     file.txt   
> > +------------+------------+
> > |filler      |last line   |
> > |_           |~           |
> > |~           |~           |
> > |~           |~           |
> > |~           |~           |
> > |~           |~           |
> > +------------+------------+
> > 
> > and upon two more CTRL-Y presses:
> > 
> >    window 1     window 2   
> >   /dev/null     file.txt   
> > +------------+------------+
> > |filler      |last - 2    |
> > |filler      |last - 1    |
> > |filler      |last line   |
> > |_           |~           |
> > |~           |~           |
> > |~           |~           |
> > +------------+------------+
> > 
> > If I remove "filler" from 'diffopt', my problem disappears.
> > 
> > Everything I described happened on a freshly compiled normal version of
> > Vim 7.2.267 invoked as follows:
> > $ vim -u NONE -U NONE -d /dev/null runtime/doc/todo.txt
> > 
> > Maybe anyone else observes the correct behaviour and would be willing to
> > investigate which settings make the difference?
> 
> I have no problem reproducing it. I just wanted to send this as a
> reproduction recipe:
> 
> $ vim -u NONE -U NONE -c "normal itext" -c "diffsplit /dev/null"
> 
> But yours from above works just as fine.

Yep, with this command I can reproduce it, with and without the change.
So there is some setting that interferes.

-- 
ARTHUR: Go on, Bors, chop its head off.
BORS:   Right.  Silly little bleeder.  One rabbit stew coming up.
                 "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD

 /// 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