]>
Commit | Line | Data |
---|---|---|
1419a6f5 ER |
1 | To: vim-dev@vim.org |
2 | Subject: Patch 7.3.008 | |
3 | Fcc: outbox | |
4 | From: Bram Moolenaar <Bram@moolenaar.net> | |
5 | Mime-Version: 1.0 | |
6 | Content-Type: text/plain; charset=UTF-8 | |
7 | Content-Transfer-Encoding: 8bit | |
8 | ------------ | |
9 | ||
10 | Patch 7.3.008 | |
11 | Problem: 'cursorbind' is kept in places where 'scrollbind' is reset. | |
12 | Solution: Reset 'cursorbind'. | |
13 | Files: src/buffer.c, src/diff.c, src/ex_cmds.c, src/ex_cmds2.c, | |
14 | src/ex_docmd.c, src/ex_getln.c, src/if_cscope.c, src/macros.h, | |
15 | src/quickfix.c, src/search.c, src/tag.c, src/window.c | |
16 | ||
17 | ||
18 | *** ../vim-7.3.007/src/buffer.c 2010-08-15 21:57:32.000000000 +0200 | |
19 | --- src/buffer.c 2010-09-21 16:54:19.000000000 +0200 | |
20 | *************** | |
21 | *** 1288,1296 **** | |
22 | /* Go to the other buffer. */ | |
23 | set_curbuf(buf, action); | |
24 | ||
25 | ! #if defined(FEAT_LISTCMDS) && defined(FEAT_SCROLLBIND) | |
26 | if (action == DOBUF_SPLIT) | |
27 | ! curwin->w_p_scb = FALSE; /* reset 'scrollbind' */ | |
28 | #endif | |
29 | ||
30 | #if defined(FEAT_AUTOCMD) && defined(FEAT_EVAL) | |
31 | --- 1288,1299 ---- | |
32 | /* Go to the other buffer. */ | |
33 | set_curbuf(buf, action); | |
34 | ||
35 | ! #if defined(FEAT_LISTCMDS) \ | |
36 | ! && (defined(FEAT_SCROLLBIND) || defined(FEAT_CURSORBIND)) | |
37 | if (action == DOBUF_SPLIT) | |
38 | ! { | |
39 | ! RESET_BINDING(curwin); /* reset 'scrollbind' and 'cursorbind' */ | |
40 | ! } | |
41 | #endif | |
42 | ||
43 | #if defined(FEAT_AUTOCMD) && defined(FEAT_EVAL) | |
44 | *************** | |
45 | *** 1917,1925 **** | |
46 | tabpage_new(); | |
47 | else if (win_split(0, 0) == FAIL) /* Open in a new window */ | |
48 | return FAIL; | |
49 | ! # ifdef FEAT_SCROLLBIND | |
50 | ! curwin->w_p_scb = FALSE; | |
51 | ! # endif | |
52 | } | |
53 | } | |
54 | #endif | |
55 | --- 1920,1926 ---- | |
56 | tabpage_new(); | |
57 | else if (win_split(0, 0) == FAIL) /* Open in a new window */ | |
58 | return FAIL; | |
59 | ! RESET_BINDING(curwin); | |
60 | } | |
61 | } | |
62 | #endif | |
63 | *** ../vim-7.3.007/src/diff.c 2010-08-15 21:57:32.000000000 +0200 | |
64 | --- src/diff.c 2010-09-21 16:14:07.000000000 +0200 | |
65 | *************** | |
66 | *** 1127,1137 **** | |
67 | # endif | |
68 | ||
69 | wp->w_p_diff = TRUE; | |
70 | #ifdef FEAT_CURSORBIND | |
71 | - /* Use cursorbind if it's available */ | |
72 | wp->w_p_crb = TRUE; | |
73 | #endif | |
74 | - wp->w_p_scb = TRUE; | |
75 | wp->w_p_wrap = FALSE; | |
76 | # ifdef FEAT_FOLDING | |
77 | curwin = wp; | |
78 | --- 1127,1139 ---- | |
79 | # endif | |
80 | ||
81 | wp->w_p_diff = TRUE; | |
82 | + /* Use 'scrollbind' and 'cursorbind' when available */ | |
83 | + #ifdef FEAT_SCROLLBIND | |
84 | + wp->w_p_scb = TRUE; | |
85 | + #endif | |
86 | #ifdef FEAT_CURSORBIND | |
87 | wp->w_p_crb = TRUE; | |
88 | #endif | |
89 | wp->w_p_wrap = FALSE; | |
90 | # ifdef FEAT_FOLDING | |
91 | curwin = wp; | |
92 | *************** | |
93 | *** 1177,1186 **** | |
94 | { | |
95 | /* Set 'diff', 'scrollbind' off and 'wrap' on. */ | |
96 | wp->w_p_diff = FALSE; | |
97 | ! #ifdef FEAT_CURSORBIND | |
98 | ! wp->w_p_crb = FALSE; | |
99 | ! #endif | |
100 | ! wp->w_p_scb = FALSE; | |
101 | wp->w_p_wrap = TRUE; | |
102 | #ifdef FEAT_FOLDING | |
103 | curwin = wp; | |
104 | --- 1179,1185 ---- | |
105 | { | |
106 | /* Set 'diff', 'scrollbind' off and 'wrap' on. */ | |
107 | wp->w_p_diff = FALSE; | |
108 | ! RESET_BINDING(wp); | |
109 | wp->w_p_wrap = TRUE; | |
110 | #ifdef FEAT_FOLDING | |
111 | curwin = wp; | |
112 | *** ../vim-7.3.007/src/ex_cmds.c 2010-08-15 21:57:26.000000000 +0200 | |
113 | --- src/ex_cmds.c 2010-09-21 16:15:07.000000000 +0200 | |
114 | *************** | |
115 | *** 3498,3506 **** | |
116 | curbuf->b_p_bin = FALSE; /* reset 'bin' before reading file */ | |
117 | curwin->w_p_nu = 0; /* no line numbers */ | |
118 | curwin->w_p_rnu = 0; /* no relative line numbers */ | |
119 | ! #ifdef FEAT_SCROLLBIND | |
120 | ! curwin->w_p_scb = FALSE; /* no scroll binding */ | |
121 | ! #endif | |
122 | #ifdef FEAT_ARABIC | |
123 | curwin->w_p_arab = FALSE; /* no arabic mode */ | |
124 | #endif | |
125 | --- 3498,3504 ---- | |
126 | curbuf->b_p_bin = FALSE; /* reset 'bin' before reading file */ | |
127 | curwin->w_p_nu = 0; /* no line numbers */ | |
128 | curwin->w_p_rnu = 0; /* no relative line numbers */ | |
129 | ! RESET_BINDING(curwin); /* no scroll or cursor binding */ | |
130 | #ifdef FEAT_ARABIC | |
131 | curwin->w_p_arab = FALSE; /* no arabic mode */ | |
132 | #endif | |
133 | *************** | |
134 | *** 5471,5479 **** | |
135 | return FALSE; | |
136 | curwin->w_p_pvw = TRUE; | |
137 | curwin->w_p_wfh = TRUE; | |
138 | ! # ifdef FEAT_SCROLLBIND | |
139 | ! curwin->w_p_scb = FALSE; /* don't take over 'scrollbind' */ | |
140 | ! # endif | |
141 | # ifdef FEAT_DIFF | |
142 | curwin->w_p_diff = FALSE; /* no 'diff' */ | |
143 | # endif | |
144 | --- 5469,5476 ---- | |
145 | return FALSE; | |
146 | curwin->w_p_pvw = TRUE; | |
147 | curwin->w_p_wfh = TRUE; | |
148 | ! RESET_BINDING(curwin); /* don't take over 'scrollbind' | |
149 | ! and 'cursorbind' */ | |
150 | # ifdef FEAT_DIFF | |
151 | curwin->w_p_diff = FALSE; /* no 'diff' */ | |
152 | # endif | |
153 | *** ../vim-7.3.007/src/ex_cmds2.c 2010-08-15 21:57:31.000000000 +0200 | |
154 | --- src/ex_cmds2.c 2010-09-21 16:15:17.000000000 +0200 | |
155 | *************** | |
156 | *** 2165,2173 **** | |
157 | { | |
158 | if (win_split(0, 0) == FAIL) | |
159 | return; | |
160 | ! # ifdef FEAT_SCROLLBIND | |
161 | ! curwin->w_p_scb = FALSE; | |
162 | ! # endif | |
163 | } | |
164 | else | |
165 | #endif | |
166 | --- 2165,2171 ---- | |
167 | { | |
168 | if (win_split(0, 0) == FAIL) | |
169 | return; | |
170 | ! RESET_BINDING(curwin); | |
171 | } | |
172 | else | |
173 | #endif | |
174 | *** ../vim-7.3.007/src/ex_docmd.c 2010-08-16 22:33:55.000000000 +0200 | |
175 | --- src/ex_docmd.c 2010-09-21 16:15:39.000000000 +0200 | |
176 | *************** | |
177 | *** 6898,6906 **** | |
178 | # ifdef FEAT_WINDOWS | |
179 | if (win_split(0, 0) == FAIL) | |
180 | return; | |
181 | ! # ifdef FEAT_SCROLLBIND | |
182 | ! curwin->w_p_scb = FALSE; | |
183 | ! # endif | |
184 | ||
185 | /* When splitting the window, create a new alist. Otherwise the | |
186 | * existing one is overwritten. */ | |
187 | --- 6898,6904 ---- | |
188 | # ifdef FEAT_WINDOWS | |
189 | if (win_split(0, 0) == FAIL) | |
190 | return; | |
191 | ! RESET_BINDING(curwin); | |
192 | ||
193 | /* When splitting the window, create a new alist. Otherwise the | |
194 | * existing one is overwritten. */ | |
195 | *************** | |
196 | *** 7300,7306 **** | |
197 | || cmdmod.browse | |
198 | # endif | |
199 | ) | |
200 | ! curwin->w_p_scb = FALSE; | |
201 | else | |
202 | do_check_scrollbind(FALSE); | |
203 | # endif | |
204 | --- 7298,7306 ---- | |
205 | || cmdmod.browse | |
206 | # endif | |
207 | ) | |
208 | ! { | |
209 | ! RESET_BINDING(curwin); | |
210 | ! } | |
211 | else | |
212 | do_check_scrollbind(FALSE); | |
213 | # endif | |
214 | *** ../vim-7.3.007/src/ex_getln.c 2010-08-15 21:57:28.000000000 +0200 | |
215 | --- src/ex_getln.c 2010-09-21 16:15:55.000000000 +0200 | |
216 | *************** | |
217 | *** 6147,6155 **** | |
218 | curwin->w_p_rl = cmdmsg_rl; | |
219 | cmdmsg_rl = FALSE; | |
220 | # endif | |
221 | ! # ifdef FEAT_SCROLLBIND | |
222 | ! curwin->w_p_scb = FALSE; | |
223 | ! # endif | |
224 | ||
225 | # ifdef FEAT_AUTOCMD | |
226 | /* Do execute autocommands for setting the filetype (load syntax). */ | |
227 | --- 6147,6153 ---- | |
228 | curwin->w_p_rl = cmdmsg_rl; | |
229 | cmdmsg_rl = FALSE; | |
230 | # endif | |
231 | ! RESET_BINDING(curwin); | |
232 | ||
233 | # ifdef FEAT_AUTOCMD | |
234 | /* Do execute autocommands for setting the filetype (load syntax). */ | |
235 | *** ../vim-7.3.007/src/if_cscope.c 2010-08-15 21:57:32.000000000 +0200 | |
236 | --- src/if_cscope.c 2010-09-21 16:16:26.000000000 +0200 | |
237 | *************** | |
238 | *** 1274,1282 **** | |
239 | { | |
240 | win_split(postponed_split > 0 ? postponed_split : 0, | |
241 | postponed_split_flags); | |
242 | ! # ifdef FEAT_SCROLLBIND | |
243 | ! curwin->w_p_scb = FALSE; | |
244 | ! # endif | |
245 | postponed_split = 0; | |
246 | } | |
247 | # endif | |
248 | --- 1274,1280 ---- | |
249 | { | |
250 | win_split(postponed_split > 0 ? postponed_split : 0, | |
251 | postponed_split_flags); | |
252 | ! RESET_BINDING(curwin); | |
253 | postponed_split = 0; | |
254 | } | |
255 | # endif | |
256 | *** ../vim-7.3.007/src/macros.h 2010-08-15 21:57:28.000000000 +0200 | |
257 | --- src/macros.h 2010-09-21 16:13:10.000000000 +0200 | |
258 | *************** | |
259 | *** 285,287 **** | |
260 | --- 285,301 ---- | |
261 | #else | |
262 | # define DO_AUTOCHDIR | |
263 | #endif | |
264 | + | |
265 | + #if defined(FEAT_SCROLLBIND) && defined(FEAT_CURSORBIND) | |
266 | + # define RESET_BINDING(wp) (wp)->w_p_scb = FALSE; (wp)->w_p_crb = FALSE | |
267 | + #else | |
268 | + # if defined(FEAT_SCROLLBIND) | |
269 | + # define RESET_BINDING(wp) (wp)->w_p_scb = FALSE | |
270 | + # else | |
271 | + # if defined(FEAT_CURSORBIND) | |
272 | + # define RESET_BINDING(wp) (wp)->w_p_crb = FALSE | |
273 | + # else | |
274 | + # define RESET_BINDING(wp) | |
275 | + # endif | |
276 | + # endif | |
277 | + #endif | |
278 | *** ../vim-7.3.007/src/quickfix.c 2010-08-17 20:23:18.000000000 +0200 | |
279 | --- src/quickfix.c 2010-09-21 16:17:17.000000000 +0200 | |
280 | *************** | |
281 | *** 1656,1664 **** | |
282 | opened_window = TRUE; /* close it when fail */ | |
283 | p_swb = empty_option; /* don't split again */ | |
284 | swb_flags = 0; | |
285 | ! # ifdef FEAT_SCROLLBIND | |
286 | ! curwin->w_p_scb = FALSE; | |
287 | ! # endif | |
288 | if (ll_ref != NULL) | |
289 | { | |
290 | /* The new window should use the location list from the | |
291 | --- 1656,1662 ---- | |
292 | opened_window = TRUE; /* close it when fail */ | |
293 | p_swb = empty_option; /* don't split again */ | |
294 | swb_flags = 0; | |
295 | ! RESET_BINDING(curwin); | |
296 | if (ll_ref != NULL) | |
297 | { | |
298 | /* The new window should use the location list from the | |
299 | *************** | |
300 | *** 2334,2342 **** | |
301 | win_goto(lastwin); | |
302 | if (win_split(height, WSP_BELOW | WSP_NEWLOC) == FAIL) | |
303 | return; /* not enough room for window */ | |
304 | ! #ifdef FEAT_SCROLLBIND | |
305 | ! curwin->w_p_scb = FALSE; | |
306 | ! #endif | |
307 | ||
308 | if (eap->cmdidx == CMD_lopen || eap->cmdidx == CMD_lwindow) | |
309 | { | |
310 | --- 2332,2338 ---- | |
311 | win_goto(lastwin); | |
312 | if (win_split(height, WSP_BELOW | WSP_NEWLOC) == FAIL) | |
313 | return; /* not enough room for window */ | |
314 | ! RESET_BINDING(curwin); | |
315 | ||
316 | if (eap->cmdidx == CMD_lopen || eap->cmdidx == CMD_lwindow) | |
317 | { | |
318 | *** ../vim-7.3.007/src/search.c 2010-08-15 21:57:32.000000000 +0200 | |
319 | --- src/search.c 2010-09-21 16:17:28.000000000 +0200 | |
320 | *************** | |
321 | *** 5075,5083 **** | |
322 | if (win_split(0, 0) == FAIL) | |
323 | #endif | |
324 | break; | |
325 | ! #ifdef FEAT_SCROLLBIND | |
326 | ! curwin->w_p_scb = FALSE; | |
327 | ! #endif | |
328 | } | |
329 | if (depth == -1) | |
330 | { | |
331 | --- 5075,5081 ---- | |
332 | if (win_split(0, 0) == FAIL) | |
333 | #endif | |
334 | break; | |
335 | ! RESET_BINDING(curwin); | |
336 | } | |
337 | if (depth == -1) | |
338 | { | |
339 | *** ../vim-7.3.007/src/tag.c 2010-08-15 21:57:25.000000000 +0200 | |
340 | --- src/tag.c 2010-09-21 16:17:51.000000000 +0200 | |
341 | *************** | |
342 | *** 3143,3151 **** | |
343 | { | |
344 | win_split(postponed_split > 0 ? postponed_split : 0, | |
345 | postponed_split_flags); | |
346 | ! # ifdef FEAT_SCROLLBIND | |
347 | ! curwin->w_p_scb = FALSE; | |
348 | ! # endif | |
349 | } | |
350 | #endif | |
351 | ||
352 | --- 3143,3149 ---- | |
353 | { | |
354 | win_split(postponed_split > 0 ? postponed_split : 0, | |
355 | postponed_split_flags); | |
356 | ! RESET_BINDING(curwin); | |
357 | } | |
358 | #endif | |
359 | ||
360 | *** ../vim-7.3.007/src/window.c 2010-08-15 21:57:32.000000000 +0200 | |
361 | --- src/window.c 2010-09-21 16:18:44.000000000 +0200 | |
362 | *************** | |
363 | *** 525,533 **** | |
364 | setpcmark(); | |
365 | if (win_split(0, 0) == OK) | |
366 | { | |
367 | ! # ifdef FEAT_SCROLLBIND | |
368 | ! curwin->w_p_scb = FALSE; | |
369 | ! # endif | |
370 | (void)do_ecmd(0, ptr, NULL, NULL, ECMD_LASTL, | |
371 | ECMD_HIDE, NULL); | |
372 | if (nchar == 'F' && lnum >= 0) | |
373 | --- 525,531 ---- | |
374 | setpcmark(); | |
375 | if (win_split(0, 0) == OK) | |
376 | { | |
377 | ! RESET_BINDING(curwin); | |
378 | (void)do_ecmd(0, ptr, NULL, NULL, ECMD_LASTL, | |
379 | ECMD_HIDE, NULL); | |
380 | if (nchar == 'F' && lnum >= 0) | |
381 | *************** | |
382 | *** 3277,3285 **** | |
383 | if (aucmd_win != NULL) | |
384 | { | |
385 | win_init_some(aucmd_win, curwin); | |
386 | ! # ifdef FEAT_SCROLLBIND | |
387 | ! aucmd_win->w_p_scb = FALSE; | |
388 | ! # endif | |
389 | new_frame(aucmd_win); | |
390 | } | |
391 | } | |
392 | --- 3275,3281 ---- | |
393 | if (aucmd_win != NULL) | |
394 | { | |
395 | win_init_some(aucmd_win, curwin); | |
396 | ! RESET_BINDING(aucmd_win); | |
397 | new_frame(aucmd_win); | |
398 | } | |
399 | } | |
400 | *************** | |
401 | *** 3320,3329 **** | |
402 | /* First window in new tab page, initialize it from "oldwin". */ | |
403 | win_init(curwin, oldwin, 0); | |
404 | ||
405 | ! # ifdef FEAT_SCROLLBIND | |
406 | ! /* We don't want scroll-binding in the first window. */ | |
407 | ! curwin->w_p_scb = FALSE; | |
408 | ! # endif | |
409 | } | |
410 | #endif | |
411 | ||
412 | --- 3316,3323 ---- | |
413 | /* First window in new tab page, initialize it from "oldwin". */ | |
414 | win_init(curwin, oldwin, 0); | |
415 | ||
416 | ! /* We don't want cursor- and scroll-binding in the first window. */ | |
417 | ! RESET_BINDING(curwin); | |
418 | } | |
419 | #endif | |
420 | ||
421 | *** ../vim-7.3.007/src/version.c 2010-09-21 16:49:29.000000000 +0200 | |
422 | --- src/version.c 2010-09-21 16:53:16.000000000 +0200 | |
423 | *************** | |
424 | *** 716,717 **** | |
425 | --- 716,719 ---- | |
426 | { /* Add new patch number below this line */ | |
427 | + /**/ | |
428 | + 8, | |
429 | /**/ | |
430 | ||
431 | -- | |
432 | hundred-and-one symptoms of being an internet addict: | |
433 | 181. You make up words that go with the "happy tune" your modem makes | |
434 | while dialing your ISP. | |
435 | ||
436 | /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ | |
437 | /// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ | |
438 | \\\ download, build and distribute -- http://www.A-A-P.org /// | |
439 | \\\ help me help AIDS victims -- http://ICCF-Holland.org /// |