To: vim_dev@googlegroups.com Subject: Patch 7.3.400 Fcc: outbox From: Bram Moolenaar Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ------------ Patch 7.3.400 Problem: Compiler warnings for shadowed variables. Solution: Remove or rename the variables. Files: src/charset.c, src/digraph.c, src/edit.c, src/eval.c, src/fold.c, src/getchar.c, src/message.c, src/misc2.c, src/move.c, src/netbeans.c, src/option.c, src/os_unix.c, src/screen.c, src/search.c, src/spell.c, src/syntax.c, src/tag.c, src/window.c *** ../vim-7.3.399/src/charset.c 2010-08-15 21:57:25.000000000 +0200 --- src/charset.c 2012-01-10 21:55:50.000000000 +0100 *************** *** 463,503 **** if (enc_utf8) { int c = utf_ptr2char(STR_PTR(i)); ! int ol = utf_ptr2len(STR_PTR(i)); int lc = utf_tolower(c); /* Only replace the character when it is not an invalid * sequence (ASCII character or more than one byte) and * utf_tolower() doesn't return the original character. */ ! if ((c < 0x80 || ol > 1) && c != lc) { ! int nl = utf_char2len(lc); /* If the byte length changes need to shift the following * characters forward or backward. */ ! if (ol != nl) { ! if (nl > ol) { ! if (buf == NULL ? ga_grow(&ga, nl - ol + 1) == FAIL ! : len + nl - ol >= buflen) { /* out of memory, keep old char */ lc = c; ! nl = ol; } } ! if (ol != nl) { if (buf == NULL) { ! STRMOVE(GA_PTR(i) + nl, GA_PTR(i) + ol); ! ga.ga_len += nl - ol; } else { ! STRMOVE(buf + i + nl, buf + i + ol); ! len += nl - ol; } } } --- 463,504 ---- if (enc_utf8) { int c = utf_ptr2char(STR_PTR(i)); ! int olen = utf_ptr2len(STR_PTR(i)); int lc = utf_tolower(c); /* Only replace the character when it is not an invalid * sequence (ASCII character or more than one byte) and * utf_tolower() doesn't return the original character. */ ! if ((c < 0x80 || olen > 1) && c != lc) { ! int nlen = utf_char2len(lc); /* If the byte length changes need to shift the following * characters forward or backward. */ ! if (olen != nlen) { ! if (nlen > olen) { ! if (buf == NULL ! ? ga_grow(&ga, nlen - olen + 1) == FAIL ! : len + nlen - olen >= buflen) { /* out of memory, keep old char */ lc = c; ! nlen = olen; } } ! if (olen != nlen) { if (buf == NULL) { ! STRMOVE(GA_PTR(i) + nlen, GA_PTR(i) + olen); ! ga.ga_len += nlen - olen; } else { ! STRMOVE(buf + i + nlen, buf + i + olen); ! len += nlen - olen; } } } *** ../vim-7.3.399/src/digraph.c 2010-08-15 21:57:28.000000000 +0200 --- src/digraph.c 2012-01-10 21:57:16.000000000 +0100 *************** *** 2080,2092 **** /* * Lookup the pair "char1", "char2" in the digraph tables. * If no match, return "char2". ! * If "meta" is TRUE and "char1" is a space, return "char2" | 0x80. */ static int ! getexactdigraph(char1, char2, meta) int char1; int char2; ! int meta; { int i; int retval = 0; --- 2080,2092 ---- /* * Lookup the pair "char1", "char2" in the digraph tables. * If no match, return "char2". ! * If "meta_char" is TRUE and "char1" is a space, return "char2" | 0x80. */ static int ! getexactdigraph(char1, char2, meta_char) int char1; int char2; ! int meta_char; { int i; int retval = 0; *************** *** 2159,2165 **** if (retval == 0) /* digraph deleted or not found */ { ! if (char1 == ' ' && meta) /* --> meta-char */ return (char2 | 0x80); return char2; } --- 2159,2165 ---- if (retval == 0) /* digraph deleted or not found */ { ! if (char1 == ' ' && meta_char) /* --> meta-char */ return (char2 | 0x80); return char2; } *************** *** 2171,2186 **** * Allow for both char1-char2 and char2-char1 */ int ! getdigraph(char1, char2, meta) int char1; int char2; ! int meta; { int retval; ! if (((retval = getexactdigraph(char1, char2, meta)) == char2) && (char1 != char2) ! && ((retval = getexactdigraph(char2, char1, meta)) == char1)) return char2; return retval; } --- 2171,2186 ---- * Allow for both char1-char2 and char2-char1 */ int ! getdigraph(char1, char2, meta_char) int char1; int char2; ! int meta_char; { int retval; ! if (((retval = getexactdigraph(char1, char2, meta_char)) == char2) && (char1 != char2) ! && ((retval = getexactdigraph(char2, char1, meta_char)) == char1)) return char2; return retval; } *** ../vim-7.3.399/src/edit.c 2011-12-23 13:14:58.000000000 +0100 --- src/edit.c 2012-01-10 21:58:28.000000000 +0100 *************** *** 4003,4026 **** ins_compl_add_dict(dict) dict_T *dict; { ! dictitem_T *refresh; ! dictitem_T *words; /* Check for optional "refresh" item. */ compl_opt_refresh_always = FALSE; ! refresh = dict_find(dict, (char_u *)"refresh", 7); ! if (refresh != NULL && refresh->di_tv.v_type == VAR_STRING) { ! char_u *v = refresh->di_tv.vval.v_string; if (v != NULL && STRCMP(v, (char_u *)"always") == 0) compl_opt_refresh_always = TRUE; } /* Add completions from a "words" list. */ ! words = dict_find(dict, (char_u *)"words", 5); ! if (words != NULL && words->di_tv.v_type == VAR_LIST) ! ins_compl_add_list(words->di_tv.vval.v_list); } /* --- 4003,4026 ---- ins_compl_add_dict(dict) dict_T *dict; { ! dictitem_T *di_refresh; ! dictitem_T *di_words; /* Check for optional "refresh" item. */ compl_opt_refresh_always = FALSE; ! di_refresh = dict_find(dict, (char_u *)"refresh", 7); ! if (di_refresh != NULL && di_refresh->di_tv.v_type == VAR_STRING) { ! char_u *v = di_refresh->di_tv.vval.v_string; if (v != NULL && STRCMP(v, (char_u *)"always") == 0) compl_opt_refresh_always = TRUE; } /* Add completions from a "words" list. */ ! di_words = dict_find(dict, (char_u *)"words", 5); ! if (di_words != NULL && di_words->di_tv.v_type == VAR_LIST) ! ins_compl_add_list(di_words->di_tv.vval.v_list); } /* *** ../vim-7.3.399/src/eval.c 2012-01-04 14:35:31.000000000 +0100 --- src/eval.c 2012-01-10 22:00:50.000000000 +0100 *************** *** 6573,6587 **** /* * Join list "l" into a string in "*gap", using separator "sep". ! * When "echo" is TRUE use String as echoed, otherwise as inside a List. * Return FAIL or OK. */ static int ! list_join(gap, l, sep, echo, copyID) garray_T *gap; list_T *l; char_u *sep; ! int echo; int copyID; { int first = TRUE; --- 6573,6587 ---- /* * Join list "l" into a string in "*gap", using separator "sep". ! * When "echo_style" is TRUE use String as echoed, otherwise as inside a List. * Return FAIL or OK. */ static int ! list_join(gap, l, sep, echo_style, copyID) garray_T *gap; list_T *l; char_u *sep; ! int echo_style; int copyID; { int first = TRUE; *************** *** 6597,6603 **** else ga_concat(gap, sep); ! if (echo) s = echo_string(&item->li_tv, &tofree, numbuf, copyID); else s = tv2string(&item->li_tv, &tofree, numbuf, copyID); --- 6597,6603 ---- else ga_concat(gap, sep); ! if (echo_style) s = echo_string(&item->li_tv, &tofree, numbuf, copyID); else s = tv2string(&item->li_tv, &tofree, numbuf, copyID); *************** *** 17893,17899 **** typval_T *argvars; typval_T *rettv; { ! char_u *instr; char_u *fromstr; char_u *tostr; char_u *p; --- 17893,17899 ---- typval_T *argvars; typval_T *rettv; { ! char_u *in_str; char_u *fromstr; char_u *tostr; char_u *p; *************** *** 17910,17916 **** char_u buf2[NUMBUFLEN]; garray_T ga; ! instr = get_tv_string(&argvars[0]); fromstr = get_tv_string_buf_chk(&argvars[1], buf); tostr = get_tv_string_buf_chk(&argvars[2], buf2); --- 17910,17916 ---- char_u buf2[NUMBUFLEN]; garray_T ga; ! in_str = get_tv_string(&argvars[0]); fromstr = get_tv_string_buf_chk(&argvars[1], buf); tostr = get_tv_string_buf_chk(&argvars[2], buf2); *************** *** 17936,17954 **** } /* fromstr and tostr have to contain the same number of chars */ ! while (*instr != NUL) { #ifdef FEAT_MBYTE if (has_mbyte) { ! inlen = (*mb_ptr2len)(instr); ! cpstr = instr; cplen = inlen; idx = 0; for (p = fromstr; *p != NUL; p += fromlen) { fromlen = (*mb_ptr2len)(p); ! if (fromlen == inlen && STRNCMP(instr, p, inlen) == 0) { for (p = tostr; *p != NUL; p += tolen) { --- 17936,17954 ---- } /* fromstr and tostr have to contain the same number of chars */ ! while (*in_str != NUL) { #ifdef FEAT_MBYTE if (has_mbyte) { ! inlen = (*mb_ptr2len)(in_str); ! cpstr = in_str; cplen = inlen; idx = 0; for (p = fromstr; *p != NUL; p += fromlen) { fromlen = (*mb_ptr2len)(p); ! if (fromlen == inlen && STRNCMP(in_str, p, inlen) == 0) { for (p = tostr; *p != NUL; p += tolen) { *************** *** 17967,17977 **** ++idx; } ! if (first && cpstr == instr) { /* Check that fromstr and tostr have the same number of * (multi-byte) characters. Done only once when a character ! * of instr doesn't appear in fromstr. */ first = FALSE; for (p = tostr; *p != NUL; p += tolen) { --- 17967,17977 ---- ++idx; } ! if (first && cpstr == in_str) { /* Check that fromstr and tostr have the same number of * (multi-byte) characters. Done only once when a character ! * of in_str doesn't appear in fromstr. */ first = FALSE; for (p = tostr; *p != NUL; p += tolen) { *************** *** 17986,18003 **** mch_memmove((char *)ga.ga_data + ga.ga_len, cpstr, (size_t)cplen); ga.ga_len += cplen; ! instr += inlen; } else #endif { /* When not using multi-byte chars we can do it faster. */ ! p = vim_strchr(fromstr, *instr); if (p != NULL) ga_append(&ga, tostr[p - fromstr]); else ! ga_append(&ga, *instr); ! ++instr; } } --- 17986,18003 ---- mch_memmove((char *)ga.ga_data + ga.ga_len, cpstr, (size_t)cplen); ga.ga_len += cplen; ! in_str += inlen; } else #endif { /* When not using multi-byte chars we can do it faster. */ ! p = vim_strchr(fromstr, *in_str); if (p != NULL) ga_append(&ga, tostr[p - fromstr]); else ! ga_append(&ga, *in_str); ! ++in_str; } } *** ../vim-7.3.399/src/fold.c 2011-08-26 16:12:55.000000000 +0200 --- src/fold.c 2012-01-10 22:01:26.000000000 +0100 *************** *** 1033,1042 **** * Init the fold info in a new window. */ void ! foldInitWin(newwin) ! win_T *newwin; { ! ga_init2(&newwin->w_folds, (int)sizeof(fold_T), 10); } /* find_wl_entry() {{{2 */ --- 1033,1042 ---- * Init the fold info in a new window. */ void ! foldInitWin(new_win) ! win_T *new_win; { ! ga_init2(&new_win->w_folds, (int)sizeof(fold_T), 10); } /* find_wl_entry() {{{2 */ *** ../vim-7.3.399/src/getchar.c 2011-12-23 14:54:01.000000000 +0100 --- src/getchar.c 2012-01-10 22:02:30.000000000 +0100 *************** *** 418,429 **** /* * Remove the contents of the stuff buffer and the mapped characters in the ! * typeahead buffer (used in case of an error). If 'typeahead' is true, * flush all typeahead characters (used when interrupted by a CTRL-C). */ void ! flush_buffers(typeahead) ! int typeahead; { init_typebuf(); --- 418,429 ---- /* * Remove the contents of the stuff buffer and the mapped characters in the ! * typeahead buffer (used in case of an error). If "flush_typeahead" is true, * flush all typeahead characters (used when interrupted by a CTRL-C). */ void ! flush_buffers(flush_typeahead) ! int flush_typeahead; { init_typebuf(); *************** *** 431,437 **** while (read_stuff(TRUE) != NUL) ; ! if (typeahead) /* remove all typeahead */ { /* * We have to get all characters, because we may delete the first part --- 431,437 ---- while (read_stuff(TRUE) != NUL) ; ! if (flush_typeahead) /* remove all typeahead */ { /* * We have to get all characters, because we may delete the first part *** ../vim-7.3.399/src/message.c 2011-12-30 14:14:16.000000000 +0100 --- src/message.c 2012-01-10 22:03:56.000000000 +0100 *************** *** 2487,2493 **** #ifdef FEAT_CON_DIALOG int retval = FALSE; #endif ! int scroll; msgchunk_T *mp_last = NULL; msgchunk_T *mp; int i; --- 2487,2493 ---- #ifdef FEAT_CON_DIALOG int retval = FALSE; #endif ! int toscroll; msgchunk_T *mp_last = NULL; msgchunk_T *mp; int i; *************** *** 2538,2586 **** } #endif ! scroll = 0; switch (c) { case BS: /* scroll one line back */ case K_BS: case 'k': case K_UP: ! scroll = -1; break; case CAR: /* one extra line */ case NL: case 'j': case K_DOWN: ! scroll = 1; break; case 'u': /* Up half a page */ ! scroll = -(Rows / 2); break; case 'd': /* Down half a page */ ! scroll = Rows / 2; break; case 'b': /* one page back */ case K_PAGEUP: ! scroll = -(Rows - 1); break; case ' ': /* one extra page */ case 'f': case K_PAGEDOWN: case K_LEFTMOUSE: ! scroll = Rows - 1; break; case 'g': /* all the way back to the start */ ! scroll = -999999; break; case 'G': /* all the way to the end */ ! scroll = 999999; lines_left = 999999; break; --- 2538,2586 ---- } #endif ! toscroll = 0; switch (c) { case BS: /* scroll one line back */ case K_BS: case 'k': case K_UP: ! toscroll = -1; break; case CAR: /* one extra line */ case NL: case 'j': case K_DOWN: ! toscroll = 1; break; case 'u': /* Up half a page */ ! toscroll = -(Rows / 2); break; case 'd': /* Down half a page */ ! toscroll = Rows / 2; break; case 'b': /* one page back */ case K_PAGEUP: ! toscroll = -(Rows - 1); break; case ' ': /* one extra page */ case 'f': case K_PAGEDOWN: case K_LEFTMOUSE: ! toscroll = Rows - 1; break; case 'g': /* all the way back to the start */ ! toscroll = -999999; break; case 'G': /* all the way to the end */ ! toscroll = 999999; lines_left = 999999; break; *************** *** 2633,2641 **** continue; } ! if (scroll != 0) { ! if (scroll < 0) { /* go to start of last line */ if (mp_last == NULL) --- 2633,2641 ---- continue; } ! if (toscroll != 0) { ! if (toscroll < 0) { /* go to start of last line */ if (mp_last == NULL) *************** *** 2653,2659 **** if (mp != NULL && mp->sb_prev != NULL) { /* Find line to be displayed at top. */ ! for (i = 0; i > scroll; --i) { if (mp == NULL || mp->sb_prev == NULL) break; --- 2653,2659 ---- if (mp != NULL && mp->sb_prev != NULL) { /* Find line to be displayed at top. */ ! for (i = 0; i > toscroll; --i) { if (mp == NULL || mp->sb_prev == NULL) break; *************** *** 2664,2670 **** mp_last = msg_sb_start(mp_last->sb_prev); } ! if (scroll == -1 && screen_ins_lines(0, 0, 1, (int)Rows, NULL) == OK) { /* display line at top */ --- 2664,2670 ---- mp_last = msg_sb_start(mp_last->sb_prev); } ! if (toscroll == -1 && screen_ins_lines(0, 0, 1, (int)Rows, NULL) == OK) { /* display line at top */ *************** *** 2680,2692 **** ++msg_scrolled; } } ! scroll = 0; } } else { /* First display any text that we scrolled back. */ ! while (scroll > 0 && mp_last != NULL) { /* scroll up, display line at bottom */ msg_scroll_up(); --- 2680,2692 ---- ++msg_scrolled; } } ! toscroll = 0; } } else { /* First display any text that we scrolled back. */ ! while (toscroll > 0 && mp_last != NULL) { /* scroll up, display line at bottom */ msg_scroll_up(); *************** *** 2694,2704 **** screen_fill((int)Rows - 2, (int)Rows - 1, 0, (int)Columns, ' ', ' ', 0); mp_last = disp_sb_line((int)Rows - 2, mp_last); ! --scroll; } } ! if (scroll <= 0) { /* displayed the requested text, more prompt again */ screen_fill((int)Rows - 1, (int)Rows, 0, --- 2694,2704 ---- screen_fill((int)Rows - 2, (int)Rows - 1, 0, (int)Columns, ' ', ' ', 0); mp_last = disp_sb_line((int)Rows - 2, mp_last); ! --toscroll; } } ! if (toscroll <= 0) { /* displayed the requested text, more prompt again */ screen_fill((int)Rows - 1, (int)Rows, 0, *************** *** 2708,2714 **** } /* display more text, return to caller */ ! lines_left = scroll; } break; --- 2708,2714 ---- } /* display more text, return to caller */ ! lines_left = toscroll; } break; *** ../vim-7.3.399/src/misc2.c 2012-01-10 16:28:41.000000000 +0100 --- src/misc2.c 2012-01-10 22:04:25.000000000 +0100 *************** *** 1559,1565 **** if (enc_utf8) { int c, uc; ! int nl; char_u *s; c = utf_ptr2char(p); --- 1559,1565 ---- if (enc_utf8) { int c, uc; ! int newl; char_u *s; c = utf_ptr2char(p); *************** *** 1568,1588 **** /* Reallocate string when byte count changes. This is rare, * thus it's OK to do another malloc()/free(). */ l = utf_ptr2len(p); ! nl = utf_char2len(uc); ! if (nl != l) { ! s = alloc((unsigned)STRLEN(res) + 1 + nl - l); if (s == NULL) break; mch_memmove(s, res, p - res); ! STRCPY(s + (p - res) + nl, p + l); p = s + (p - res); vim_free(res); res = s; } utf_char2bytes(uc, p); ! p += nl; } else if (has_mbyte && (l = (*mb_ptr2len)(p)) > 1) p += l; /* skip multi-byte character */ --- 1568,1588 ---- /* Reallocate string when byte count changes. This is rare, * thus it's OK to do another malloc()/free(). */ l = utf_ptr2len(p); ! newl = utf_char2len(uc); ! if (newl != l) { ! s = alloc((unsigned)STRLEN(res) + 1 + newl - l); if (s == NULL) break; mch_memmove(s, res, p - res); ! STRCPY(s + (p - res) + newl, p + l); p = s + (p - res); vim_free(res); res = s; } utf_char2bytes(uc, p); ! p += newl; } else if (has_mbyte && (l = (*mb_ptr2len)(p)) > 1) p += l; /* skip multi-byte character */ *** ../vim-7.3.399/src/move.c 2011-02-01 18:01:06.000000000 +0100 --- src/move.c 2012-01-10 22:05:22.000000000 +0100 *************** *** 926,933 **** * Also updates curwin->w_leftcol. */ void ! curs_columns(scroll) ! int scroll; /* when TRUE, may scroll horizontally */ { int diff; int extra; /* offset for first screen line */ --- 926,933 ---- * Also updates curwin->w_leftcol. */ void ! curs_columns(may_scroll) ! int may_scroll; /* when TRUE, may scroll horizontally */ { int diff; int extra; /* offset for first screen line */ *************** *** 1014,1020 **** /* No line wrapping: compute curwin->w_leftcol if scrolling is on and line * is not folded. * If scrolling is off, curwin->w_leftcol is assumed to be 0 */ ! else if (scroll #ifdef FEAT_FOLDING && !curwin->w_cline_folded #endif --- 1014,1020 ---- /* No line wrapping: compute curwin->w_leftcol if scrolling is on and line * is not folded. * If scrolling is off, curwin->w_leftcol is assumed to be 0 */ ! else if (may_scroll #ifdef FEAT_FOLDING && !curwin->w_cline_folded #endif *** ../vim-7.3.399/src/netbeans.c 2011-10-20 21:58:20.000000000 +0200 --- src/netbeans.c 2012-01-10 22:16:26.000000000 +0100 *************** *** 1395,1401 **** int cmdno, char_u *args) /* points to space before arguments or NUL */ { ! int doupdate = 0; long off = 0; nbbuf_T *buf = nb_get_buf(bufno); static int skip = 0; --- 1395,1401 ---- int cmdno, char_u *args) /* points to space before arguments or NUL */ { ! int do_update = 0; long off = 0; nbbuf_T *buf = nb_get_buf(bufno); static int skip = 0; *************** *** 1600,1606 **** last.lnum, last.col)); del_from_lnum = first.lnum; del_to_lnum = last.lnum; ! doupdate = 1; /* Get the position of the first byte after the deleted * section. "next" is NULL when deleting to the end of the --- 1600,1606 ---- last.lnum, last.col)); del_from_lnum = first.lnum; del_to_lnum = last.lnum; ! do_update = 1; /* Get the position of the first byte after the deleted * section. "next" is NULL when deleting to the end of the *************** *** 1777,1783 **** lnum = lnum_start; /* Loop over the "\n" separated lines of the argument. */ ! doupdate = 1; while (*args != NUL) { nl = vim_strchr(args, '\n'); --- 1777,1783 ---- lnum = lnum_start; /* Loop over the "\n" separated lines of the argument. */ ! do_update = 1; while (*args != NUL) { nl = vim_strchr(args, '\n'); *************** *** 1992,1998 **** EMSG("E640: invalid buffer identifier in initDone"); return FAIL; } ! doupdate = 1; buf->initDone = TRUE; nb_set_curbuf(buf->bufp); #if defined(FEAT_AUTOCMD) --- 1992,1998 ---- EMSG("E640: invalid buffer identifier in initDone"); return FAIL; } ! do_update = 1; buf->initDone = TRUE; nb_set_curbuf(buf->bufp); #if defined(FEAT_AUTOCMD) *************** *** 2081,2087 **** ECMD_HIDE + ECMD_OLDBUF, curwin); buf->bufp = curbuf; buf->initDone = TRUE; ! doupdate = 1; #if defined(FEAT_TITLE) maketitle(); #endif --- 2081,2087 ---- ECMD_HIDE + ECMD_OLDBUF, curwin); buf->bufp = curbuf; buf->initDone = TRUE; ! do_update = 1; #if defined(FEAT_TITLE) maketitle(); #endif *************** *** 2109,2115 **** exarg.forceit = FALSE; dosetvisible = TRUE; goto_buffer(&exarg, DOBUF_FIRST, FORWARD, buf->bufp->b_fnum); ! doupdate = 1; dosetvisible = FALSE; #ifdef FEAT_GUI --- 2109,2115 ---- exarg.forceit = FALSE; dosetvisible = TRUE; goto_buffer(&exarg, DOBUF_FIRST, FORWARD, buf->bufp->b_fnum); ! do_update = 1; dosetvisible = FALSE; #ifdef FEAT_GUI *************** *** 2309,2315 **** buf->bufp->b_fnum, TRUE); buf->bufp = NULL; buf->initDone = FALSE; ! doupdate = 1; /* =====================================================================*/ } else if (streq((char *)cmd, "setStyle")) /* obsolete... */ --- 2309,2315 ---- buf->bufp->b_fnum, TRUE); buf->bufp = NULL; buf->initDone = FALSE; ! do_update = 1; /* =====================================================================*/ } else if (streq((char *)cmd, "setStyle")) /* obsolete... */ *************** *** 2400,2406 **** return FAIL; } ! doupdate = 1; cp = (char *)args; serNum = strtol(cp, &cp, 10); --- 2400,2406 ---- return FAIL; } ! do_update = 1; cp = (char *)args; serNum = strtol(cp, &cp, 10); *************** *** 2448,2454 **** nbdebug((" invalid buffer identifier in removeAnno\n")); return FAIL; } ! doupdate = 1; cp = (char *)args; serNum = strtol(cp, &cp, 10); args = (char_u *)cp; --- 2448,2454 ---- nbdebug((" invalid buffer identifier in removeAnno\n")); return FAIL; } ! do_update = 1; cp = (char *)args; serNum = strtol(cp, &cp, 10); args = (char_u *)cp; *************** *** 2493,2499 **** len = strtol(cp, NULL, 10); args = (char_u *)cp; pos = off2pos(buf->bufp, off); ! doupdate = 1; if (!pos) nbdebug((" no such start pos in %s, %ld\n", cmd, off)); else --- 2493,2499 ---- len = strtol(cp, NULL, 10); args = (char_u *)cp; pos = off2pos(buf->bufp, off); ! do_update = 1; if (!pos) nbdebug((" no such start pos in %s, %ld\n", cmd, off)); else *************** *** 2555,2561 **** inAtomic = 0; if (needupdate) { ! doupdate = 1; needupdate = 0; } /* =====================================================================*/ --- 2555,2561 ---- inAtomic = 0; if (needupdate) { ! do_update = 1; needupdate = 0; } /* =====================================================================*/ *************** *** 2636,2653 **** * Unrecognized command is ignored. */ } ! if (inAtomic && doupdate) { needupdate = 1; ! doupdate = 0; } /* * Is this needed? I moved the netbeans_Xt_connect() later during startup * and it may no longer be necessary. If its not needed then needupdate ! * and doupdate can also be removed. */ ! if (buf != NULL && buf->initDone && doupdate) { update_screen(NOT_VALID); setcursor(); --- 2636,2653 ---- * Unrecognized command is ignored. */ } ! if (inAtomic && do_update) { needupdate = 1; ! do_update = 0; } /* * Is this needed? I moved the netbeans_Xt_connect() later during startup * and it may no longer be necessary. If its not needed then needupdate ! * and do_update can also be removed. */ ! if (buf != NULL && buf->initDone && do_update) { update_screen(NOT_VALID); setcursor(); *** ../vim-7.3.399/src/option.c 2012-01-04 19:34:32.000000000 +0100 --- src/option.c 2012-01-10 22:06:03.000000000 +0100 *************** *** 8584,8591 **** long_u flags; { /* Careful: P_RCLR and P_RALL are a combination of other P_ flags */ ! int clear = (flags & P_RCLR) == P_RCLR; ! int all = ((flags & P_RALL) == P_RALL || clear); #ifdef FEAT_WINDOWS if ((flags & P_RSTAT) || all) /* mark all status lines dirty */ --- 8584,8591 ---- long_u flags; { /* Careful: P_RCLR and P_RALL are a combination of other P_ flags */ ! int doclear = (flags & P_RCLR) == P_RCLR; ! int all = ((flags & P_RALL) == P_RALL || doclear); #ifdef FEAT_WINDOWS if ((flags & P_RSTAT) || all) /* mark all status lines dirty */ *************** *** 8596,8602 **** changed_window_setting(); if (flags & P_RBUF) redraw_curbuf_later(NOT_VALID); ! if (clear) redraw_all_later(CLEAR); else if (all) redraw_all_later(NOT_VALID); --- 8596,8602 ---- changed_window_setting(); if (flags & P_RBUF) redraw_curbuf_later(NOT_VALID); ! if (doclear) redraw_all_later(CLEAR); else if (all) redraw_all_later(NOT_VALID); *** ../vim-7.3.399/src/os_unix.c 2011-10-20 21:09:25.000000000 +0200 --- src/os_unix.c 2012-01-10 21:48:49.000000000 +0100 *************** *** 3884,3890 **** char_u *p_shcf_copy = NULL; int i; char_u *p; - char_u *s; int inquote; int pty_master_fd = -1; /* for pty's */ # ifdef FEAT_GUI --- 3884,3889 ---- *************** *** 3963,3968 **** --- 3962,3969 ---- } if (cmd != NULL) { + char_u *s; + if (extra_shell_arg != NULL) argv[argc++] = (char *)extra_shell_arg; *************** *** 4325,4331 **** linenr_T lnum = curbuf->b_op_start.lnum; int written = 0; char_u *lp = ml_get(lnum); - char_u *s; size_t l; close(fromshell_fd); --- 4326,4331 ---- *************** *** 4339,4345 **** len = write(toshell_fd, "", (size_t)1); else { ! s = vim_strchr(lp + written, NL); len = write(toshell_fd, (char *)lp + written, s == NULL ? l : (size_t)(s - (lp + written))); --- 4339,4346 ---- len = write(toshell_fd, "", (size_t)1); else { ! char_u *s = vim_strchr(lp + written, NL); ! len = write(toshell_fd, (char *)lp + written, s == NULL ? l : (size_t)(s - (lp + written))); *** ../vim-7.3.399/src/screen.c 2012-01-10 12:42:05.000000000 +0100 --- src/screen.c 2012-01-10 22:06:51.000000000 +0100 *************** *** 7849,7863 **** /* * screen_valid - allocate screen buffers if size changed ! * If "clear" is TRUE: clear screen if it has been resized. * Returns TRUE if there is a valid screen to write to. * Returns FALSE when starting up and screen not initialized yet. */ int ! screen_valid(clear) ! int clear; { ! screenalloc(clear); /* allocate screen buffers if size changed */ return (ScreenLines != NULL); } --- 7849,7863 ---- /* * screen_valid - allocate screen buffers if size changed ! * If "doclear" is TRUE: clear screen if it has been resized. * Returns TRUE if there is a valid screen to write to. * Returns FALSE when starting up and screen not initialized yet. */ int ! screen_valid(doclear) ! int doclear; { ! screenalloc(doclear); /* allocate screen buffers if size changed */ return (ScreenLines != NULL); } *************** *** 7872,7879 **** * final size of the shell is needed. */ void ! screenalloc(clear) ! int clear; { int new_row, old_row; #ifdef FEAT_GUI --- 7872,7879 ---- * final size of the shell is needed. */ void ! screenalloc(doclear) ! int doclear; { int new_row, old_row; #ifdef FEAT_GUI *************** *** 8069,8075 **** * (used when resizing the window at the "--more--" prompt or when * executing an external command, for the GUI). */ ! if (!clear) { (void)vim_memset(new_ScreenLines + new_row * Columns, ' ', (size_t)Columns * sizeof(schar_T)); --- 8069,8075 ---- * (used when resizing the window at the "--more--" prompt or when * executing an external command, for the GUI). */ ! if (!doclear) { (void)vim_memset(new_ScreenLines + new_row * Columns, ' ', (size_t)Columns * sizeof(schar_T)); *************** *** 8159,8165 **** screen_Columns = Columns; must_redraw = CLEAR; /* need to clear the screen later */ ! if (clear) screenclear2(); #ifdef FEAT_GUI --- 8159,8165 ---- screen_Columns = Columns; must_redraw = CLEAR; /* need to clear the screen later */ ! if (doclear) screenclear2(); #ifdef FEAT_GUI *** ../vim-7.3.399/src/search.c 2011-10-04 17:00:13.000000000 +0200 --- src/search.c 2012-01-10 22:07:16.000000000 +0100 *************** *** 2402,2425 **** { if (vim_strchr(p, ';') != NULL) /* there may be comments */ { ! int instr = FALSE; /* inside of string */ p = line; /* scan from start */ while ((p = vim_strpbrk(p, (char_u *)"\";")) != NULL) { if (*p == '"') { ! if (instr) { if (*(p - 1) != '\\') /* skip escaped quote */ ! instr = FALSE; } else if (p == line || ((p - line) >= 2 /* skip #\" form */ && *(p - 1) != '\\' && *(p - 2) != '#')) ! instr = TRUE; } ! else if (!instr && ((p - line) < 2 || (*(p - 1) != '\\' && *(p - 2) != '#'))) break; /* found! */ ++p; --- 2402,2425 ---- { if (vim_strchr(p, ';') != NULL) /* there may be comments */ { ! int in_str = FALSE; /* inside of string */ p = line; /* scan from start */ while ((p = vim_strpbrk(p, (char_u *)"\";")) != NULL) { if (*p == '"') { ! if (in_str) { if (*(p - 1) != '\\') /* skip escaped quote */ ! in_str = FALSE; } else if (p == line || ((p - line) >= 2 /* skip #\" form */ && *(p - 1) != '\\' && *(p - 2) != '#')) ! in_str = TRUE; } ! else if (!in_str && ((p - line) < 2 || (*(p - 1) != '\\' && *(p - 2) != '#'))) break; /* found! */ ++p; *** ../vim-7.3.399/src/spell.c 2012-01-10 16:28:41.000000000 +0100 --- src/spell.c 2012-01-10 22:09:23.000000000 +0100 *************** *** 5049,5055 **** static int offset2bytes __ARGS((int nr, char_u *buf)); static int bytes2offset __ARGS((char_u **pp)); static void sug_write __ARGS((spellinfo_T *spin, char_u *fname)); ! static void mkspell __ARGS((int fcount, char_u **fnames, int ascii, int overwrite, int added_word)); static void spell_message __ARGS((spellinfo_T *spin, char_u *str)); static void init_spellfile __ARGS((void)); --- 5049,5055 ---- static int offset2bytes __ARGS((int nr, char_u *buf)); static int bytes2offset __ARGS((char_u **pp)); static void sug_write __ARGS((spellinfo_T *spin, char_u *fname)); ! static void mkspell __ARGS((int fcount, char_u **fnames, int ascii, int over_write, int added_word)); static void spell_message __ARGS((spellinfo_T *spin, char_u *str)); static void init_spellfile __ARGS((void)); *************** *** 9085,9095 **** * and ".spl" is appended to make the output file name. */ static void ! mkspell(fcount, fnames, ascii, overwrite, added_word) int fcount; char_u **fnames; int ascii; /* -ascii argument given */ ! int overwrite; /* overwrite existing output file */ int added_word; /* invoked through "zg" */ { char_u *fname = NULL; --- 9085,9095 ---- * and ".spl" is appended to make the output file name. */ static void ! mkspell(fcount, fnames, ascii, over_write, added_word) int fcount; char_u **fnames; int ascii; /* -ascii argument given */ ! int over_write; /* overwrite existing output file */ int added_word; /* invoked through "zg" */ { char_u *fname = NULL; *************** *** 9173,9179 **** { /* Check for overwriting before doing things that may take a lot of * time. */ ! if (!overwrite && mch_stat((char *)wfname, &st) >= 0) { EMSG(_(e_exists)); goto theend; --- 9173,9179 ---- { /* Check for overwriting before doing things that may take a lot of * time. */ ! if (!over_write && mch_stat((char *)wfname, &st) >= 0) { EMSG(_(e_exists)); goto theend; *** ../vim-7.3.399/src/syntax.c 2011-06-19 04:54:17.000000000 +0200 --- src/syntax.c 2012-01-10 22:10:23.000000000 +0100 *************** *** 4006,4022 **** } static void ! syn_list_flags(nl, flags, attr) ! struct name_list *nl; int flags; int attr; { int i; ! for (i = 0; nl[i].flag != 0; ++i) ! if (flags & nl[i].flag) { ! msg_puts_attr((char_u *)nl[i].name, attr); msg_putchar(' '); } } --- 4006,4022 ---- } static void ! syn_list_flags(nlist, flags, attr) ! struct name_list *nlist; int flags; int attr; { int i; ! for (i = 0; nlist[i].flag != 0; ++i) ! if (flags & nlist[i].flag) { ! msg_puts_attr((char_u *)nlist[i].name, attr); msg_putchar(' '); } } *** ../vim-7.3.399/src/tag.c 2011-12-14 14:15:12.000000000 +0100 --- src/tag.c 2012-01-10 21:51:05.000000000 +0100 *************** *** 1353,1359 **** int match_count = 0; /* number of matches found */ char_u **matches; int mtt; - int len; int help_save; #ifdef FEAT_MULTI_LANG int help_pri = 0; --- 1353,1358 ---- *************** *** 2235,2240 **** --- 2234,2241 ---- */ if (ga_grow(&ga_match[mtt], 1) == OK) { + int len; + if (help_only) { #ifdef FEAT_MULTI_LANG *** ../vim-7.3.399/src/window.c 2011-12-30 15:01:55.000000000 +0100 --- src/window.c 2012-01-10 22:11:41.000000000 +0100 *************** *** 683,701 **** } /* ! * When "newwin" is NULL: split the current window in two. ! * When "newwin" is not NULL: insert this window at the far * top/left/right/bottom. * return FAIL for failure, OK otherwise */ int ! win_split_ins(size, flags, newwin, dir) int size; int flags; ! win_T *newwin; int dir; { ! win_T *wp = newwin; win_T *oldwin; int new_size = size; int i; --- 683,701 ---- } /* ! * When "new_wp" is NULL: split the current window in two. ! * When "new_wp" is not NULL: insert this window at the far * top/left/right/bottom. * return FAIL for failure, OK otherwise */ int ! win_split_ins(size, flags, new_wp, dir) int size; int flags; ! win_T *new_wp; int dir; { ! win_T *wp = new_wp; win_T *oldwin; int new_size = size; int i; *************** *** 718,724 **** /* add a status line when p_ls == 1 and splitting the first window */ if (lastwin == firstwin && p_ls == 1 && oldwin->w_status_height == 0) { ! if (oldwin->w_height <= p_wmh && newwin == NULL) { EMSG(_(e_noroom)); return FAIL; --- 718,724 ---- /* add a status line when p_ls == 1 and splitting the first window */ if (lastwin == firstwin && p_ls == 1 && oldwin->w_status_height == 0) { ! if (oldwin->w_height <= p_wmh && new_wp == NULL) { EMSG(_(e_noroom)); return FAIL; *************** *** 751,757 **** } else available = oldwin->w_width; ! if (available < needed && newwin == NULL) { EMSG(_(e_noroom)); return FAIL; --- 751,757 ---- } else available = oldwin->w_width; ! if (available < needed && new_wp == NULL) { EMSG(_(e_noroom)); return FAIL; *************** *** 815,821 **** available = oldwin->w_height; needed += p_wmh; } ! if (available < needed && newwin == NULL) { EMSG(_(e_noroom)); return FAIL; --- 815,821 ---- available = oldwin->w_height; needed += p_wmh; } ! if (available < needed && new_wp == NULL) { EMSG(_(e_noroom)); return FAIL; *************** *** 888,907 **** p_sb)))) { /* new window below/right of current one */ ! if (newwin == NULL) wp = win_alloc(oldwin, FALSE); else win_append(oldwin, wp); } else { ! if (newwin == NULL) wp = win_alloc(oldwin->w_prev, FALSE); else win_append(oldwin->w_prev, wp); } ! if (newwin == NULL) { if (wp == NULL) return FAIL; --- 888,907 ---- p_sb)))) { /* new window below/right of current one */ ! if (new_wp == NULL) wp = win_alloc(oldwin, FALSE); else win_append(oldwin, wp); } else { ! if (new_wp == NULL) wp = win_alloc(oldwin->w_prev, FALSE); else win_append(oldwin->w_prev, wp); } ! if (new_wp == NULL) { if (wp == NULL) return FAIL; *************** *** 972,981 **** frp->fr_parent = curfrp; } ! if (newwin == NULL) frp = wp->w_frame; else ! frp = newwin->w_frame; frp->fr_parent = curfrp->fr_parent; /* Insert the new frame at the right place in the frame list. */ --- 972,981 ---- frp->fr_parent = curfrp; } ! if (new_wp == NULL) frp = wp->w_frame; else ! frp = new_wp->w_frame; frp->fr_parent = curfrp->fr_parent; /* Insert the new frame at the right place in the frame list. */ *************** *** 4284,4302 **** win_T *after UNUSED; int hidden UNUSED; { ! win_T *newwin; /* * allocate window structure and linesizes arrays */ ! newwin = (win_T *)alloc_clear((unsigned)sizeof(win_T)); ! if (newwin != NULL && win_alloc_lines(newwin) == FAIL) { ! vim_free(newwin); ! newwin = NULL; } ! if (newwin != NULL) { #ifdef FEAT_AUTOCMD /* Don't execute autocommands while the window is not properly --- 4284,4302 ---- win_T *after UNUSED; int hidden UNUSED; { ! win_T *new_wp; /* * allocate window structure and linesizes arrays */ ! new_wp = (win_T *)alloc_clear((unsigned)sizeof(win_T)); ! if (new_wp != NULL && win_alloc_lines(new_wp) == FAIL) { ! vim_free(new_wp); ! new_wp = NULL; } ! if (new_wp != NULL) { #ifdef FEAT_AUTOCMD /* Don't execute autocommands while the window is not properly *************** *** 4309,4361 **** */ #ifdef FEAT_WINDOWS if (!hidden) ! win_append(after, newwin); #endif #ifdef FEAT_VERTSPLIT ! newwin->w_wincol = 0; ! newwin->w_width = Columns; #endif /* position the display and the cursor at the top of the file. */ ! newwin->w_topline = 1; #ifdef FEAT_DIFF ! newwin->w_topfill = 0; #endif ! newwin->w_botline = 2; ! newwin->w_cursor.lnum = 1; #ifdef FEAT_SCROLLBIND ! newwin->w_scbind_pos = 1; #endif /* We won't calculate w_fraction until resizing the window */ ! newwin->w_fraction = 0; ! newwin->w_prev_fraction_row = -1; #ifdef FEAT_GUI if (gui.in_use) { ! gui_create_scrollbar(&newwin->w_scrollbars[SBAR_LEFT], ! SBAR_LEFT, newwin); ! gui_create_scrollbar(&newwin->w_scrollbars[SBAR_RIGHT], ! SBAR_RIGHT, newwin); } #endif #ifdef FEAT_EVAL /* init w: variables */ ! init_var_dict(&newwin->w_vars, &newwin->w_winvar); #endif #ifdef FEAT_FOLDING ! foldInitWin(newwin); #endif #ifdef FEAT_AUTOCMD unblock_autocmds(); #endif #ifdef FEAT_SEARCH_EXTRA ! newwin->w_match_head = NULL; ! newwin->w_next_match_id = 4; #endif } ! return newwin; } #if defined(FEAT_WINDOWS) || defined(PROTO) --- 4309,4361 ---- */ #ifdef FEAT_WINDOWS if (!hidden) ! win_append(after, new_wp); #endif #ifdef FEAT_VERTSPLIT ! new_wp->w_wincol = 0; ! new_wp->w_width = Columns; #endif /* position the display and the cursor at the top of the file. */ ! new_wp->w_topline = 1; #ifdef FEAT_DIFF ! new_wp->w_topfill = 0; #endif ! new_wp->w_botline = 2; ! new_wp->w_cursor.lnum = 1; #ifdef FEAT_SCROLLBIND ! new_wp->w_scbind_pos = 1; #endif /* We won't calculate w_fraction until resizing the window */ ! new_wp->w_fraction = 0; ! new_wp->w_prev_fraction_row = -1; #ifdef FEAT_GUI if (gui.in_use) { ! gui_create_scrollbar(&new_wp->w_scrollbars[SBAR_LEFT], ! SBAR_LEFT, new_wp); ! gui_create_scrollbar(&new_wp->w_scrollbars[SBAR_RIGHT], ! SBAR_RIGHT, new_wp); } #endif #ifdef FEAT_EVAL /* init w: variables */ ! init_var_dict(&new_wp->w_vars, &new_wp->w_winvar); #endif #ifdef FEAT_FOLDING ! foldInitWin(new_wp); #endif #ifdef FEAT_AUTOCMD unblock_autocmds(); #endif #ifdef FEAT_SEARCH_EXTRA ! new_wp->w_match_head = NULL; ! new_wp->w_next_match_id = 4; #endif } ! return new_wp; } #if defined(FEAT_WINDOWS) || defined(PROTO) *** ../vim-7.3.399/src/version.c 2012-01-10 18:37:53.000000000 +0100 --- src/version.c 2012-01-10 22:23:10.000000000 +0100 *************** *** 716,717 **** --- 716,719 ---- { /* Add new patch number below this line */ + /**/ + 400, /**/ -- A parent can be arrested if his child cannot hold back a burp during a church service. [real standing law in Nebraska, United States of America] /// 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 ///