Loading ...
Sorry, an error occurred while loading the content.
 

Re: [patch] Disallow scrolling of an empty buffer in diff mode

Expand Messages
  • Bram Moolenaar
    ... 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
    Message 1 of 10 , Oct 31 5:52 AM
      Markus Heidelberg wrote:

      > Lech Lorens, 30.10.2009:
      > >
      > > On 29-10-2009 Bram Moolenaar <Bram@...> 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 -- Bram@... -- 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
      -~----------~----~----~----~------~----~------~--~---
    Your message has been successfully submitted and would be delivered to recipients shortly.