Patch 8.1.1013
Problem:    MS-Windows: Scrolling fails when dividing the screen.
Solution:   Position the cursor before calling ScrollConsoleScreenBuffer().
            (Nobuhiro Takasaki, closes #4115)
Files:      src/os_win32.c


*** ../vim-8.1.1012/src/os_win32.c      2019-03-07 06:40:23.950955576 +0100
--- src/os_win32.c      2019-03-17 14:54:32.693363582 +0100
***************
*** 6024,6029 ****
--- 6024,6031 ----
      COORD         dest;
      CHAR_INFO     fill;
  
+     gotoxy(g_srScrollRegion.Left + 1, g_srScrollRegion.Top + 1);
+ 
      dest.X = g_srScrollRegion.Left;
      dest.Y = g_coord.Y + cLines;
  
***************
*** 6037,6053 ****
      clip.Right  = g_srScrollRegion.Right;
      clip.Bottom = g_srScrollRegion.Bottom;
  
!     {
!       fill.Char.AsciiChar = ' ';
!       if (!USE_VTP)
!           fill.Attributes = g_attrCurrent;
!       else
!           fill.Attributes = g_attrDefault;
  
!       set_console_color_rgb();
  
-       ScrollConsoleScreenBuffer(g_hConOut, &source, &clip, dest, &fill);
-     }
      // Here we have to deal with a win32 console flake: If the scroll
      // region looks like abc and we scroll c to a and fill with d we get
      // cbd... if we scroll block c one line at a time to a, we get cdd...
--- 6039,6054 ----
      clip.Right  = g_srScrollRegion.Right;
      clip.Bottom = g_srScrollRegion.Bottom;
  
!     fill.Char.AsciiChar = ' ';
!     if (!USE_VTP)
!       fill.Attributes = g_attrCurrent;
!     else
!       fill.Attributes = g_attrDefault;
  
!     set_console_color_rgb();
! 
!     ScrollConsoleScreenBuffer(g_hConOut, &source, &clip, dest, &fill);
  
      // Here we have to deal with a win32 console flake: If the scroll
      // region looks like abc and we scroll c to a and fill with d we get
      // cbd... if we scroll block c one line at a time to a, we get cdd...
***************
*** 6081,6086 ****
--- 6082,6089 ----
      CHAR_INFO     fill;
      int                   nb;
  
+     gotoxy(g_srScrollRegion.Left + 1, g_srScrollRegion.Top + 1);
+ 
      dest.X = g_srScrollRegion.Left;
      dest.Y = g_coord.Y;
  
***************
*** 6094,6110 ****
      clip.Right  = g_srScrollRegion.Right;
      clip.Bottom = g_srScrollRegion.Bottom;
  
!     {
!       fill.Char.AsciiChar = ' ';
!       if (!USE_VTP)
!           fill.Attributes = g_attrCurrent;
!       else
!           fill.Attributes = g_attrDefault;
  
!       set_console_color_rgb();
  
-       ScrollConsoleScreenBuffer(g_hConOut, &source, &clip, dest, &fill);
-     }
      // Here we have to deal with a win32 console flake; See insert_lines()
      // above.
  
--- 6097,6112 ----
      clip.Right  = g_srScrollRegion.Right;
      clip.Bottom = g_srScrollRegion.Bottom;
  
!     fill.Char.AsciiChar = ' ';
!     if (!USE_VTP)
!       fill.Attributes = g_attrCurrent;
!     else
!       fill.Attributes = g_attrDefault;
  
!     set_console_color_rgb();
! 
!     ScrollConsoleScreenBuffer(g_hConOut, &source, &clip, dest, &fill);
  
      // Here we have to deal with a win32 console flake; See insert_lines()
      // above.
  
*** ../vim-8.1.1012/src/version.c       2019-03-17 14:43:28.477344179 +0100
--- src/version.c       2019-03-17 14:53:15.733826579 +0100
***************
*** 781,782 ****
--- 781,784 ----
  {   /* Add new patch number below this line */
+ /**/
+     1013,
  /**/

-- 
hundred-and-one symptoms of being an internet addict:
76. Your ISP regards you as a business partner rather than as a customer.

 /// Bram Moolenaar -- [email protected] -- http://www.Moolenaar.net   \\\
///        sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\  an exciting new programming language -- http://www.Zimbu.org        ///
 \\\            help me help AIDS victims -- http://ICCF-Holland.org    ///

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

Raspunde prin e-mail lui