0
0
mirror of https://github.com/vim/vim.git synced 2025-09-29 04:34:16 -04:00

updated for version 7.0025

This commit is contained in:
Bram Moolenaar
2004-12-27 21:59:20 +00:00
parent b5bf5b8fae
commit 86b6835997
41 changed files with 536 additions and 218 deletions

View File

@@ -491,7 +491,6 @@ ex_breakadd(eap)
if (bp->dbg_lnum == 0) /* default line number is 1 */
bp->dbg_lnum = 1;
BREAKP(dbg_breakp.ga_len++).dbg_nr = ++last_breakp;
--dbg_breakp.ga_room;
++debug_tick;
}
}
@@ -564,7 +563,6 @@ ex_breakdel(eap)
vim_free(BREAKP(todel).dbg_name);
vim_free(BREAKP(todel).dbg_prog);
--dbg_breakp.ga_len;
++dbg_breakp.ga_room;
if (todel < dbg_breakp.ga_len)
mch_memmove(&BREAKP(todel), &BREAKP(todel + 1),
(dbg_breakp.ga_len - todel) * sizeof(struct debuggy));
@@ -1063,6 +1061,31 @@ do_one_arg(str)
return str;
}
/*
* Separate the arguments in "str" and return a list of pointers in the
* growarray "gap".
*/
int
get_arglist(gap, str)
garray_T *gap;
char_u *str;
{
ga_init2(gap, (int)sizeof(char_u *), 20);
while (*str != NUL)
{
if (ga_grow(gap, 1) == FAIL)
{
ga_clear(gap);
return FAIL;
}
((char_u **)gap->ga_data)[gap->ga_len++] = str;
/* Isolate one argument, change it in-place, put a NUL after it. */
str = do_one_arg(str);
}
return OK;
}
#if defined(FEAT_GUI) || defined(FEAT_CLIENTSERVER) || defined(PROTO)
/*
* Redefine the argument list.
@@ -1101,20 +1124,8 @@ do_arglist(str, what, after)
/*
* Collect all file name arguments in "new_ga".
*/
ga_init2(&new_ga, (int)sizeof(char_u *), 20);
while (*str)
{
if (ga_grow(&new_ga, 1) == FAIL)
{
ga_clear(&new_ga);
return FAIL;
}
((char_u **)new_ga.ga_data)[new_ga.ga_len++] = str;
--new_ga.ga_room;
/* Isolate one argument, change it in-place, put a NUL after it. */
str = do_one_arg(str);
}
if (get_arglist(&new_ga, str) == FAIL)
return FAIL;
#ifdef FEAT_LISTCMDS
if (what == AL_DEL)
@@ -1154,7 +1165,6 @@ do_arglist(str, what, after)
mch_memmove(ARGLIST + match, ARGLIST + match + 1,
(ARGCOUNT - match - 1) * sizeof(aentry_T));
--ALIST(curwin)->al_ga.ga_len;
++ALIST(curwin)->al_ga.ga_room;
if (curwin->w_arg_idx > match)
--curwin->w_arg_idx;
--match;
@@ -1189,7 +1199,7 @@ do_arglist(str, what, after)
}
else /* what == AL_SET */
#endif
alist_set(ALIST(curwin), exp_count, exp_files, FALSE);
alist_set(ALIST(curwin), exp_count, exp_files, FALSE, NULL, 0);
}
alist_check_arg_idx();
@@ -1342,7 +1352,6 @@ ex_args(eap)
AARGLIST(curwin->w_alist)[gap->ga_len].ae_fnum =
GARGLIST[i].ae_fnum;
++gap->ga_len;
--gap->ga_room;
}
}
#endif
@@ -1579,7 +1588,6 @@ ex_argdelete(eap)
mch_memmove(ARGLIST + eap->line1 - 1, ARGLIST + eap->line2,
(size_t)((ARGCOUNT - eap->line2) * sizeof(aentry_T)));
ALIST(curwin)->al_ga.ga_len -= n;
ALIST(curwin)->al_ga.ga_room += n;
if (curwin->w_arg_idx >= eap->line2)
curwin->w_arg_idx -= n;
else if (curwin->w_arg_idx > eap->line1)
@@ -1786,7 +1794,6 @@ alist_add_list(count, files, after)
ARGLIST[after + i].ae_fnum = buflist_add(files[i], BLN_LISTED);
}
ALIST(curwin)->al_ga.ga_len += count;
ALIST(curwin)->al_ga.ga_room -= count;
if (curwin->w_arg_idx >= after)
++curwin->w_arg_idx;
return after;
@@ -2365,7 +2372,6 @@ do_source(fname, check_other, is_vimrc)
{
SCRIPT_NAME(script_names.ga_len + 1) = NULL;
++script_names.ga_len;
--script_names.ga_room;
}
SCRIPT_NAME(current_SID) = fname_exp;
# ifdef UNIX
@@ -2674,12 +2680,14 @@ get_one_sourceline(sp)
#ifdef USE_CR
if (sp->fileformat == EOL_MAC)
{
if (fgets_cr((char *)buf + ga.ga_len, ga.ga_room, sp->fp) == NULL)
if (fgets_cr((char *)buf + ga.ga_len, ga.ga_maxlen - ga.ga_len,
sp->fp) == NULL)
break;
}
else
#endif
if (fgets((char *)buf + ga.ga_len, ga.ga_room, sp->fp) == NULL)
if (fgets((char *)buf + ga.ga_len, ga.ga_maxlen - ga.ga_len,
sp->fp) == NULL)
break;
len = (int)STRLEN(buf);
#ifdef USE_CRNL
@@ -2723,11 +2731,10 @@ get_one_sourceline(sp)
#endif
have_read = TRUE;
ga.ga_room -= len - ga.ga_len;
ga.ga_len = len;
/* If the line was longer than the buffer, read more. */
if (ga.ga_room == 1 && buf[len - 1] != '\n')
if (ga.ga_maxlen - ga.ga_len == 1 && buf[len - 1] != '\n')
continue;
if (len >= 1 && buf[len - 1] == '\n') /* remove trailing NL */
@@ -2749,7 +2756,6 @@ get_one_sourceline(sp)
buf[len - 2] = '\n';
--len;
--ga.ga_len;
++ga.ga_room;
}
else /* lines like ":map xx yy^M" will have failed */
{