| To: vim_dev@googlegroups.com |
| Subject: Patch 7.4.108 |
| Fcc: outbox |
| From: Bram Moolenaar <Bram@moolenaar.net> |
| Mime-Version: 1.0 |
| Content-Type: text/plain; charset=UTF-8 |
| Content-Transfer-Encoding: 8bit |
| |
| |
| Patch 7.4.108 |
| Problem: "zG" and "zW" leave temp files around on MS-Windows. |
| Solution: Delete the temp files when exiting. (Ken Takata) |
| Files: src/memline.c, src/proto/spell.pro, src/spell.c |
| |
| |
| |
| |
| |
| *** 841,848 **** |
| for (buf = firstbuf; buf != NULL; buf = buf->b_next) |
| ml_close(buf, del_file && ((buf->b_flags & BF_PRESERVED) == 0 |
| || vim_strchr(p_cpo, CPO_PRESERVE) == NULL)); |
| #ifdef TEMPDIRNAMES |
| ! vim_deltempdir(); /* delete created temp directory */ |
| #endif |
| } |
| |
| --- 841,851 ---- |
| for (buf = firstbuf; buf != NULL; buf = buf->b_next) |
| ml_close(buf, del_file && ((buf->b_flags & BF_PRESERVED) == 0 |
| || vim_strchr(p_cpo, CPO_PRESERVE) == NULL)); |
| + #ifdef FEAT_SPELL |
| + spell_delete_wordlist(); /* delete the internal wordlist */ |
| + #endif |
| #ifdef TEMPDIRNAMES |
| ! vim_deltempdir(); /* delete created temp directory */ |
| #endif |
| } |
| |
| |
| |
| |
| *** 3,8 **** |
| --- 3,9 ---- |
| int spell_move_to __ARGS((win_T *wp, int dir, int allwords, int curline, hlf_T *attrp)); |
| void spell_cat_line __ARGS((char_u *buf, char_u *line, int maxlen)); |
| char_u *did_set_spelllang __ARGS((win_T *wp)); |
| + void spell_delete_wordlist __ARGS((void)); |
| void spell_free_all __ARGS((void)); |
| void spell_reload __ARGS((void)); |
| int spell_check_msm __ARGS((void)); |
| |
| |
| |
| *** 2180,2188 **** |
| char_u *endp; |
| hlf_T attr; |
| int len; |
| ! # ifdef FEAT_SYN_HL |
| int has_syntax = syntax_present(wp); |
| ! # endif |
| int col; |
| int can_spell; |
| char_u *buf = NULL; |
| --- 2180,2188 ---- |
| char_u *endp; |
| hlf_T attr; |
| int len; |
| ! #ifdef FEAT_SYN_HL |
| int has_syntax = syntax_present(wp); |
| ! #endif |
| int col; |
| int can_spell; |
| char_u *buf = NULL; |
| |
| *** 2280,2286 **** |
| : p - buf) |
| > wp->w_cursor.col))) |
| { |
| ! # ifdef FEAT_SYN_HL |
| if (has_syntax) |
| { |
| col = (int)(p - buf); |
| --- 2280,2286 ---- |
| : p - buf) |
| > wp->w_cursor.col))) |
| { |
| ! #ifdef FEAT_SYN_HL |
| if (has_syntax) |
| { |
| col = (int)(p - buf); |
| |
| *** 4701,4707 **** |
| return flags; |
| } |
| |
| ! # if defined(FEAT_MBYTE) || defined(EXITFREE) || defined(PROTO) |
| /* |
| * Free all languages. |
| */ |
| --- 4701,4725 ---- |
| return flags; |
| } |
| |
| ! /* |
| ! * 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,4716 **** |
| { |
| 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) |
| --- 4728,4733 ---- |
| |
| *** 4723,4746 **** |
| 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; |
| ! } |
| |
| vim_free(repl_to); |
| repl_to = NULL; |
| vim_free(repl_from); |
| repl_from = NULL; |
| } |
| ! # endif |
| |
| ! # if defined(FEAT_MBYTE) || defined(PROTO) |
| /* |
| * Clear all spelling tables and reload them. |
| * Used after 'encoding' is set and when ":mkspell" was used. |
| --- 4740,4755 ---- |
| slang_free(slang); |
| } |
| |
| ! spell_delete_wordlist(); |
| |
| vim_free(repl_to); |
| repl_to = NULL; |
| vim_free(repl_from); |
| repl_from = NULL; |
| } |
| ! #endif |
| |
| ! #if defined(FEAT_MBYTE) || defined(PROTO) |
| /* |
| * Clear all spelling tables and reload them. |
| * Used after 'encoding' is set and when ":mkspell" was used. |
| |
| *** 4773,4779 **** |
| } |
| } |
| } |
| ! # endif |
| |
| /* |
| * Reload the spell file "fname" if it's loaded. |
| --- 4782,4788 ---- |
| } |
| } |
| } |
| ! #endif |
| |
| /* |
| * Reload the spell file "fname" if it's loaded. |
| |
| |
| |
| *** 740,741 **** |
| --- 740,743 ---- |
| { /* Add new patch number below this line */ |
| + /**/ |
| + 108, |
| /**/ |
| |
| -- |
| hundred-and-one symptoms of being an internet addict: |
| 9. All your daydreaming is preoccupied with getting a faster connection to the |
| net: 28.8...ISDN...cable modem...T1...T3. |
| |
| /// 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 /// |