0
0
mirror of https://github.com/vim/vim.git synced 2025-09-27 04:14:06 -04:00

updated for version 7.0-070

This commit is contained in:
Bram Moolenaar
2006-08-29 15:30:07 +00:00
parent 4100af7840
commit 89d4032cae
26 changed files with 266 additions and 256 deletions

View File

@@ -2043,8 +2043,8 @@ spell_move_to(wp, dir, allwords, curline, attrp)
int len;
# ifdef FEAT_SYN_HL
int has_syntax = syntax_present(wp->w_buffer);
int col;
# endif
int col;
int can_spell;
char_u *buf = NULL;
int buflen = 0;
@@ -2093,9 +2093,8 @@ spell_move_to(wp, dir, allwords, curline, attrp)
capcol = (int)(skipwhite(line) - line);
else if (curline && wp == curwin)
{
int col = (int)(skipwhite(line) - line);
/* For spellbadword(): check if first word needs a capital. */
col = (int)(skipwhite(line) - line);
if (check_need_cap(lnum, col))
capcol = col;
@@ -5061,7 +5060,7 @@ spell_read_aff(spin, fname)
int do_rep;
int do_repsal;
int do_sal;
int do_map;
int do_mapline;
int found_map = FALSE;
hashitem_T *hi;
int l;
@@ -5099,7 +5098,7 @@ spell_read_aff(spin, fname)
do_sal = spin->si_sal.ga_len == 0;
/* Only do MAP lines when not done in another .aff file already. */
do_map = spin->si_map.ga_len == 0;
do_mapline = spin->si_map.ga_len == 0;
/*
* Allocate and init the afffile_T structure.
@@ -5781,7 +5780,7 @@ spell_read_aff(spin, fname)
smsg((char_u *)_("Expected MAP count in %s line %d"),
fname, lnum);
}
else if (do_map)
else if (do_mapline)
{
int c;
@@ -7508,7 +7507,7 @@ spell_check_msm()
{
char_u *p = p_msm;
long start = 0;
long inc = 0;
long incr = 0;
long added = 0;
if (!VIM_ISDIGIT(*p))
@@ -7520,7 +7519,7 @@ spell_check_msm()
++p;
if (!VIM_ISDIGIT(*p))
return FAIL;
inc = (getdigits(&p) * 102) / (SBLOCKSIZE / 10);
incr = (getdigits(&p) * 102) / (SBLOCKSIZE / 10);
if (*p != ',')
return FAIL;
++p;
@@ -7530,11 +7529,11 @@ spell_check_msm()
if (*p != NUL)
return FAIL;
if (start == 0 || inc == 0 || added == 0 || inc > start)
if (start == 0 || incr == 0 || added == 0 || incr > start)
return FAIL;
compress_start = start;
compress_inc = inc;
compress_inc = incr;
compress_added = added;
return OK;
}
@@ -8292,14 +8291,14 @@ clear_node(node)
* Returns the number of nodes used.
*/
static int
put_node(fd, node, index, regionmask, prefixtree)
put_node(fd, node, idx, regionmask, prefixtree)
FILE *fd; /* NULL when only counting */
wordnode_T *node;
int index;
int idx;
int regionmask;
int prefixtree; /* TRUE for PREFIXTREE */
{
int newindex = index;
int newindex = idx;
int siblingcount = 0;
wordnode_T *np;
int flags;
@@ -8309,7 +8308,7 @@ put_node(fd, node, index, regionmask, prefixtree)
return 0;
/* Store the index where this node is written. */
node->wn_u1.index = index;
node->wn_u1.index = idx;
/* Count the number of siblings. */
for (np = node; np != NULL; np = np->wn_sibling)
@@ -9244,11 +9243,11 @@ ex_spell(eap)
* Add "word[len]" to 'spellfile' as a good or bad word.
*/
void
spell_add_word(word, len, bad, index, undo)
spell_add_word(word, len, bad, idx, undo)
char_u *word;
int len;
int bad;
int index; /* "zG" and "zW": zero, otherwise index in
int idx; /* "zG" and "zW": zero, otherwise index in
'spellfile' */
int undo; /* TRUE for "zug", "zuG", "zuw" and "zuW" */
{
@@ -9262,7 +9261,7 @@ spell_add_word(word, len, bad, index, undo)
int i;
char_u *spf;
if (index == 0) /* use internal wordlist */
if (idx == 0) /* use internal wordlist */
{
if (int_wordlist == NULL)
{
@@ -9290,11 +9289,11 @@ spell_add_word(word, len, bad, index, undo)
for (spf = curbuf->b_p_spf, i = 1; *spf != NUL; ++i)
{
copy_option_part(&spf, fnamebuf, MAXPATHL, ",");
if (i == index)
if (i == idx)
break;
if (*spf == NUL)
{
EMSGN(_("E765: 'spellfile' does not have %ld entries"), index);
EMSGN(_("E765: 'spellfile' does not have %ld entries"), idx);
return;
}
}
@@ -13581,53 +13580,58 @@ add_suggestion(su, gap, goodword, badlenarg, score, altscore, had_bonus,
* the first "the" to itself. */
return;
/* Check if the word is already there. Also check the length that is
* being replaced "thes," -> "these" is a different suggestion from
* "thes" -> "these". */
stp = &SUG(*gap, 0);
for (i = gap->ga_len; --i >= 0; ++stp)
if (stp->st_wordlen == goodlen
&& stp->st_orglen == badlen
&& STRNCMP(stp->st_word, goodword, goodlen) == 0)
{
/*
* Found it. Remember the word with the lowest score.
*/
if (stp->st_slang == NULL)
stp->st_slang = slang;
new_sug.st_score = score;
new_sug.st_altscore = altscore;
new_sug.st_had_bonus = had_bonus;
if (stp->st_had_bonus != had_bonus)
if (gap->ga_len == 0)
i = -1;
else
{
/* Check if the word is already there. Also check the length that is
* being replaced "thes," -> "these" is a different suggestion from
* "thes" -> "these". */
stp = &SUG(*gap, 0);
for (i = gap->ga_len; --i >= 0; ++stp)
if (stp->st_wordlen == goodlen
&& stp->st_orglen == badlen
&& STRNCMP(stp->st_word, goodword, goodlen) == 0)
{
/* Only one of the two had the soundalike score computed.
* Need to do that for the other one now, otherwise the
* scores can't be compared. This happens because
* suggest_try_change() doesn't compute the soundalike
* word to keep it fast, while some special methods set
* the soundalike score to zero. */
if (had_bonus)
rescore_one(su, stp);
else
/*
* Found it. Remember the word with the lowest score.
*/
if (stp->st_slang == NULL)
stp->st_slang = slang;
new_sug.st_score = score;
new_sug.st_altscore = altscore;
new_sug.st_had_bonus = had_bonus;
if (stp->st_had_bonus != had_bonus)
{
new_sug.st_word = stp->st_word;
new_sug.st_wordlen = stp->st_wordlen;
new_sug.st_slang = stp->st_slang;
new_sug.st_orglen = badlen;
rescore_one(su, &new_sug);
/* Only one of the two had the soundalike score computed.
* Need to do that for the other one now, otherwise the
* scores can't be compared. This happens because
* suggest_try_change() doesn't compute the soundalike
* word to keep it fast, while some special methods set
* the soundalike score to zero. */
if (had_bonus)
rescore_one(su, stp);
else
{
new_sug.st_word = stp->st_word;
new_sug.st_wordlen = stp->st_wordlen;
new_sug.st_slang = stp->st_slang;
new_sug.st_orglen = badlen;
rescore_one(su, &new_sug);
}
}
}
if (stp->st_score > new_sug.st_score)
{
stp->st_score = new_sug.st_score;
stp->st_altscore = new_sug.st_altscore;
stp->st_had_bonus = new_sug.st_had_bonus;
if (stp->st_score > new_sug.st_score)
{
stp->st_score = new_sug.st_score;
stp->st_altscore = new_sug.st_altscore;
stp->st_had_bonus = new_sug.st_had_bonus;
}
break;
}
break;
}
}
if (i < 0 && ga_grow(gap, 1) == OK)
{