diff options
author | Bram Moolenaar <Bram@vim.org> | 2013-11-28 17:41:46 +0100 |
---|---|---|
committer | Bram Moolenaar <Bram@vim.org> | 2013-11-28 17:41:46 +0100 |
commit | 34b466edfe6acdf610899da18e81537a8e5d52c8 (patch) | |
tree | fb0426499272df694804296ad1e1c3cf25fd8702 /src/spell.c | |
parent | 9fee7d4729af19e7ce4950ede8de358c5eeb3772 (diff) | |
download | vim-git-34b466edfe6acdf610899da18e81537a8e5d52c8.tar.gz |
updated for version 7.4.108v7.4.108
Problem: "zG" and "zW" leave temp files around on MS-Windows.
Solution: Delete the temp files when exiting. (Ken Takata)
Diffstat (limited to 'src/spell.c')
-rw-r--r-- | src/spell.c | 43 |
1 files changed, 26 insertions, 17 deletions
diff --git a/src/spell.c b/src/spell.c index 18a39570d..66ccecb07 100644 --- a/src/spell.c +++ b/src/spell.c @@ -2180,9 +2180,9 @@ spell_move_to(wp, dir, allwords, curline, attrp) char_u *endp; hlf_T attr; int len; -# ifdef FEAT_SYN_HL +#ifdef FEAT_SYN_HL int has_syntax = syntax_present(wp); -# endif +#endif int col; int can_spell; char_u *buf = NULL; @@ -2280,7 +2280,7 @@ spell_move_to(wp, dir, allwords, curline, attrp) : p - buf) > wp->w_cursor.col))) { -# ifdef FEAT_SYN_HL +#ifdef FEAT_SYN_HL if (has_syntax) { col = (int)(p - buf); @@ -4701,7 +4701,25 @@ badword_captype(word, end) return flags; } -# if defined(FEAT_MBYTE) || defined(EXITFREE) || defined(PROTO) +/* + * Delete the internal wordlist and its .spl file. + */ + void +spell_delete_wordlist() +{ + char_u fname[MAXPATHL]; + + if (int_wordlist != NULL) + { + mch_remove(int_wordlist); + int_wordlist_spl(fname); + mch_remove(fname); + vim_free(int_wordlist); + int_wordlist = NULL; + } +} + +#if defined(FEAT_MBYTE) || defined(EXITFREE) || defined(PROTO) /* * Free all languages. */ @@ -4710,7 +4728,6 @@ spell_free_all() { slang_T *slang; buf_T *buf; - char_u fname[MAXPATHL]; /* Go through all buffers and handle 'spelllang'. <VN> */ for (buf = firstbuf; buf != NULL; buf = buf->b_next) @@ -4723,24 +4740,16 @@ spell_free_all() slang_free(slang); } - if (int_wordlist != NULL) - { - /* Delete the internal wordlist and its .spl file */ - mch_remove(int_wordlist); - int_wordlist_spl(fname); - mch_remove(fname); - vim_free(int_wordlist); - int_wordlist = NULL; - } + spell_delete_wordlist(); vim_free(repl_to); repl_to = NULL; vim_free(repl_from); repl_from = NULL; } -# endif +#endif -# if defined(FEAT_MBYTE) || defined(PROTO) +#if defined(FEAT_MBYTE) || defined(PROTO) /* * Clear all spelling tables and reload them. * Used after 'encoding' is set and when ":mkspell" was used. @@ -4773,7 +4782,7 @@ spell_reload() } } } -# endif +#endif /* * Reload the spell file "fname" if it's loaded. |