]>
Commit | Line | Data |
---|---|---|
d034a75d AG |
1 | To: vim_dev@googlegroups.com |
2 | Subject: Patch 7.3.400 | |
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.400 | |
11 | Problem: Compiler warnings for shadowed variables. | |
12 | Solution: Remove or rename the variables. | |
13 | Files: src/charset.c, src/digraph.c, src/edit.c, src/eval.c, src/fold.c, | |
14 | src/getchar.c, src/message.c, src/misc2.c, src/move.c, | |
15 | src/netbeans.c, src/option.c, src/os_unix.c, src/screen.c, | |
16 | src/search.c, src/spell.c, src/syntax.c, src/tag.c, src/window.c | |
17 | ||
18 | ||
19 | *** ../vim-7.3.399/src/charset.c 2010-08-15 21:57:25.000000000 +0200 | |
20 | --- src/charset.c 2012-01-10 21:55:50.000000000 +0100 | |
21 | *************** | |
22 | *** 463,503 **** | |
23 | if (enc_utf8) | |
24 | { | |
25 | int c = utf_ptr2char(STR_PTR(i)); | |
26 | ! int ol = utf_ptr2len(STR_PTR(i)); | |
27 | int lc = utf_tolower(c); | |
28 | ||
29 | /* Only replace the character when it is not an invalid | |
30 | * sequence (ASCII character or more than one byte) and | |
31 | * utf_tolower() doesn't return the original character. */ | |
32 | ! if ((c < 0x80 || ol > 1) && c != lc) | |
33 | { | |
34 | ! int nl = utf_char2len(lc); | |
35 | ||
36 | /* If the byte length changes need to shift the following | |
37 | * characters forward or backward. */ | |
38 | ! if (ol != nl) | |
39 | { | |
40 | ! if (nl > ol) | |
41 | { | |
42 | ! if (buf == NULL ? ga_grow(&ga, nl - ol + 1) == FAIL | |
43 | ! : len + nl - ol >= buflen) | |
44 | { | |
45 | /* out of memory, keep old char */ | |
46 | lc = c; | |
47 | ! nl = ol; | |
48 | } | |
49 | } | |
50 | ! if (ol != nl) | |
51 | { | |
52 | if (buf == NULL) | |
53 | { | |
54 | ! STRMOVE(GA_PTR(i) + nl, GA_PTR(i) + ol); | |
55 | ! ga.ga_len += nl - ol; | |
56 | } | |
57 | else | |
58 | { | |
59 | ! STRMOVE(buf + i + nl, buf + i + ol); | |
60 | ! len += nl - ol; | |
61 | } | |
62 | } | |
63 | } | |
64 | --- 463,504 ---- | |
65 | if (enc_utf8) | |
66 | { | |
67 | int c = utf_ptr2char(STR_PTR(i)); | |
68 | ! int olen = utf_ptr2len(STR_PTR(i)); | |
69 | int lc = utf_tolower(c); | |
70 | ||
71 | /* Only replace the character when it is not an invalid | |
72 | * sequence (ASCII character or more than one byte) and | |
73 | * utf_tolower() doesn't return the original character. */ | |
74 | ! if ((c < 0x80 || olen > 1) && c != lc) | |
75 | { | |
76 | ! int nlen = utf_char2len(lc); | |
77 | ||
78 | /* If the byte length changes need to shift the following | |
79 | * characters forward or backward. */ | |
80 | ! if (olen != nlen) | |
81 | { | |
82 | ! if (nlen > olen) | |
83 | { | |
84 | ! if (buf == NULL | |
85 | ! ? ga_grow(&ga, nlen - olen + 1) == FAIL | |
86 | ! : len + nlen - olen >= buflen) | |
87 | { | |
88 | /* out of memory, keep old char */ | |
89 | lc = c; | |
90 | ! nlen = olen; | |
91 | } | |
92 | } | |
93 | ! if (olen != nlen) | |
94 | { | |
95 | if (buf == NULL) | |
96 | { | |
97 | ! STRMOVE(GA_PTR(i) + nlen, GA_PTR(i) + olen); | |
98 | ! ga.ga_len += nlen - olen; | |
99 | } | |
100 | else | |
101 | { | |
102 | ! STRMOVE(buf + i + nlen, buf + i + olen); | |
103 | ! len += nlen - olen; | |
104 | } | |
105 | } | |
106 | } | |
107 | *** ../vim-7.3.399/src/digraph.c 2010-08-15 21:57:28.000000000 +0200 | |
108 | --- src/digraph.c 2012-01-10 21:57:16.000000000 +0100 | |
109 | *************** | |
110 | *** 2080,2092 **** | |
111 | /* | |
112 | * Lookup the pair "char1", "char2" in the digraph tables. | |
113 | * If no match, return "char2". | |
114 | ! * If "meta" is TRUE and "char1" is a space, return "char2" | 0x80. | |
115 | */ | |
116 | static int | |
117 | ! getexactdigraph(char1, char2, meta) | |
118 | int char1; | |
119 | int char2; | |
120 | ! int meta; | |
121 | { | |
122 | int i; | |
123 | int retval = 0; | |
124 | --- 2080,2092 ---- | |
125 | /* | |
126 | * Lookup the pair "char1", "char2" in the digraph tables. | |
127 | * If no match, return "char2". | |
128 | ! * If "meta_char" is TRUE and "char1" is a space, return "char2" | 0x80. | |
129 | */ | |
130 | static int | |
131 | ! getexactdigraph(char1, char2, meta_char) | |
132 | int char1; | |
133 | int char2; | |
134 | ! int meta_char; | |
135 | { | |
136 | int i; | |
137 | int retval = 0; | |
138 | *************** | |
139 | *** 2159,2165 **** | |
140 | ||
141 | if (retval == 0) /* digraph deleted or not found */ | |
142 | { | |
143 | ! if (char1 == ' ' && meta) /* <space> <char> --> meta-char */ | |
144 | return (char2 | 0x80); | |
145 | return char2; | |
146 | } | |
147 | --- 2159,2165 ---- | |
148 | ||
149 | if (retval == 0) /* digraph deleted or not found */ | |
150 | { | |
151 | ! if (char1 == ' ' && meta_char) /* <space> <char> --> meta-char */ | |
152 | return (char2 | 0x80); | |
153 | return char2; | |
154 | } | |
155 | *************** | |
156 | *** 2171,2186 **** | |
157 | * Allow for both char1-char2 and char2-char1 | |
158 | */ | |
159 | int | |
160 | ! getdigraph(char1, char2, meta) | |
161 | int char1; | |
162 | int char2; | |
163 | ! int meta; | |
164 | { | |
165 | int retval; | |
166 | ||
167 | ! if (((retval = getexactdigraph(char1, char2, meta)) == char2) | |
168 | && (char1 != char2) | |
169 | ! && ((retval = getexactdigraph(char2, char1, meta)) == char1)) | |
170 | return char2; | |
171 | return retval; | |
172 | } | |
173 | --- 2171,2186 ---- | |
174 | * Allow for both char1-char2 and char2-char1 | |
175 | */ | |
176 | int | |
177 | ! getdigraph(char1, char2, meta_char) | |
178 | int char1; | |
179 | int char2; | |
180 | ! int meta_char; | |
181 | { | |
182 | int retval; | |
183 | ||
184 | ! if (((retval = getexactdigraph(char1, char2, meta_char)) == char2) | |
185 | && (char1 != char2) | |
186 | ! && ((retval = getexactdigraph(char2, char1, meta_char)) == char1)) | |
187 | return char2; | |
188 | return retval; | |
189 | } | |
190 | *** ../vim-7.3.399/src/edit.c 2011-12-23 13:14:58.000000000 +0100 | |
191 | --- src/edit.c 2012-01-10 21:58:28.000000000 +0100 | |
192 | *************** | |
193 | *** 4003,4026 **** | |
194 | ins_compl_add_dict(dict) | |
195 | dict_T *dict; | |
196 | { | |
197 | ! dictitem_T *refresh; | |
198 | ! dictitem_T *words; | |
199 | ||
200 | /* Check for optional "refresh" item. */ | |
201 | compl_opt_refresh_always = FALSE; | |
202 | ! refresh = dict_find(dict, (char_u *)"refresh", 7); | |
203 | ! if (refresh != NULL && refresh->di_tv.v_type == VAR_STRING) | |
204 | { | |
205 | ! char_u *v = refresh->di_tv.vval.v_string; | |
206 | ||
207 | if (v != NULL && STRCMP(v, (char_u *)"always") == 0) | |
208 | compl_opt_refresh_always = TRUE; | |
209 | } | |
210 | ||
211 | /* Add completions from a "words" list. */ | |
212 | ! words = dict_find(dict, (char_u *)"words", 5); | |
213 | ! if (words != NULL && words->di_tv.v_type == VAR_LIST) | |
214 | ! ins_compl_add_list(words->di_tv.vval.v_list); | |
215 | } | |
216 | ||
217 | /* | |
218 | --- 4003,4026 ---- | |
219 | ins_compl_add_dict(dict) | |
220 | dict_T *dict; | |
221 | { | |
222 | ! dictitem_T *di_refresh; | |
223 | ! dictitem_T *di_words; | |
224 | ||
225 | /* Check for optional "refresh" item. */ | |
226 | compl_opt_refresh_always = FALSE; | |
227 | ! di_refresh = dict_find(dict, (char_u *)"refresh", 7); | |
228 | ! if (di_refresh != NULL && di_refresh->di_tv.v_type == VAR_STRING) | |
229 | { | |
230 | ! char_u *v = di_refresh->di_tv.vval.v_string; | |
231 | ||
232 | if (v != NULL && STRCMP(v, (char_u *)"always") == 0) | |
233 | compl_opt_refresh_always = TRUE; | |
234 | } | |
235 | ||
236 | /* Add completions from a "words" list. */ | |
237 | ! di_words = dict_find(dict, (char_u *)"words", 5); | |
238 | ! if (di_words != NULL && di_words->di_tv.v_type == VAR_LIST) | |
239 | ! ins_compl_add_list(di_words->di_tv.vval.v_list); | |
240 | } | |
241 | ||
242 | /* | |
243 | *** ../vim-7.3.399/src/eval.c 2012-01-04 14:35:31.000000000 +0100 | |
244 | --- src/eval.c 2012-01-10 22:00:50.000000000 +0100 | |
245 | *************** | |
246 | *** 6573,6587 **** | |
247 | ||
248 | /* | |
249 | * Join list "l" into a string in "*gap", using separator "sep". | |
250 | ! * When "echo" is TRUE use String as echoed, otherwise as inside a List. | |
251 | * Return FAIL or OK. | |
252 | */ | |
253 | static int | |
254 | ! list_join(gap, l, sep, echo, copyID) | |
255 | garray_T *gap; | |
256 | list_T *l; | |
257 | char_u *sep; | |
258 | ! int echo; | |
259 | int copyID; | |
260 | { | |
261 | int first = TRUE; | |
262 | --- 6573,6587 ---- | |
263 | ||
264 | /* | |
265 | * Join list "l" into a string in "*gap", using separator "sep". | |
266 | ! * When "echo_style" is TRUE use String as echoed, otherwise as inside a List. | |
267 | * Return FAIL or OK. | |
268 | */ | |
269 | static int | |
270 | ! list_join(gap, l, sep, echo_style, copyID) | |
271 | garray_T *gap; | |
272 | list_T *l; | |
273 | char_u *sep; | |
274 | ! int echo_style; | |
275 | int copyID; | |
276 | { | |
277 | int first = TRUE; | |
278 | *************** | |
279 | *** 6597,6603 **** | |
280 | else | |
281 | ga_concat(gap, sep); | |
282 | ||
283 | ! if (echo) | |
284 | s = echo_string(&item->li_tv, &tofree, numbuf, copyID); | |
285 | else | |
286 | s = tv2string(&item->li_tv, &tofree, numbuf, copyID); | |
287 | --- 6597,6603 ---- | |
288 | else | |
289 | ga_concat(gap, sep); | |
290 | ||
291 | ! if (echo_style) | |
292 | s = echo_string(&item->li_tv, &tofree, numbuf, copyID); | |
293 | else | |
294 | s = tv2string(&item->li_tv, &tofree, numbuf, copyID); | |
295 | *************** | |
296 | *** 17893,17899 **** | |
297 | typval_T *argvars; | |
298 | typval_T *rettv; | |
299 | { | |
300 | ! char_u *instr; | |
301 | char_u *fromstr; | |
302 | char_u *tostr; | |
303 | char_u *p; | |
304 | --- 17893,17899 ---- | |
305 | typval_T *argvars; | |
306 | typval_T *rettv; | |
307 | { | |
308 | ! char_u *in_str; | |
309 | char_u *fromstr; | |
310 | char_u *tostr; | |
311 | char_u *p; | |
312 | *************** | |
313 | *** 17910,17916 **** | |
314 | char_u buf2[NUMBUFLEN]; | |
315 | garray_T ga; | |
316 | ||
317 | ! instr = get_tv_string(&argvars[0]); | |
318 | fromstr = get_tv_string_buf_chk(&argvars[1], buf); | |
319 | tostr = get_tv_string_buf_chk(&argvars[2], buf2); | |
320 | ||
321 | --- 17910,17916 ---- | |
322 | char_u buf2[NUMBUFLEN]; | |
323 | garray_T ga; | |
324 | ||
325 | ! in_str = get_tv_string(&argvars[0]); | |
326 | fromstr = get_tv_string_buf_chk(&argvars[1], buf); | |
327 | tostr = get_tv_string_buf_chk(&argvars[2], buf2); | |
328 | ||
329 | *************** | |
330 | *** 17936,17954 **** | |
331 | } | |
332 | ||
333 | /* fromstr and tostr have to contain the same number of chars */ | |
334 | ! while (*instr != NUL) | |
335 | { | |
336 | #ifdef FEAT_MBYTE | |
337 | if (has_mbyte) | |
338 | { | |
339 | ! inlen = (*mb_ptr2len)(instr); | |
340 | ! cpstr = instr; | |
341 | cplen = inlen; | |
342 | idx = 0; | |
343 | for (p = fromstr; *p != NUL; p += fromlen) | |
344 | { | |
345 | fromlen = (*mb_ptr2len)(p); | |
346 | ! if (fromlen == inlen && STRNCMP(instr, p, inlen) == 0) | |
347 | { | |
348 | for (p = tostr; *p != NUL; p += tolen) | |
349 | { | |
350 | --- 17936,17954 ---- | |
351 | } | |
352 | ||
353 | /* fromstr and tostr have to contain the same number of chars */ | |
354 | ! while (*in_str != NUL) | |
355 | { | |
356 | #ifdef FEAT_MBYTE | |
357 | if (has_mbyte) | |
358 | { | |
359 | ! inlen = (*mb_ptr2len)(in_str); | |
360 | ! cpstr = in_str; | |
361 | cplen = inlen; | |
362 | idx = 0; | |
363 | for (p = fromstr; *p != NUL; p += fromlen) | |
364 | { | |
365 | fromlen = (*mb_ptr2len)(p); | |
366 | ! if (fromlen == inlen && STRNCMP(in_str, p, inlen) == 0) | |
367 | { | |
368 | for (p = tostr; *p != NUL; p += tolen) | |
369 | { | |
370 | *************** | |
371 | *** 17967,17977 **** | |
372 | ++idx; | |
373 | } | |
374 | ||
375 | ! if (first && cpstr == instr) | |
376 | { | |
377 | /* Check that fromstr and tostr have the same number of | |
378 | * (multi-byte) characters. Done only once when a character | |
379 | ! * of instr doesn't appear in fromstr. */ | |
380 | first = FALSE; | |
381 | for (p = tostr; *p != NUL; p += tolen) | |
382 | { | |
383 | --- 17967,17977 ---- | |
384 | ++idx; | |
385 | } | |
386 | ||
387 | ! if (first && cpstr == in_str) | |
388 | { | |
389 | /* Check that fromstr and tostr have the same number of | |
390 | * (multi-byte) characters. Done only once when a character | |
391 | ! * of in_str doesn't appear in fromstr. */ | |
392 | first = FALSE; | |
393 | for (p = tostr; *p != NUL; p += tolen) | |
394 | { | |
395 | *************** | |
396 | *** 17986,18003 **** | |
397 | mch_memmove((char *)ga.ga_data + ga.ga_len, cpstr, (size_t)cplen); | |
398 | ga.ga_len += cplen; | |
399 | ||
400 | ! instr += inlen; | |
401 | } | |
402 | else | |
403 | #endif | |
404 | { | |
405 | /* When not using multi-byte chars we can do it faster. */ | |
406 | ! p = vim_strchr(fromstr, *instr); | |
407 | if (p != NULL) | |
408 | ga_append(&ga, tostr[p - fromstr]); | |
409 | else | |
410 | ! ga_append(&ga, *instr); | |
411 | ! ++instr; | |
412 | } | |
413 | } | |
414 | ||
415 | --- 17986,18003 ---- | |
416 | mch_memmove((char *)ga.ga_data + ga.ga_len, cpstr, (size_t)cplen); | |
417 | ga.ga_len += cplen; | |
418 | ||
419 | ! in_str += inlen; | |
420 | } | |
421 | else | |
422 | #endif | |
423 | { | |
424 | /* When not using multi-byte chars we can do it faster. */ | |
425 | ! p = vim_strchr(fromstr, *in_str); | |
426 | if (p != NULL) | |
427 | ga_append(&ga, tostr[p - fromstr]); | |
428 | else | |
429 | ! ga_append(&ga, *in_str); | |
430 | ! ++in_str; | |
431 | } | |
432 | } | |
433 | ||
434 | *** ../vim-7.3.399/src/fold.c 2011-08-26 16:12:55.000000000 +0200 | |
435 | --- src/fold.c 2012-01-10 22:01:26.000000000 +0100 | |
436 | *************** | |
437 | *** 1033,1042 **** | |
438 | * Init the fold info in a new window. | |
439 | */ | |
440 | void | |
441 | ! foldInitWin(newwin) | |
442 | ! win_T *newwin; | |
443 | { | |
444 | ! ga_init2(&newwin->w_folds, (int)sizeof(fold_T), 10); | |
445 | } | |
446 | ||
447 | /* find_wl_entry() {{{2 */ | |
448 | --- 1033,1042 ---- | |
449 | * Init the fold info in a new window. | |
450 | */ | |
451 | void | |
452 | ! foldInitWin(new_win) | |
453 | ! win_T *new_win; | |
454 | { | |
455 | ! ga_init2(&new_win->w_folds, (int)sizeof(fold_T), 10); | |
456 | } | |
457 | ||
458 | /* find_wl_entry() {{{2 */ | |
459 | *** ../vim-7.3.399/src/getchar.c 2011-12-23 14:54:01.000000000 +0100 | |
460 | --- src/getchar.c 2012-01-10 22:02:30.000000000 +0100 | |
461 | *************** | |
462 | *** 418,429 **** | |
463 | ||
464 | /* | |
465 | * Remove the contents of the stuff buffer and the mapped characters in the | |
466 | ! * typeahead buffer (used in case of an error). If 'typeahead' is true, | |
467 | * flush all typeahead characters (used when interrupted by a CTRL-C). | |
468 | */ | |
469 | void | |
470 | ! flush_buffers(typeahead) | |
471 | ! int typeahead; | |
472 | { | |
473 | init_typebuf(); | |
474 | ||
475 | --- 418,429 ---- | |
476 | ||
477 | /* | |
478 | * Remove the contents of the stuff buffer and the mapped characters in the | |
479 | ! * typeahead buffer (used in case of an error). If "flush_typeahead" is true, | |
480 | * flush all typeahead characters (used when interrupted by a CTRL-C). | |
481 | */ | |
482 | void | |
483 | ! flush_buffers(flush_typeahead) | |
484 | ! int flush_typeahead; | |
485 | { | |
486 | init_typebuf(); | |
487 | ||
488 | *************** | |
489 | *** 431,437 **** | |
490 | while (read_stuff(TRUE) != NUL) | |
491 | ; | |
492 | ||
493 | ! if (typeahead) /* remove all typeahead */ | |
494 | { | |
495 | /* | |
496 | * We have to get all characters, because we may delete the first part | |
497 | --- 431,437 ---- | |
498 | while (read_stuff(TRUE) != NUL) | |
499 | ; | |
500 | ||
501 | ! if (flush_typeahead) /* remove all typeahead */ | |
502 | { | |
503 | /* | |
504 | * We have to get all characters, because we may delete the first part | |
505 | *** ../vim-7.3.399/src/message.c 2011-12-30 14:14:16.000000000 +0100 | |
506 | --- src/message.c 2012-01-10 22:03:56.000000000 +0100 | |
507 | *************** | |
508 | *** 2487,2493 **** | |
509 | #ifdef FEAT_CON_DIALOG | |
510 | int retval = FALSE; | |
511 | #endif | |
512 | ! int scroll; | |
513 | msgchunk_T *mp_last = NULL; | |
514 | msgchunk_T *mp; | |
515 | int i; | |
516 | --- 2487,2493 ---- | |
517 | #ifdef FEAT_CON_DIALOG | |
518 | int retval = FALSE; | |
519 | #endif | |
520 | ! int toscroll; | |
521 | msgchunk_T *mp_last = NULL; | |
522 | msgchunk_T *mp; | |
523 | int i; | |
524 | *************** | |
525 | *** 2538,2586 **** | |
526 | } | |
527 | #endif | |
528 | ||
529 | ! scroll = 0; | |
530 | switch (c) | |
531 | { | |
532 | case BS: /* scroll one line back */ | |
533 | case K_BS: | |
534 | case 'k': | |
535 | case K_UP: | |
536 | ! scroll = -1; | |
537 | break; | |
538 | ||
539 | case CAR: /* one extra line */ | |
540 | case NL: | |
541 | case 'j': | |
542 | case K_DOWN: | |
543 | ! scroll = 1; | |
544 | break; | |
545 | ||
546 | case 'u': /* Up half a page */ | |
547 | ! scroll = -(Rows / 2); | |
548 | break; | |
549 | ||
550 | case 'd': /* Down half a page */ | |
551 | ! scroll = Rows / 2; | |
552 | break; | |
553 | ||
554 | case 'b': /* one page back */ | |
555 | case K_PAGEUP: | |
556 | ! scroll = -(Rows - 1); | |
557 | break; | |
558 | ||
559 | case ' ': /* one extra page */ | |
560 | case 'f': | |
561 | case K_PAGEDOWN: | |
562 | case K_LEFTMOUSE: | |
563 | ! scroll = Rows - 1; | |
564 | break; | |
565 | ||
566 | case 'g': /* all the way back to the start */ | |
567 | ! scroll = -999999; | |
568 | break; | |
569 | ||
570 | case 'G': /* all the way to the end */ | |
571 | ! scroll = 999999; | |
572 | lines_left = 999999; | |
573 | break; | |
574 | ||
575 | --- 2538,2586 ---- | |
576 | } | |
577 | #endif | |
578 | ||
579 | ! toscroll = 0; | |
580 | switch (c) | |
581 | { | |
582 | case BS: /* scroll one line back */ | |
583 | case K_BS: | |
584 | case 'k': | |
585 | case K_UP: | |
586 | ! toscroll = -1; | |
587 | break; | |
588 | ||
589 | case CAR: /* one extra line */ | |
590 | case NL: | |
591 | case 'j': | |
592 | case K_DOWN: | |
593 | ! toscroll = 1; | |
594 | break; | |
595 | ||
596 | case 'u': /* Up half a page */ | |
597 | ! toscroll = -(Rows / 2); | |
598 | break; | |
599 | ||
600 | case 'd': /* Down half a page */ | |
601 | ! toscroll = Rows / 2; | |
602 | break; | |
603 | ||
604 | case 'b': /* one page back */ | |
605 | case K_PAGEUP: | |
606 | ! toscroll = -(Rows - 1); | |
607 | break; | |
608 | ||
609 | case ' ': /* one extra page */ | |
610 | case 'f': | |
611 | case K_PAGEDOWN: | |
612 | case K_LEFTMOUSE: | |
613 | ! toscroll = Rows - 1; | |
614 | break; | |
615 | ||
616 | case 'g': /* all the way back to the start */ | |
617 | ! toscroll = -999999; | |
618 | break; | |
619 | ||
620 | case 'G': /* all the way to the end */ | |
621 | ! toscroll = 999999; | |
622 | lines_left = 999999; | |
623 | break; | |
624 | ||
625 | *************** | |
626 | *** 2633,2641 **** | |
627 | continue; | |
628 | } | |
629 | ||
630 | ! if (scroll != 0) | |
631 | { | |
632 | ! if (scroll < 0) | |
633 | { | |
634 | /* go to start of last line */ | |
635 | if (mp_last == NULL) | |
636 | --- 2633,2641 ---- | |
637 | continue; | |
638 | } | |
639 | ||
640 | ! if (toscroll != 0) | |
641 | { | |
642 | ! if (toscroll < 0) | |
643 | { | |
644 | /* go to start of last line */ | |
645 | if (mp_last == NULL) | |
646 | *************** | |
647 | *** 2653,2659 **** | |
648 | if (mp != NULL && mp->sb_prev != NULL) | |
649 | { | |
650 | /* Find line to be displayed at top. */ | |
651 | ! for (i = 0; i > scroll; --i) | |
652 | { | |
653 | if (mp == NULL || mp->sb_prev == NULL) | |
654 | break; | |
655 | --- 2653,2659 ---- | |
656 | if (mp != NULL && mp->sb_prev != NULL) | |
657 | { | |
658 | /* Find line to be displayed at top. */ | |
659 | ! for (i = 0; i > toscroll; --i) | |
660 | { | |
661 | if (mp == NULL || mp->sb_prev == NULL) | |
662 | break; | |
663 | *************** | |
664 | *** 2664,2670 **** | |
665 | mp_last = msg_sb_start(mp_last->sb_prev); | |
666 | } | |
667 | ||
668 | ! if (scroll == -1 && screen_ins_lines(0, 0, 1, | |
669 | (int)Rows, NULL) == OK) | |
670 | { | |
671 | /* display line at top */ | |
672 | --- 2664,2670 ---- | |
673 | mp_last = msg_sb_start(mp_last->sb_prev); | |
674 | } | |
675 | ||
676 | ! if (toscroll == -1 && screen_ins_lines(0, 0, 1, | |
677 | (int)Rows, NULL) == OK) | |
678 | { | |
679 | /* display line at top */ | |
680 | *************** | |
681 | *** 2680,2692 **** | |
682 | ++msg_scrolled; | |
683 | } | |
684 | } | |
685 | ! scroll = 0; | |
686 | } | |
687 | } | |
688 | else | |
689 | { | |
690 | /* First display any text that we scrolled back. */ | |
691 | ! while (scroll > 0 && mp_last != NULL) | |
692 | { | |
693 | /* scroll up, display line at bottom */ | |
694 | msg_scroll_up(); | |
695 | --- 2680,2692 ---- | |
696 | ++msg_scrolled; | |
697 | } | |
698 | } | |
699 | ! toscroll = 0; | |
700 | } | |
701 | } | |
702 | else | |
703 | { | |
704 | /* First display any text that we scrolled back. */ | |
705 | ! while (toscroll > 0 && mp_last != NULL) | |
706 | { | |
707 | /* scroll up, display line at bottom */ | |
708 | msg_scroll_up(); | |
709 | *************** | |
710 | *** 2694,2704 **** | |
711 | screen_fill((int)Rows - 2, (int)Rows - 1, 0, | |
712 | (int)Columns, ' ', ' ', 0); | |
713 | mp_last = disp_sb_line((int)Rows - 2, mp_last); | |
714 | ! --scroll; | |
715 | } | |
716 | } | |
717 | ||
718 | ! if (scroll <= 0) | |
719 | { | |
720 | /* displayed the requested text, more prompt again */ | |
721 | screen_fill((int)Rows - 1, (int)Rows, 0, | |
722 | --- 2694,2704 ---- | |
723 | screen_fill((int)Rows - 2, (int)Rows - 1, 0, | |
724 | (int)Columns, ' ', ' ', 0); | |
725 | mp_last = disp_sb_line((int)Rows - 2, mp_last); | |
726 | ! --toscroll; | |
727 | } | |
728 | } | |
729 | ||
730 | ! if (toscroll <= 0) | |
731 | { | |
732 | /* displayed the requested text, more prompt again */ | |
733 | screen_fill((int)Rows - 1, (int)Rows, 0, | |
734 | *************** | |
735 | *** 2708,2714 **** | |
736 | } | |
737 | ||
738 | /* display more text, return to caller */ | |
739 | ! lines_left = scroll; | |
740 | } | |
741 | ||
742 | break; | |
743 | --- 2708,2714 ---- | |
744 | } | |
745 | ||
746 | /* display more text, return to caller */ | |
747 | ! lines_left = toscroll; | |
748 | } | |
749 | ||
750 | break; | |
751 | *** ../vim-7.3.399/src/misc2.c 2012-01-10 16:28:41.000000000 +0100 | |
752 | --- src/misc2.c 2012-01-10 22:04:25.000000000 +0100 | |
753 | *************** | |
754 | *** 1559,1565 **** | |
755 | if (enc_utf8) | |
756 | { | |
757 | int c, uc; | |
758 | ! int nl; | |
759 | char_u *s; | |
760 | ||
761 | c = utf_ptr2char(p); | |
762 | --- 1559,1565 ---- | |
763 | if (enc_utf8) | |
764 | { | |
765 | int c, uc; | |
766 | ! int newl; | |
767 | char_u *s; | |
768 | ||
769 | c = utf_ptr2char(p); | |
770 | *************** | |
771 | *** 1568,1588 **** | |
772 | /* Reallocate string when byte count changes. This is rare, | |
773 | * thus it's OK to do another malloc()/free(). */ | |
774 | l = utf_ptr2len(p); | |
775 | ! nl = utf_char2len(uc); | |
776 | ! if (nl != l) | |
777 | { | |
778 | ! s = alloc((unsigned)STRLEN(res) + 1 + nl - l); | |
779 | if (s == NULL) | |
780 | break; | |
781 | mch_memmove(s, res, p - res); | |
782 | ! STRCPY(s + (p - res) + nl, p + l); | |
783 | p = s + (p - res); | |
784 | vim_free(res); | |
785 | res = s; | |
786 | } | |
787 | ||
788 | utf_char2bytes(uc, p); | |
789 | ! p += nl; | |
790 | } | |
791 | else if (has_mbyte && (l = (*mb_ptr2len)(p)) > 1) | |
792 | p += l; /* skip multi-byte character */ | |
793 | --- 1568,1588 ---- | |
794 | /* Reallocate string when byte count changes. This is rare, | |
795 | * thus it's OK to do another malloc()/free(). */ | |
796 | l = utf_ptr2len(p); | |
797 | ! newl = utf_char2len(uc); | |
798 | ! if (newl != l) | |
799 | { | |
800 | ! s = alloc((unsigned)STRLEN(res) + 1 + newl - l); | |
801 | if (s == NULL) | |
802 | break; | |
803 | mch_memmove(s, res, p - res); | |
804 | ! STRCPY(s + (p - res) + newl, p + l); | |
805 | p = s + (p - res); | |
806 | vim_free(res); | |
807 | res = s; | |
808 | } | |
809 | ||
810 | utf_char2bytes(uc, p); | |
811 | ! p += newl; | |
812 | } | |
813 | else if (has_mbyte && (l = (*mb_ptr2len)(p)) > 1) | |
814 | p += l; /* skip multi-byte character */ | |
815 | *** ../vim-7.3.399/src/move.c 2011-02-01 18:01:06.000000000 +0100 | |
816 | --- src/move.c 2012-01-10 22:05:22.000000000 +0100 | |
817 | *************** | |
818 | *** 926,933 **** | |
819 | * Also updates curwin->w_leftcol. | |
820 | */ | |
821 | void | |
822 | ! curs_columns(scroll) | |
823 | ! int scroll; /* when TRUE, may scroll horizontally */ | |
824 | { | |
825 | int diff; | |
826 | int extra; /* offset for first screen line */ | |
827 | --- 926,933 ---- | |
828 | * Also updates curwin->w_leftcol. | |
829 | */ | |
830 | void | |
831 | ! curs_columns(may_scroll) | |
832 | ! int may_scroll; /* when TRUE, may scroll horizontally */ | |
833 | { | |
834 | int diff; | |
835 | int extra; /* offset for first screen line */ | |
836 | *************** | |
837 | *** 1014,1020 **** | |
838 | /* No line wrapping: compute curwin->w_leftcol if scrolling is on and line | |
839 | * is not folded. | |
840 | * If scrolling is off, curwin->w_leftcol is assumed to be 0 */ | |
841 | ! else if (scroll | |
842 | #ifdef FEAT_FOLDING | |
843 | && !curwin->w_cline_folded | |
844 | #endif | |
845 | --- 1014,1020 ---- | |
846 | /* No line wrapping: compute curwin->w_leftcol if scrolling is on and line | |
847 | * is not folded. | |
848 | * If scrolling is off, curwin->w_leftcol is assumed to be 0 */ | |
849 | ! else if (may_scroll | |
850 | #ifdef FEAT_FOLDING | |
851 | && !curwin->w_cline_folded | |
852 | #endif | |
853 | *** ../vim-7.3.399/src/netbeans.c 2011-10-20 21:58:20.000000000 +0200 | |
854 | --- src/netbeans.c 2012-01-10 22:16:26.000000000 +0100 | |
855 | *************** | |
856 | *** 1395,1401 **** | |
857 | int cmdno, | |
858 | char_u *args) /* points to space before arguments or NUL */ | |
859 | { | |
860 | ! int doupdate = 0; | |
861 | long off = 0; | |
862 | nbbuf_T *buf = nb_get_buf(bufno); | |
863 | static int skip = 0; | |
864 | --- 1395,1401 ---- | |
865 | int cmdno, | |
866 | char_u *args) /* points to space before arguments or NUL */ | |
867 | { | |
868 | ! int do_update = 0; | |
869 | long off = 0; | |
870 | nbbuf_T *buf = nb_get_buf(bufno); | |
871 | static int skip = 0; | |
872 | *************** | |
873 | *** 1600,1606 **** | |
874 | last.lnum, last.col)); | |
875 | del_from_lnum = first.lnum; | |
876 | del_to_lnum = last.lnum; | |
877 | ! doupdate = 1; | |
878 | ||
879 | /* Get the position of the first byte after the deleted | |
880 | * section. "next" is NULL when deleting to the end of the | |
881 | --- 1600,1606 ---- | |
882 | last.lnum, last.col)); | |
883 | del_from_lnum = first.lnum; | |
884 | del_to_lnum = last.lnum; | |
885 | ! do_update = 1; | |
886 | ||
887 | /* Get the position of the first byte after the deleted | |
888 | * section. "next" is NULL when deleting to the end of the | |
889 | *************** | |
890 | *** 1777,1783 **** | |
891 | lnum = lnum_start; | |
892 | ||
893 | /* Loop over the "\n" separated lines of the argument. */ | |
894 | ! doupdate = 1; | |
895 | while (*args != NUL) | |
896 | { | |
897 | nl = vim_strchr(args, '\n'); | |
898 | --- 1777,1783 ---- | |
899 | lnum = lnum_start; | |
900 | ||
901 | /* Loop over the "\n" separated lines of the argument. */ | |
902 | ! do_update = 1; | |
903 | while (*args != NUL) | |
904 | { | |
905 | nl = vim_strchr(args, '\n'); | |
906 | *************** | |
907 | *** 1992,1998 **** | |
908 | EMSG("E640: invalid buffer identifier in initDone"); | |
909 | return FAIL; | |
910 | } | |
911 | ! doupdate = 1; | |
912 | buf->initDone = TRUE; | |
913 | nb_set_curbuf(buf->bufp); | |
914 | #if defined(FEAT_AUTOCMD) | |
915 | --- 1992,1998 ---- | |
916 | EMSG("E640: invalid buffer identifier in initDone"); | |
917 | return FAIL; | |
918 | } | |
919 | ! do_update = 1; | |
920 | buf->initDone = TRUE; | |
921 | nb_set_curbuf(buf->bufp); | |
922 | #if defined(FEAT_AUTOCMD) | |
923 | *************** | |
924 | *** 2081,2087 **** | |
925 | ECMD_HIDE + ECMD_OLDBUF, curwin); | |
926 | buf->bufp = curbuf; | |
927 | buf->initDone = TRUE; | |
928 | ! doupdate = 1; | |
929 | #if defined(FEAT_TITLE) | |
930 | maketitle(); | |
931 | #endif | |
932 | --- 2081,2087 ---- | |
933 | ECMD_HIDE + ECMD_OLDBUF, curwin); | |
934 | buf->bufp = curbuf; | |
935 | buf->initDone = TRUE; | |
936 | ! do_update = 1; | |
937 | #if defined(FEAT_TITLE) | |
938 | maketitle(); | |
939 | #endif | |
940 | *************** | |
941 | *** 2109,2115 **** | |
942 | exarg.forceit = FALSE; | |
943 | dosetvisible = TRUE; | |
944 | goto_buffer(&exarg, DOBUF_FIRST, FORWARD, buf->bufp->b_fnum); | |
945 | ! doupdate = 1; | |
946 | dosetvisible = FALSE; | |
947 | ||
948 | #ifdef FEAT_GUI | |
949 | --- 2109,2115 ---- | |
950 | exarg.forceit = FALSE; | |
951 | dosetvisible = TRUE; | |
952 | goto_buffer(&exarg, DOBUF_FIRST, FORWARD, buf->bufp->b_fnum); | |
953 | ! do_update = 1; | |
954 | dosetvisible = FALSE; | |
955 | ||
956 | #ifdef FEAT_GUI | |
957 | *************** | |
958 | *** 2309,2315 **** | |
959 | buf->bufp->b_fnum, TRUE); | |
960 | buf->bufp = NULL; | |
961 | buf->initDone = FALSE; | |
962 | ! doupdate = 1; | |
963 | /* =====================================================================*/ | |
964 | } | |
965 | else if (streq((char *)cmd, "setStyle")) /* obsolete... */ | |
966 | --- 2309,2315 ---- | |
967 | buf->bufp->b_fnum, TRUE); | |
968 | buf->bufp = NULL; | |
969 | buf->initDone = FALSE; | |
970 | ! do_update = 1; | |
971 | /* =====================================================================*/ | |
972 | } | |
973 | else if (streq((char *)cmd, "setStyle")) /* obsolete... */ | |
974 | *************** | |
975 | *** 2400,2406 **** | |
976 | return FAIL; | |
977 | } | |
978 | ||
979 | ! doupdate = 1; | |
980 | ||
981 | cp = (char *)args; | |
982 | serNum = strtol(cp, &cp, 10); | |
983 | --- 2400,2406 ---- | |
984 | return FAIL; | |
985 | } | |
986 | ||
987 | ! do_update = 1; | |
988 | ||
989 | cp = (char *)args; | |
990 | serNum = strtol(cp, &cp, 10); | |
991 | *************** | |
992 | *** 2448,2454 **** | |
993 | nbdebug((" invalid buffer identifier in removeAnno\n")); | |
994 | return FAIL; | |
995 | } | |
996 | ! doupdate = 1; | |
997 | cp = (char *)args; | |
998 | serNum = strtol(cp, &cp, 10); | |
999 | args = (char_u *)cp; | |
1000 | --- 2448,2454 ---- | |
1001 | nbdebug((" invalid buffer identifier in removeAnno\n")); | |
1002 | return FAIL; | |
1003 | } | |
1004 | ! do_update = 1; | |
1005 | cp = (char *)args; | |
1006 | serNum = strtol(cp, &cp, 10); | |
1007 | args = (char_u *)cp; | |
1008 | *************** | |
1009 | *** 2493,2499 **** | |
1010 | len = strtol(cp, NULL, 10); | |
1011 | args = (char_u *)cp; | |
1012 | pos = off2pos(buf->bufp, off); | |
1013 | ! doupdate = 1; | |
1014 | if (!pos) | |
1015 | nbdebug((" no such start pos in %s, %ld\n", cmd, off)); | |
1016 | else | |
1017 | --- 2493,2499 ---- | |
1018 | len = strtol(cp, NULL, 10); | |
1019 | args = (char_u *)cp; | |
1020 | pos = off2pos(buf->bufp, off); | |
1021 | ! do_update = 1; | |
1022 | if (!pos) | |
1023 | nbdebug((" no such start pos in %s, %ld\n", cmd, off)); | |
1024 | else | |
1025 | *************** | |
1026 | *** 2555,2561 **** | |
1027 | inAtomic = 0; | |
1028 | if (needupdate) | |
1029 | { | |
1030 | ! doupdate = 1; | |
1031 | needupdate = 0; | |
1032 | } | |
1033 | /* =====================================================================*/ | |
1034 | --- 2555,2561 ---- | |
1035 | inAtomic = 0; | |
1036 | if (needupdate) | |
1037 | { | |
1038 | ! do_update = 1; | |
1039 | needupdate = 0; | |
1040 | } | |
1041 | /* =====================================================================*/ | |
1042 | *************** | |
1043 | *** 2636,2653 **** | |
1044 | * Unrecognized command is ignored. | |
1045 | */ | |
1046 | } | |
1047 | ! if (inAtomic && doupdate) | |
1048 | { | |
1049 | needupdate = 1; | |
1050 | ! doupdate = 0; | |
1051 | } | |
1052 | ||
1053 | /* | |
1054 | * Is this needed? I moved the netbeans_Xt_connect() later during startup | |
1055 | * and it may no longer be necessary. If its not needed then needupdate | |
1056 | ! * and doupdate can also be removed. | |
1057 | */ | |
1058 | ! if (buf != NULL && buf->initDone && doupdate) | |
1059 | { | |
1060 | update_screen(NOT_VALID); | |
1061 | setcursor(); | |
1062 | --- 2636,2653 ---- | |
1063 | * Unrecognized command is ignored. | |
1064 | */ | |
1065 | } | |
1066 | ! if (inAtomic && do_update) | |
1067 | { | |
1068 | needupdate = 1; | |
1069 | ! do_update = 0; | |
1070 | } | |
1071 | ||
1072 | /* | |
1073 | * Is this needed? I moved the netbeans_Xt_connect() later during startup | |
1074 | * and it may no longer be necessary. If its not needed then needupdate | |
1075 | ! * and do_update can also be removed. | |
1076 | */ | |
1077 | ! if (buf != NULL && buf->initDone && do_update) | |
1078 | { | |
1079 | update_screen(NOT_VALID); | |
1080 | setcursor(); | |
1081 | *** ../vim-7.3.399/src/option.c 2012-01-04 19:34:32.000000000 +0100 | |
1082 | --- src/option.c 2012-01-10 22:06:03.000000000 +0100 | |
1083 | *************** | |
1084 | *** 8584,8591 **** | |
1085 | long_u flags; | |
1086 | { | |
1087 | /* Careful: P_RCLR and P_RALL are a combination of other P_ flags */ | |
1088 | ! int clear = (flags & P_RCLR) == P_RCLR; | |
1089 | ! int all = ((flags & P_RALL) == P_RALL || clear); | |
1090 | ||
1091 | #ifdef FEAT_WINDOWS | |
1092 | if ((flags & P_RSTAT) || all) /* mark all status lines dirty */ | |
1093 | --- 8584,8591 ---- | |
1094 | long_u flags; | |
1095 | { | |
1096 | /* Careful: P_RCLR and P_RALL are a combination of other P_ flags */ | |
1097 | ! int doclear = (flags & P_RCLR) == P_RCLR; | |
1098 | ! int all = ((flags & P_RALL) == P_RALL || doclear); | |
1099 | ||
1100 | #ifdef FEAT_WINDOWS | |
1101 | if ((flags & P_RSTAT) || all) /* mark all status lines dirty */ | |
1102 | *************** | |
1103 | *** 8596,8602 **** | |
1104 | changed_window_setting(); | |
1105 | if (flags & P_RBUF) | |
1106 | redraw_curbuf_later(NOT_VALID); | |
1107 | ! if (clear) | |
1108 | redraw_all_later(CLEAR); | |
1109 | else if (all) | |
1110 | redraw_all_later(NOT_VALID); | |
1111 | --- 8596,8602 ---- | |
1112 | changed_window_setting(); | |
1113 | if (flags & P_RBUF) | |
1114 | redraw_curbuf_later(NOT_VALID); | |
1115 | ! if (doclear) | |
1116 | redraw_all_later(CLEAR); | |
1117 | else if (all) | |
1118 | redraw_all_later(NOT_VALID); | |
1119 | *** ../vim-7.3.399/src/os_unix.c 2011-10-20 21:09:25.000000000 +0200 | |
1120 | --- src/os_unix.c 2012-01-10 21:48:49.000000000 +0100 | |
1121 | *************** | |
1122 | *** 3884,3890 **** | |
1123 | char_u *p_shcf_copy = NULL; | |
1124 | int i; | |
1125 | char_u *p; | |
1126 | - char_u *s; | |
1127 | int inquote; | |
1128 | int pty_master_fd = -1; /* for pty's */ | |
1129 | # ifdef FEAT_GUI | |
1130 | --- 3884,3889 ---- | |
1131 | *************** | |
1132 | *** 3963,3968 **** | |
1133 | --- 3962,3969 ---- | |
1134 | } | |
1135 | if (cmd != NULL) | |
1136 | { | |
1137 | + char_u *s; | |
1138 | + | |
1139 | if (extra_shell_arg != NULL) | |
1140 | argv[argc++] = (char *)extra_shell_arg; | |
1141 | ||
1142 | *************** | |
1143 | *** 4325,4331 **** | |
1144 | linenr_T lnum = curbuf->b_op_start.lnum; | |
1145 | int written = 0; | |
1146 | char_u *lp = ml_get(lnum); | |
1147 | - char_u *s; | |
1148 | size_t l; | |
1149 | ||
1150 | close(fromshell_fd); | |
1151 | --- 4326,4331 ---- | |
1152 | *************** | |
1153 | *** 4339,4345 **** | |
1154 | len = write(toshell_fd, "", (size_t)1); | |
1155 | else | |
1156 | { | |
1157 | ! s = vim_strchr(lp + written, NL); | |
1158 | len = write(toshell_fd, (char *)lp + written, | |
1159 | s == NULL ? l | |
1160 | : (size_t)(s - (lp + written))); | |
1161 | --- 4339,4346 ---- | |
1162 | len = write(toshell_fd, "", (size_t)1); | |
1163 | else | |
1164 | { | |
1165 | ! char_u *s = vim_strchr(lp + written, NL); | |
1166 | ! | |
1167 | len = write(toshell_fd, (char *)lp + written, | |
1168 | s == NULL ? l | |
1169 | : (size_t)(s - (lp + written))); | |
1170 | *** ../vim-7.3.399/src/screen.c 2012-01-10 12:42:05.000000000 +0100 | |
1171 | --- src/screen.c 2012-01-10 22:06:51.000000000 +0100 | |
1172 | *************** | |
1173 | *** 7849,7863 **** | |
1174 | ||
1175 | /* | |
1176 | * screen_valid - allocate screen buffers if size changed | |
1177 | ! * If "clear" is TRUE: clear screen if it has been resized. | |
1178 | * Returns TRUE if there is a valid screen to write to. | |
1179 | * Returns FALSE when starting up and screen not initialized yet. | |
1180 | */ | |
1181 | int | |
1182 | ! screen_valid(clear) | |
1183 | ! int clear; | |
1184 | { | |
1185 | ! screenalloc(clear); /* allocate screen buffers if size changed */ | |
1186 | return (ScreenLines != NULL); | |
1187 | } | |
1188 | ||
1189 | --- 7849,7863 ---- | |
1190 | ||
1191 | /* | |
1192 | * screen_valid - allocate screen buffers if size changed | |
1193 | ! * If "doclear" is TRUE: clear screen if it has been resized. | |
1194 | * Returns TRUE if there is a valid screen to write to. | |
1195 | * Returns FALSE when starting up and screen not initialized yet. | |
1196 | */ | |
1197 | int | |
1198 | ! screen_valid(doclear) | |
1199 | ! int doclear; | |
1200 | { | |
1201 | ! screenalloc(doclear); /* allocate screen buffers if size changed */ | |
1202 | return (ScreenLines != NULL); | |
1203 | } | |
1204 | ||
1205 | *************** | |
1206 | *** 7872,7879 **** | |
1207 | * final size of the shell is needed. | |
1208 | */ | |
1209 | void | |
1210 | ! screenalloc(clear) | |
1211 | ! int clear; | |
1212 | { | |
1213 | int new_row, old_row; | |
1214 | #ifdef FEAT_GUI | |
1215 | --- 7872,7879 ---- | |
1216 | * final size of the shell is needed. | |
1217 | */ | |
1218 | void | |
1219 | ! screenalloc(doclear) | |
1220 | ! int doclear; | |
1221 | { | |
1222 | int new_row, old_row; | |
1223 | #ifdef FEAT_GUI | |
1224 | *************** | |
1225 | *** 8069,8075 **** | |
1226 | * (used when resizing the window at the "--more--" prompt or when | |
1227 | * executing an external command, for the GUI). | |
1228 | */ | |
1229 | ! if (!clear) | |
1230 | { | |
1231 | (void)vim_memset(new_ScreenLines + new_row * Columns, | |
1232 | ' ', (size_t)Columns * sizeof(schar_T)); | |
1233 | --- 8069,8075 ---- | |
1234 | * (used when resizing the window at the "--more--" prompt or when | |
1235 | * executing an external command, for the GUI). | |
1236 | */ | |
1237 | ! if (!doclear) | |
1238 | { | |
1239 | (void)vim_memset(new_ScreenLines + new_row * Columns, | |
1240 | ' ', (size_t)Columns * sizeof(schar_T)); | |
1241 | *************** | |
1242 | *** 8159,8165 **** | |
1243 | screen_Columns = Columns; | |
1244 | ||
1245 | must_redraw = CLEAR; /* need to clear the screen later */ | |
1246 | ! if (clear) | |
1247 | screenclear2(); | |
1248 | ||
1249 | #ifdef FEAT_GUI | |
1250 | --- 8159,8165 ---- | |
1251 | screen_Columns = Columns; | |
1252 | ||
1253 | must_redraw = CLEAR; /* need to clear the screen later */ | |
1254 | ! if (doclear) | |
1255 | screenclear2(); | |
1256 | ||
1257 | #ifdef FEAT_GUI | |
1258 | *** ../vim-7.3.399/src/search.c 2011-10-04 17:00:13.000000000 +0200 | |
1259 | --- src/search.c 2012-01-10 22:07:16.000000000 +0100 | |
1260 | *************** | |
1261 | *** 2402,2425 **** | |
1262 | { | |
1263 | if (vim_strchr(p, ';') != NULL) /* there may be comments */ | |
1264 | { | |
1265 | ! int instr = FALSE; /* inside of string */ | |
1266 | ||
1267 | p = line; /* scan from start */ | |
1268 | while ((p = vim_strpbrk(p, (char_u *)"\";")) != NULL) | |
1269 | { | |
1270 | if (*p == '"') | |
1271 | { | |
1272 | ! if (instr) | |
1273 | { | |
1274 | if (*(p - 1) != '\\') /* skip escaped quote */ | |
1275 | ! instr = FALSE; | |
1276 | } | |
1277 | else if (p == line || ((p - line) >= 2 | |
1278 | /* skip #\" form */ | |
1279 | && *(p - 1) != '\\' && *(p - 2) != '#')) | |
1280 | ! instr = TRUE; | |
1281 | } | |
1282 | ! else if (!instr && ((p - line) < 2 | |
1283 | || (*(p - 1) != '\\' && *(p - 2) != '#'))) | |
1284 | break; /* found! */ | |
1285 | ++p; | |
1286 | --- 2402,2425 ---- | |
1287 | { | |
1288 | if (vim_strchr(p, ';') != NULL) /* there may be comments */ | |
1289 | { | |
1290 | ! int in_str = FALSE; /* inside of string */ | |
1291 | ||
1292 | p = line; /* scan from start */ | |
1293 | while ((p = vim_strpbrk(p, (char_u *)"\";")) != NULL) | |
1294 | { | |
1295 | if (*p == '"') | |
1296 | { | |
1297 | ! if (in_str) | |
1298 | { | |
1299 | if (*(p - 1) != '\\') /* skip escaped quote */ | |
1300 | ! in_str = FALSE; | |
1301 | } | |
1302 | else if (p == line || ((p - line) >= 2 | |
1303 | /* skip #\" form */ | |
1304 | && *(p - 1) != '\\' && *(p - 2) != '#')) | |
1305 | ! in_str = TRUE; | |
1306 | } | |
1307 | ! else if (!in_str && ((p - line) < 2 | |
1308 | || (*(p - 1) != '\\' && *(p - 2) != '#'))) | |
1309 | break; /* found! */ | |
1310 | ++p; | |
1311 | *** ../vim-7.3.399/src/spell.c 2012-01-10 16:28:41.000000000 +0100 | |
1312 | --- src/spell.c 2012-01-10 22:09:23.000000000 +0100 | |
1313 | *************** | |
1314 | *** 5049,5055 **** | |
1315 | static int offset2bytes __ARGS((int nr, char_u *buf)); | |
1316 | static int bytes2offset __ARGS((char_u **pp)); | |
1317 | static void sug_write __ARGS((spellinfo_T *spin, char_u *fname)); | |
1318 | ! static void mkspell __ARGS((int fcount, char_u **fnames, int ascii, int overwrite, int added_word)); | |
1319 | static void spell_message __ARGS((spellinfo_T *spin, char_u *str)); | |
1320 | static void init_spellfile __ARGS((void)); | |
1321 | ||
1322 | --- 5049,5055 ---- | |
1323 | static int offset2bytes __ARGS((int nr, char_u *buf)); | |
1324 | static int bytes2offset __ARGS((char_u **pp)); | |
1325 | static void sug_write __ARGS((spellinfo_T *spin, char_u *fname)); | |
1326 | ! static void mkspell __ARGS((int fcount, char_u **fnames, int ascii, int over_write, int added_word)); | |
1327 | static void spell_message __ARGS((spellinfo_T *spin, char_u *str)); | |
1328 | static void init_spellfile __ARGS((void)); | |
1329 | ||
1330 | *************** | |
1331 | *** 9085,9095 **** | |
1332 | * and ".spl" is appended to make the output file name. | |
1333 | */ | |
1334 | static void | |
1335 | ! mkspell(fcount, fnames, ascii, overwrite, added_word) | |
1336 | int fcount; | |
1337 | char_u **fnames; | |
1338 | int ascii; /* -ascii argument given */ | |
1339 | ! int overwrite; /* overwrite existing output file */ | |
1340 | int added_word; /* invoked through "zg" */ | |
1341 | { | |
1342 | char_u *fname = NULL; | |
1343 | --- 9085,9095 ---- | |
1344 | * and ".spl" is appended to make the output file name. | |
1345 | */ | |
1346 | static void | |
1347 | ! mkspell(fcount, fnames, ascii, over_write, added_word) | |
1348 | int fcount; | |
1349 | char_u **fnames; | |
1350 | int ascii; /* -ascii argument given */ | |
1351 | ! int over_write; /* overwrite existing output file */ | |
1352 | int added_word; /* invoked through "zg" */ | |
1353 | { | |
1354 | char_u *fname = NULL; | |
1355 | *************** | |
1356 | *** 9173,9179 **** | |
1357 | { | |
1358 | /* Check for overwriting before doing things that may take a lot of | |
1359 | * time. */ | |
1360 | ! if (!overwrite && mch_stat((char *)wfname, &st) >= 0) | |
1361 | { | |
1362 | EMSG(_(e_exists)); | |
1363 | goto theend; | |
1364 | --- 9173,9179 ---- | |
1365 | { | |
1366 | /* Check for overwriting before doing things that may take a lot of | |
1367 | * time. */ | |
1368 | ! if (!over_write && mch_stat((char *)wfname, &st) >= 0) | |
1369 | { | |
1370 | EMSG(_(e_exists)); | |
1371 | goto theend; | |
1372 | *** ../vim-7.3.399/src/syntax.c 2011-06-19 04:54:17.000000000 +0200 | |
1373 | --- src/syntax.c 2012-01-10 22:10:23.000000000 +0100 | |
1374 | *************** | |
1375 | *** 4006,4022 **** | |
1376 | } | |
1377 | ||
1378 | static void | |
1379 | ! syn_list_flags(nl, flags, attr) | |
1380 | ! struct name_list *nl; | |
1381 | int flags; | |
1382 | int attr; | |
1383 | { | |
1384 | int i; | |
1385 | ||
1386 | ! for (i = 0; nl[i].flag != 0; ++i) | |
1387 | ! if (flags & nl[i].flag) | |
1388 | { | |
1389 | ! msg_puts_attr((char_u *)nl[i].name, attr); | |
1390 | msg_putchar(' '); | |
1391 | } | |
1392 | } | |
1393 | --- 4006,4022 ---- | |
1394 | } | |
1395 | ||
1396 | static void | |
1397 | ! syn_list_flags(nlist, flags, attr) | |
1398 | ! struct name_list *nlist; | |
1399 | int flags; | |
1400 | int attr; | |
1401 | { | |
1402 | int i; | |
1403 | ||
1404 | ! for (i = 0; nlist[i].flag != 0; ++i) | |
1405 | ! if (flags & nlist[i].flag) | |
1406 | { | |
1407 | ! msg_puts_attr((char_u *)nlist[i].name, attr); | |
1408 | msg_putchar(' '); | |
1409 | } | |
1410 | } | |
1411 | *** ../vim-7.3.399/src/tag.c 2011-12-14 14:15:12.000000000 +0100 | |
1412 | --- src/tag.c 2012-01-10 21:51:05.000000000 +0100 | |
1413 | *************** | |
1414 | *** 1353,1359 **** | |
1415 | int match_count = 0; /* number of matches found */ | |
1416 | char_u **matches; | |
1417 | int mtt; | |
1418 | - int len; | |
1419 | int help_save; | |
1420 | #ifdef FEAT_MULTI_LANG | |
1421 | int help_pri = 0; | |
1422 | --- 1353,1358 ---- | |
1423 | *************** | |
1424 | *** 2235,2240 **** | |
1425 | --- 2234,2241 ---- | |
1426 | */ | |
1427 | if (ga_grow(&ga_match[mtt], 1) == OK) | |
1428 | { | |
1429 | + int len; | |
1430 | + | |
1431 | if (help_only) | |
1432 | { | |
1433 | #ifdef FEAT_MULTI_LANG | |
1434 | *** ../vim-7.3.399/src/window.c 2011-12-30 15:01:55.000000000 +0100 | |
1435 | --- src/window.c 2012-01-10 22:11:41.000000000 +0100 | |
1436 | *************** | |
1437 | *** 683,701 **** | |
1438 | } | |
1439 | ||
1440 | /* | |
1441 | ! * When "newwin" is NULL: split the current window in two. | |
1442 | ! * When "newwin" is not NULL: insert this window at the far | |
1443 | * top/left/right/bottom. | |
1444 | * return FAIL for failure, OK otherwise | |
1445 | */ | |
1446 | int | |
1447 | ! win_split_ins(size, flags, newwin, dir) | |
1448 | int size; | |
1449 | int flags; | |
1450 | ! win_T *newwin; | |
1451 | int dir; | |
1452 | { | |
1453 | ! win_T *wp = newwin; | |
1454 | win_T *oldwin; | |
1455 | int new_size = size; | |
1456 | int i; | |
1457 | --- 683,701 ---- | |
1458 | } | |
1459 | ||
1460 | /* | |
1461 | ! * When "new_wp" is NULL: split the current window in two. | |
1462 | ! * When "new_wp" is not NULL: insert this window at the far | |
1463 | * top/left/right/bottom. | |
1464 | * return FAIL for failure, OK otherwise | |
1465 | */ | |
1466 | int | |
1467 | ! win_split_ins(size, flags, new_wp, dir) | |
1468 | int size; | |
1469 | int flags; | |
1470 | ! win_T *new_wp; | |
1471 | int dir; | |
1472 | { | |
1473 | ! win_T *wp = new_wp; | |
1474 | win_T *oldwin; | |
1475 | int new_size = size; | |
1476 | int i; | |
1477 | *************** | |
1478 | *** 718,724 **** | |
1479 | /* add a status line when p_ls == 1 and splitting the first window */ | |
1480 | if (lastwin == firstwin && p_ls == 1 && oldwin->w_status_height == 0) | |
1481 | { | |
1482 | ! if (oldwin->w_height <= p_wmh && newwin == NULL) | |
1483 | { | |
1484 | EMSG(_(e_noroom)); | |
1485 | return FAIL; | |
1486 | --- 718,724 ---- | |
1487 | /* add a status line when p_ls == 1 and splitting the first window */ | |
1488 | if (lastwin == firstwin && p_ls == 1 && oldwin->w_status_height == 0) | |
1489 | { | |
1490 | ! if (oldwin->w_height <= p_wmh && new_wp == NULL) | |
1491 | { | |
1492 | EMSG(_(e_noroom)); | |
1493 | return FAIL; | |
1494 | *************** | |
1495 | *** 751,757 **** | |
1496 | } | |
1497 | else | |
1498 | available = oldwin->w_width; | |
1499 | ! if (available < needed && newwin == NULL) | |
1500 | { | |
1501 | EMSG(_(e_noroom)); | |
1502 | return FAIL; | |
1503 | --- 751,757 ---- | |
1504 | } | |
1505 | else | |
1506 | available = oldwin->w_width; | |
1507 | ! if (available < needed && new_wp == NULL) | |
1508 | { | |
1509 | EMSG(_(e_noroom)); | |
1510 | return FAIL; | |
1511 | *************** | |
1512 | *** 815,821 **** | |
1513 | available = oldwin->w_height; | |
1514 | needed += p_wmh; | |
1515 | } | |
1516 | ! if (available < needed && newwin == NULL) | |
1517 | { | |
1518 | EMSG(_(e_noroom)); | |
1519 | return FAIL; | |
1520 | --- 815,821 ---- | |
1521 | available = oldwin->w_height; | |
1522 | needed += p_wmh; | |
1523 | } | |
1524 | ! if (available < needed && new_wp == NULL) | |
1525 | { | |
1526 | EMSG(_(e_noroom)); | |
1527 | return FAIL; | |
1528 | *************** | |
1529 | *** 888,907 **** | |
1530 | p_sb)))) | |
1531 | { | |
1532 | /* new window below/right of current one */ | |
1533 | ! if (newwin == NULL) | |
1534 | wp = win_alloc(oldwin, FALSE); | |
1535 | else | |
1536 | win_append(oldwin, wp); | |
1537 | } | |
1538 | else | |
1539 | { | |
1540 | ! if (newwin == NULL) | |
1541 | wp = win_alloc(oldwin->w_prev, FALSE); | |
1542 | else | |
1543 | win_append(oldwin->w_prev, wp); | |
1544 | } | |
1545 | ||
1546 | ! if (newwin == NULL) | |
1547 | { | |
1548 | if (wp == NULL) | |
1549 | return FAIL; | |
1550 | --- 888,907 ---- | |
1551 | p_sb)))) | |
1552 | { | |
1553 | /* new window below/right of current one */ | |
1554 | ! if (new_wp == NULL) | |
1555 | wp = win_alloc(oldwin, FALSE); | |
1556 | else | |
1557 | win_append(oldwin, wp); | |
1558 | } | |
1559 | else | |
1560 | { | |
1561 | ! if (new_wp == NULL) | |
1562 | wp = win_alloc(oldwin->w_prev, FALSE); | |
1563 | else | |
1564 | win_append(oldwin->w_prev, wp); | |
1565 | } | |
1566 | ||
1567 | ! if (new_wp == NULL) | |
1568 | { | |
1569 | if (wp == NULL) | |
1570 | return FAIL; | |
1571 | *************** | |
1572 | *** 972,981 **** | |
1573 | frp->fr_parent = curfrp; | |
1574 | } | |
1575 | ||
1576 | ! if (newwin == NULL) | |
1577 | frp = wp->w_frame; | |
1578 | else | |
1579 | ! frp = newwin->w_frame; | |
1580 | frp->fr_parent = curfrp->fr_parent; | |
1581 | ||
1582 | /* Insert the new frame at the right place in the frame list. */ | |
1583 | --- 972,981 ---- | |
1584 | frp->fr_parent = curfrp; | |
1585 | } | |
1586 | ||
1587 | ! if (new_wp == NULL) | |
1588 | frp = wp->w_frame; | |
1589 | else | |
1590 | ! frp = new_wp->w_frame; | |
1591 | frp->fr_parent = curfrp->fr_parent; | |
1592 | ||
1593 | /* Insert the new frame at the right place in the frame list. */ | |
1594 | *************** | |
1595 | *** 4284,4302 **** | |
1596 | win_T *after UNUSED; | |
1597 | int hidden UNUSED; | |
1598 | { | |
1599 | ! win_T *newwin; | |
1600 | ||
1601 | /* | |
1602 | * allocate window structure and linesizes arrays | |
1603 | */ | |
1604 | ! newwin = (win_T *)alloc_clear((unsigned)sizeof(win_T)); | |
1605 | ! if (newwin != NULL && win_alloc_lines(newwin) == FAIL) | |
1606 | { | |
1607 | ! vim_free(newwin); | |
1608 | ! newwin = NULL; | |
1609 | } | |
1610 | ||
1611 | ! if (newwin != NULL) | |
1612 | { | |
1613 | #ifdef FEAT_AUTOCMD | |
1614 | /* Don't execute autocommands while the window is not properly | |
1615 | --- 4284,4302 ---- | |
1616 | win_T *after UNUSED; | |
1617 | int hidden UNUSED; | |
1618 | { | |
1619 | ! win_T *new_wp; | |
1620 | ||
1621 | /* | |
1622 | * allocate window structure and linesizes arrays | |
1623 | */ | |
1624 | ! new_wp = (win_T *)alloc_clear((unsigned)sizeof(win_T)); | |
1625 | ! if (new_wp != NULL && win_alloc_lines(new_wp) == FAIL) | |
1626 | { | |
1627 | ! vim_free(new_wp); | |
1628 | ! new_wp = NULL; | |
1629 | } | |
1630 | ||
1631 | ! if (new_wp != NULL) | |
1632 | { | |
1633 | #ifdef FEAT_AUTOCMD | |
1634 | /* Don't execute autocommands while the window is not properly | |
1635 | *************** | |
1636 | *** 4309,4361 **** | |
1637 | */ | |
1638 | #ifdef FEAT_WINDOWS | |
1639 | if (!hidden) | |
1640 | ! win_append(after, newwin); | |
1641 | #endif | |
1642 | #ifdef FEAT_VERTSPLIT | |
1643 | ! newwin->w_wincol = 0; | |
1644 | ! newwin->w_width = Columns; | |
1645 | #endif | |
1646 | ||
1647 | /* position the display and the cursor at the top of the file. */ | |
1648 | ! newwin->w_topline = 1; | |
1649 | #ifdef FEAT_DIFF | |
1650 | ! newwin->w_topfill = 0; | |
1651 | #endif | |
1652 | ! newwin->w_botline = 2; | |
1653 | ! newwin->w_cursor.lnum = 1; | |
1654 | #ifdef FEAT_SCROLLBIND | |
1655 | ! newwin->w_scbind_pos = 1; | |
1656 | #endif | |
1657 | ||
1658 | /* We won't calculate w_fraction until resizing the window */ | |
1659 | ! newwin->w_fraction = 0; | |
1660 | ! newwin->w_prev_fraction_row = -1; | |
1661 | ||
1662 | #ifdef FEAT_GUI | |
1663 | if (gui.in_use) | |
1664 | { | |
1665 | ! gui_create_scrollbar(&newwin->w_scrollbars[SBAR_LEFT], | |
1666 | ! SBAR_LEFT, newwin); | |
1667 | ! gui_create_scrollbar(&newwin->w_scrollbars[SBAR_RIGHT], | |
1668 | ! SBAR_RIGHT, newwin); | |
1669 | } | |
1670 | #endif | |
1671 | #ifdef FEAT_EVAL | |
1672 | /* init w: variables */ | |
1673 | ! init_var_dict(&newwin->w_vars, &newwin->w_winvar); | |
1674 | #endif | |
1675 | #ifdef FEAT_FOLDING | |
1676 | ! foldInitWin(newwin); | |
1677 | #endif | |
1678 | #ifdef FEAT_AUTOCMD | |
1679 | unblock_autocmds(); | |
1680 | #endif | |
1681 | #ifdef FEAT_SEARCH_EXTRA | |
1682 | ! newwin->w_match_head = NULL; | |
1683 | ! newwin->w_next_match_id = 4; | |
1684 | #endif | |
1685 | } | |
1686 | ! return newwin; | |
1687 | } | |
1688 | ||
1689 | #if defined(FEAT_WINDOWS) || defined(PROTO) | |
1690 | --- 4309,4361 ---- | |
1691 | */ | |
1692 | #ifdef FEAT_WINDOWS | |
1693 | if (!hidden) | |
1694 | ! win_append(after, new_wp); | |
1695 | #endif | |
1696 | #ifdef FEAT_VERTSPLIT | |
1697 | ! new_wp->w_wincol = 0; | |
1698 | ! new_wp->w_width = Columns; | |
1699 | #endif | |
1700 | ||
1701 | /* position the display and the cursor at the top of the file. */ | |
1702 | ! new_wp->w_topline = 1; | |
1703 | #ifdef FEAT_DIFF | |
1704 | ! new_wp->w_topfill = 0; | |
1705 | #endif | |
1706 | ! new_wp->w_botline = 2; | |
1707 | ! new_wp->w_cursor.lnum = 1; | |
1708 | #ifdef FEAT_SCROLLBIND | |
1709 | ! new_wp->w_scbind_pos = 1; | |
1710 | #endif | |
1711 | ||
1712 | /* We won't calculate w_fraction until resizing the window */ | |
1713 | ! new_wp->w_fraction = 0; | |
1714 | ! new_wp->w_prev_fraction_row = -1; | |
1715 | ||
1716 | #ifdef FEAT_GUI | |
1717 | if (gui.in_use) | |
1718 | { | |
1719 | ! gui_create_scrollbar(&new_wp->w_scrollbars[SBAR_LEFT], | |
1720 | ! SBAR_LEFT, new_wp); | |
1721 | ! gui_create_scrollbar(&new_wp->w_scrollbars[SBAR_RIGHT], | |
1722 | ! SBAR_RIGHT, new_wp); | |
1723 | } | |
1724 | #endif | |
1725 | #ifdef FEAT_EVAL | |
1726 | /* init w: variables */ | |
1727 | ! init_var_dict(&new_wp->w_vars, &new_wp->w_winvar); | |
1728 | #endif | |
1729 | #ifdef FEAT_FOLDING | |
1730 | ! foldInitWin(new_wp); | |
1731 | #endif | |
1732 | #ifdef FEAT_AUTOCMD | |
1733 | unblock_autocmds(); | |
1734 | #endif | |
1735 | #ifdef FEAT_SEARCH_EXTRA | |
1736 | ! new_wp->w_match_head = NULL; | |
1737 | ! new_wp->w_next_match_id = 4; | |
1738 | #endif | |
1739 | } | |
1740 | ! return new_wp; | |
1741 | } | |
1742 | ||
1743 | #if defined(FEAT_WINDOWS) || defined(PROTO) | |
1744 | *** ../vim-7.3.399/src/version.c 2012-01-10 18:37:53.000000000 +0100 | |
1745 | --- src/version.c 2012-01-10 22:23:10.000000000 +0100 | |
1746 | *************** | |
1747 | *** 716,717 **** | |
1748 | --- 716,719 ---- | |
1749 | { /* Add new patch number below this line */ | |
1750 | + /**/ | |
1751 | + 400, | |
1752 | /**/ | |
1753 | ||
1754 | -- | |
1755 | A parent can be arrested if his child cannot hold back a burp during a church | |
1756 | service. | |
1757 | [real standing law in Nebraska, United States of America] | |
1758 | ||
1759 | /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ | |
1760 | /// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ | |
1761 | \\\ an exciting new programming language -- http://www.Zimbu.org /// | |
1762 | \\\ help me help AIDS victims -- http://ICCF-Holland.org /// |