forked from aniani/vim
updated for version 7.0071
This commit is contained in:
33
src/spell.c
33
src/spell.c
@@ -2460,7 +2460,7 @@ static int expand_one_aff __ARGS((basicword_T *bw, garray_T *add_words, affentry
|
|||||||
static int add_to_wordlist __ARGS((hashtab_T *newwords, basicword_T *bw));
|
static int add_to_wordlist __ARGS((hashtab_T *newwords, basicword_T *bw));
|
||||||
static void write_affix __ARGS((FILE *fd, affheader_T *ah));
|
static void write_affix __ARGS((FILE *fd, affheader_T *ah));
|
||||||
static void write_affixlist __ARGS((FILE *fd, garray_T *aff, int bytes));
|
static void write_affixlist __ARGS((FILE *fd, garray_T *aff, int bytes));
|
||||||
static void write_vim_spell __ARGS((char_u *fname, garray_T *prefga, garray_T *suffga, hashtab_T *newwords, int regcount, char_u *regchars));
|
static void write_vim_spell __ARGS((char_u *fname, garray_T *prefga, garray_T *suffga, hashtab_T *newwords, int regcount, char_u *regchars, int ascii));
|
||||||
static void write_bword __ARGS((winfo_T *wif, basicword_T *bw, int lowcap));
|
static void write_bword __ARGS((winfo_T *wif, basicword_T *bw, int lowcap));
|
||||||
static void free_wordtable __ARGS((hashtab_T *ht));
|
static void free_wordtable __ARGS((hashtab_T *ht));
|
||||||
static void free_basicword __ARGS((basicword_T *bw));
|
static void free_basicword __ARGS((basicword_T *bw));
|
||||||
@@ -2705,10 +2705,15 @@ spell_read_aff(fname, conv, ascii)
|
|||||||
|
|
||||||
if (fol != NULL || low != NULL || upp != NULL)
|
if (fol != NULL || low != NULL || upp != NULL)
|
||||||
{
|
{
|
||||||
if (fol == NULL || low == NULL || upp == NULL)
|
/* Don't write a word table for an ASCII file, so that we don't check
|
||||||
smsg((char_u *)_("Missing FOL/LOW/UPP line in %s"), fname);
|
* for conflicts with a word table that matches 'encoding'. */
|
||||||
else
|
if (!ascii)
|
||||||
set_spell_chartab(fol, low, upp);
|
{
|
||||||
|
if (fol == NULL || low == NULL || upp == NULL)
|
||||||
|
smsg((char_u *)_("Missing FOL/LOW/UPP line in %s"), fname);
|
||||||
|
else
|
||||||
|
set_spell_chartab(fol, low, upp);
|
||||||
|
}
|
||||||
|
|
||||||
vim_free(fol);
|
vim_free(fol);
|
||||||
vim_free(low);
|
vim_free(low);
|
||||||
@@ -4302,13 +4307,14 @@ write_affixlist(fd, aff, bytes)
|
|||||||
* Write the Vim spell file "fname".
|
* Write the Vim spell file "fname".
|
||||||
*/
|
*/
|
||||||
static void
|
static void
|
||||||
write_vim_spell(fname, prefga, suffga, newwords, regcount, regchars)
|
write_vim_spell(fname, prefga, suffga, newwords, regcount, regchars, ascii)
|
||||||
char_u *fname;
|
char_u *fname;
|
||||||
garray_T *prefga; /* prefixes, affheader_T entries */
|
garray_T *prefga; /* prefixes, affheader_T entries */
|
||||||
garray_T *suffga; /* suffixes, affheader_T entries */
|
garray_T *suffga; /* suffixes, affheader_T entries */
|
||||||
hashtab_T *newwords; /* basic words, basicword_T entries */
|
hashtab_T *newwords; /* basic words, basicword_T entries */
|
||||||
int regcount; /* number of regions */
|
int regcount; /* number of regions */
|
||||||
char_u *regchars; /* region names */
|
char_u *regchars; /* region names */
|
||||||
|
int ascii; /* TRUE for ascii spell file */
|
||||||
{
|
{
|
||||||
winfo_T wif;
|
winfo_T wif;
|
||||||
garray_T *gap;
|
garray_T *gap;
|
||||||
@@ -4348,8 +4354,17 @@ write_vim_spell(fname, prefga, suffga, newwords, regcount, regchars)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* Write the table with character flags and table for case folding.
|
/* Write the table with character flags and table for case folding.
|
||||||
* <charflagslen> <charflags> <fcharlen> <fchars> */
|
* <charflagslen> <charflags> <fcharlen> <fchars>
|
||||||
write_spell_chartab(wif.wif_fd);
|
* Skip this for ASCII, the table may conflict with the one used for
|
||||||
|
* 'encoding'. */
|
||||||
|
if (ascii)
|
||||||
|
{
|
||||||
|
putc(0, wif.wif_fd);
|
||||||
|
putc(0, wif.wif_fd);
|
||||||
|
putc(0, wif.wif_fd);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
write_spell_chartab(wif.wif_fd);
|
||||||
|
|
||||||
/* <PREFIXLIST>: <affcount> <affix> ...
|
/* <PREFIXLIST>: <affcount> <affix> ...
|
||||||
* <SUFFIXLIST>: <affcount> <affix> ... */
|
* <SUFFIXLIST>: <affcount> <affix> ... */
|
||||||
@@ -4952,7 +4967,7 @@ ex_mkspell(eap)
|
|||||||
smsg((char_u *)_("Writing spell file %s..."), wfname);
|
smsg((char_u *)_("Writing spell file %s..."), wfname);
|
||||||
out_flush();
|
out_flush();
|
||||||
write_vim_spell(wfname, &prefga, &suffga, &newwords,
|
write_vim_spell(wfname, &prefga, &suffga, &newwords,
|
||||||
fcount - 1, region_name);
|
fcount - 1, region_name, ascii);
|
||||||
MSG(_("Done!"));
|
MSG(_("Done!"));
|
||||||
out_flush();
|
out_flush();
|
||||||
}
|
}
|
||||||
|
@@ -1478,6 +1478,11 @@ int vim_memcmp __ARGS((void *, void *, size_t));
|
|||||||
# define SET_NUM_MOUSE_CLICKS(code, num) \
|
# define SET_NUM_MOUSE_CLICKS(code, num) \
|
||||||
(code) = ((code) & 0x3f) | ((((num) - 1) & 3) << 6)
|
(code) = ((code) & 0x3f) | ((((num) - 1) & 3) << 6)
|
||||||
|
|
||||||
|
/* Added to mouse column for GUI when 'mousefocus' wants to give focus to a
|
||||||
|
* window by simulating a click on its status line. We could use up to 128 *
|
||||||
|
* 128 = 16384 columns, now it's reduced to 10000. */
|
||||||
|
# define MOUSE_COLOFF 10000
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* jump_to_mouse() returns one of first four these values, possibly with
|
* jump_to_mouse() returns one of first four these values, possibly with
|
||||||
* some of the other three added.
|
* some of the other three added.
|
||||||
|
Reference in New Issue
Block a user