summaryrefslogtreecommitdiff
path: root/data/vim/patches/8.1.1013
blob: 7cac40eee7d86c68cb936c0a9d959ecf134caeff (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
To: vim_dev@googlegroups.com
Subject: Patch 8.1.1013
Fcc: outbox
From: Bram Moolenaar <Bram@moolenaar.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
------------

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 -- Bram@Moolenaar.net -- 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    ///