# HG changeset patch # User vimboss # Date 1119739786 0 # Node ID e111db373ca4b1e32efc5eec90ed95711efc0502 # Parent 25dd5036f2b0b5e68492c49f15eaa228aa957f69 updated for version 7.0093 diff --git a/src/buffer.c b/src/buffer.c --- a/src/buffer.c +++ b/src/buffer.c @@ -3177,6 +3177,16 @@ resettitle() { mch_settitle(lasttitle, lasticon); } + +# if defined(EXITFREE) || defined(PROTO) + void +free_titles() +{ + vim_free(lasttitle); + vim_free(lasticon); +} +# endif + #endif /* FEAT_TITLE */ #if defined(FEAT_STL_OPT) || defined(PROTO) diff --git a/src/diff.c b/src/diff.c --- a/src/diff.c +++ b/src/diff.c @@ -69,7 +69,6 @@ static int diff_check_sanity __ARGS((dif static void diff_redraw __ARGS((int dofold)); static int diff_write __ARGS((buf_T *buf, char_u *fname)); static void diff_file __ARGS((char_u *tmp_orig, char_u *tmp_new, char_u *tmp_diff)); -static void diff_clear __ARGS((void)); static int diff_equal_entry __ARGS((diff_T *dp, int idx1, int idx2)); static int diff_cmp __ARGS((char_u *s1, char_u *s2)); #ifdef FEAT_FOLDING @@ -1336,7 +1335,7 @@ diff_copy_entry(dprev, dp, idx_orig, idx /* * Clear the list of diffblocks. */ - static void + void diff_clear() { diff_T *p, *next_p; diff --git a/src/ex_docmd.c b/src/ex_docmd.c --- a/src/ex_docmd.c +++ b/src/ex_docmd.c @@ -7215,6 +7215,17 @@ ex_read(eap) } } +static char_u *prev_dir = NULL; + +#if defined(EXITFREE) || defined(PROTO) + void +free_cd_dir() +{ + vim_free(prev_dir); +} +#endif + + /* * ":cd", ":lcd", ":chdir" and ":lchdir". */ @@ -7222,7 +7233,6 @@ ex_read(eap) ex_cd(eap) exarg_T *eap; { - static char_u *prev_dir = NULL; char_u *new_dir; char_u *tofree; diff --git a/src/getchar.c b/src/getchar.c --- a/src/getchar.c +++ b/src/getchar.c @@ -1390,6 +1390,15 @@ closescript() --curscript; } +#if defined(EXITFREE) || defined(PROTO) + void +close_all_scripts() +{ + while (scriptin[0] != NULL) + closescript(); +} +#endif + #if defined(FEAT_INS_EXPAND) || defined(PROTO) /* * Return TRUE when reading keys from a script file. diff --git a/src/mark.c b/src/mark.c --- a/src/mark.c +++ b/src/mark.c @@ -1284,6 +1284,18 @@ set_last_cursor(win) win->w_buffer->b_last_cursor = win->w_cursor; } +#if defined(EXITFREE) || defined(PROTO) + void +free_all_marks() +{ + int i; + + for (i = 0; i < NMARKS + EXTRA_MARKS; i++) + if (namedfm[i].fmark.mark.lnum != 0) + vim_free(namedfm[i].fname); +} +#endif + #if defined(FEAT_VIMINFO) || defined(PROTO) int read_viminfo_filemark(virp, force) diff --git a/src/proto/buffer.pro b/src/proto/buffer.pro --- a/src/proto/buffer.pro +++ b/src/proto/buffer.pro @@ -39,6 +39,7 @@ void fileinfo __ARGS((int fullname, int void col_print __ARGS((char_u *buf, int col, int vcol)); void maketitle __ARGS((void)); void resettitle __ARGS((void)); +void free_titles __ARGS((void)); int build_stl_str_hl __ARGS((win_T *wp, char_u *out, size_t outlen, char_u *fmt, int fillchar, int maxwidth, struct stl_hlrec *hl)); void get_rel_pos __ARGS((win_T *wp, char_u *str)); int append_arg_number __ARGS((win_T *wp, char_u *buf, int add_file, int maxlen)); diff --git a/src/proto/gui_gtk_x11.pro b/src/proto/gui_gtk_x11.pro --- a/src/proto/gui_gtk_x11.pro +++ b/src/proto/gui_gtk_x11.pro @@ -1,5 +1,6 @@ /* gui_gtk_x11.c */ void gui_mch_prepare __ARGS((int *argc, char **argv)); +void gui_mch_free_all __ARGS((void)); void gui_mch_set_blinking __ARGS((long waittime, long on, long off)); void gui_mch_stop_blink __ARGS((void)); void gui_mch_start_blink __ARGS((void)); diff --git a/src/spell.c b/src/spell.c --- a/src/spell.c +++ b/src/spell.c @@ -396,7 +396,9 @@ typedef struct suggest_S #define SCORE_SUBST 93 /* substitute a character */ #define SCORE_SIMILAR 33 /* substitute a similar character */ #define SCORE_DEL 94 /* delete a character */ +#define SCORE_DELDUP 64 /* delete a duplicated character */ #define SCORE_INS 96 /* insert a character */ +#define SCORE_INSDUP 66 /* insert a duplicate character */ #define SCORE_MAXINIT 350 /* Initial maximum score: higher == slower. * 350 allows for about three changes. */ @@ -453,11 +455,12 @@ static int did_set_spelltab; static void clear_spell_chartab __ARGS((spelltab_T *sp)); static int set_spell_finish __ARGS((spelltab_T *new_st)); +static int spell_iswordp __ARGS((char_u *p)); static void write_spell_prefcond __ARGS((FILE *fd, garray_T *gap)); /* - * Return TRUE if "p" points to a word character or "c" is a word character - * for spelling. + * Return TRUE if "p" points to a word character. Like spell_iswordp() but + * without the special handling of a single quote. * Checking for a word character is done very often, avoid the function call * overhead. */ @@ -547,7 +550,7 @@ static int set_spell_charflags __ARGS((c static int set_spell_chartab __ARGS((char_u *fol, char_u *low, char_u *upp)); static void write_spell_chartab __ARGS((FILE *fd)); static int spell_casefold __ARGS((char_u *p, int len, char_u *buf, int buflen)); -static void spell_find_suggest __ARGS((char_u *badptr, suginfo_T *su, int maxcount)); +static void spell_find_suggest __ARGS((char_u *badptr, suginfo_T *su, int maxcount, int banbadword)); static void spell_find_cleanup __ARGS((suginfo_T *su)); static void onecap_copy __ARGS((char_u *word, char_u *wcopy, int upper)); static void allcap_copy __ARGS((char_u *word, char_u *wcopy)); @@ -656,7 +659,7 @@ spell_check(wp, ptr, attrp) mi.mi_end = skipdigits(ptr); nrlen = mi.mi_end - ptr; } - if (!SPELL_ISWORDP(mi.mi_end)) + if (!spell_iswordp(mi.mi_end)) return (int)(mi.mi_end - ptr); /* Try including the digits in the word. */ @@ -667,12 +670,12 @@ spell_check(wp, ptr, attrp) /* Find the normal end of the word (until the next non-word character). */ mi.mi_word = ptr; - if (SPELL_ISWORDP(mi.mi_fend)) + if (spell_iswordp(mi.mi_fend)) { do { mb_ptr_adv(mi.mi_fend); - } while (*mi.mi_fend != NUL && SPELL_ISWORDP(mi.mi_fend)); + } while (*mi.mi_fend != NUL && spell_iswordp(mi.mi_fend)); } /* We always use the characters up to the next non-word character, @@ -908,7 +911,7 @@ find_word(mip, mode) if ((*mb_head_off)(ptr, ptr + wlen) > 0) continue; /* not at first byte of character */ #endif - if (SPELL_ISWORDP(ptr + wlen)) + if (spell_iswordp(ptr + wlen)) continue; /* next char is a word character */ #ifdef FEAT_MBYTE @@ -1163,7 +1166,7 @@ fold_more(mip) do { mb_ptr_adv(mip->mi_fend); - } while (*mip->mi_fend != NUL && SPELL_ISWORDP(mip->mi_fend)); + } while (*mip->mi_fend != NUL && spell_iswordp(mip->mi_fend)); /* Include the non-word character so that we can check for the * word end. */ @@ -2290,7 +2293,7 @@ captype(word, end) int past_second = FALSE; /* past second word char */ /* find first letter */ - for (p = word; !SPELL_ISWORDP(p); mb_ptr_adv(p)) + for (p = word; !spell_iswordp(p); mb_ptr_adv(p)) if (end == NULL ? *p == NUL : p >= end) return 0; /* only non-word characters, illegal word */ #ifdef FEAT_MBYTE @@ -2306,7 +2309,7 @@ captype(word, end) * But a word with an upper char only at start is a ONECAP. */ for ( ; end == NULL ? *p != NUL : p < end; mb_ptr_adv(p)) - if (SPELL_ISWORDP(p)) + if (spell_iswordp(p)) { #ifdef FEAT_MBYTE c = mb_ptr2char(p); @@ -2367,7 +2370,7 @@ spell_reload() buf_T *buf; win_T *wp; - /* Initialize the table for SPELL_ISWORDP(). */ + /* Initialize the table for spell_iswordp(). */ init_spell_chartab(); /* Unload all allocated memory. */ @@ -5017,6 +5020,28 @@ set_spell_finish(new_st) } /* + * Return TRUE if "p" points to a word character. + * As a special case we see a single quote as a word character when it is + * followed by a word character. This finds they'there but not 'they there'. + */ + static int +spell_iswordp(p) + char_u *p; +{ + char_u *s; + + if (*p == '\'') + s = p + 1; + else + s = p; +#ifdef FEAT_MBYTE + if (has_mbyte && MB_BYTE2LEN(*s) > 1) + return mb_get_class(s) >= 2; +#endif + return spelltab.st_isw[*s]; +} + +/* * Write the table with prefix conditions to the .spl file. */ static void @@ -5181,7 +5206,7 @@ spell_suggest() line = ml_get_curline(); /* Get the list of suggestions */ - spell_find_suggest(line + curwin->w_cursor.col, &sug, (int)Rows - 2); + spell_find_suggest(line + curwin->w_cursor.col, &sug, (int)Rows - 2, TRUE); if (sug.su_ga.ga_len == 0) MSG(_("Sorry, no suggestions")); @@ -5281,7 +5306,7 @@ spell_suggest_list(gap, word, maxcount) suggest_T *stp; char_u *wcopy; - spell_find_suggest(word, &sug, maxcount); + spell_find_suggest(word, &sug, maxcount, FALSE); /* Make room in "gap". */ ga_init2(gap, sizeof(char_u *), sug.su_ga.ga_len + 1); @@ -5314,10 +5339,11 @@ spell_suggest_list(gap, word, maxcount) * This is based on the mechanisms of Aspell, but completely reimplemented. */ static void -spell_find_suggest(badptr, su, maxcount) +spell_find_suggest(badptr, su, maxcount, banbadword) char_u *badptr; suginfo_T *su; int maxcount; + int banbadword; /* don't include badword in suggestions */ { int attr; @@ -5344,7 +5370,8 @@ spell_find_suggest(badptr, su, maxcount) su->su_badflags = captype(su->su_badptr, su->su_badptr + su->su_badlen); /* Ban the bad word itself. It may appear in another region. */ - add_banned(su, su->su_badword); + if (banbadword) + add_banned(su, su->su_badword); /* * 1. Try special cases, such as repeating a word: "the the" -> "the". @@ -5688,7 +5715,7 @@ suggest_try_change(su) newscore += SCORE_ICASE; if ((fword[sp->ts_fidx] == NUL - || !SPELL_ISWORDP(fword + sp->ts_fidx)) + || !spell_iswordp(fword + sp->ts_fidx)) && sp->ts_fidx >= sp->ts_fidxtry) { /* The badword also ends: add suggestions, */ @@ -5851,6 +5878,20 @@ suggest_try_change(su) sp->ts_score -= SCORE_SUBST - SCORE_SIMILAR; } + else if (sp->ts_isdiff == DIFF_INSERT + && sp->ts_twordlen > sp->ts_tcharlen) + { + /* If the previous character was the same, + * thus doubling a character, give a bonus + * to the score. */ + p = tword + sp->ts_twordlen + - sp->ts_tcharlen; + c = mb_ptr2char(p); + mb_ptr_back(tword, p); + if (c == mb_ptr2char(p)) + sp->ts_score -= SCORE_INS + - SCORE_INSDUP; + } /* Starting a new char, reset the length. */ sp->ts_tcharlen = 0; @@ -5891,12 +5932,25 @@ suggest_try_change(su) && try_deeper(su, stack, depth, SCORE_DEL)) { ++depth; + + /* Advance over the character in fword[]. Give a bonus to + * the score if the same character is following "nn" -> + * "n". */ #ifdef FEAT_MBYTE if (has_mbyte) + { + c = mb_ptr2char(fword + sp->ts_fidx); stack[depth].ts_fidx += MB_BYTE2LEN(fword[sp->ts_fidx]); + if (c == mb_ptr2char(fword + stack[depth].ts_fidx)) + stack[depth].ts_score -= SCORE_DEL - SCORE_DELDUP; + } else #endif + { ++stack[depth].ts_fidx; + if (fword[sp->ts_fidx] == fword[sp->ts_fidx + 1]) + stack[depth].ts_score -= SCORE_DEL - SCORE_DELDUP; + } break; } /*FALLTHROUGH*/ @@ -5935,7 +5989,18 @@ suggest_try_change(su) sp->ts_isdiff = DIFF_INSERT; } } + else + fl = 1; + if (fl == 1) #endif + { + /* If the previous character was the same, thus + * doubling a character, give a bonus to the + * score. */ + if (sp->ts_twordlen >= 2 + && tword[sp->ts_twordlen - 2] == c) + sp->ts_score -= SCORE_INS - SCORE_INSDUP; + } } } break; @@ -7264,7 +7329,7 @@ spell_soundfold(slang, inword, res) else if (has_mbyte) { l = mb_ptr2len_check(s); - if (SPELL_ISWORDP(s)) + if (spell_iswordp(s)) { mch_memmove(t, s, l); t += l; @@ -7276,7 +7341,7 @@ spell_soundfold(slang, inword, res) #endif else { - if (SPELL_ISWORDP(s)) + if (spell_iswordp(s)) *t++ = *s; ++s; } @@ -7376,12 +7441,12 @@ spell_soundfold(slang, inword, res) if (*s == NUL || (*s == '^' && (i == 0 || !(word[i - 1] == ' ' - || SPELL_ISWORDP(word + i - 1))) + || spell_iswordp(word + i - 1))) && (*(s + 1) != '$' - || (!SPELL_ISWORDP(word + i + k0)))) + || (!spell_iswordp(word + i + k0)))) || (*s == '$' && i > 0 - && SPELL_ISWORDP(word + i - 1) - && (!SPELL_ISWORDP(word + i + k0)))) + && spell_iswordp(word + i - 1) + && (!spell_iswordp(word + i + k0)))) { /* search for followup rules, if: */ /* followup and k > 1 and NO '-' in searchstring */ @@ -7443,7 +7508,7 @@ spell_soundfold(slang, inword, res) if (*s == NUL /* *s == '^' cuts */ || (*s == '$' - && !SPELL_ISWORDP(word + i + k0))) + && !spell_iswordp(word + i + k0))) { if (k0 == k) /* this is just a piece of the string */ diff --git a/src/spell/en_NZ.diff b/src/spell/en_NZ.diff --- a/src/spell/en_NZ.diff +++ b/src/spell/en_NZ.diff @@ -1,17 +1,20 @@ *** en_NZ.orig.aff Fri Apr 15 13:20:36 2005 ---- en_NZ.aff Sat Jun 18 19:42:31 2005 +--- en_NZ.aff Thu Jun 23 17:43:34 2005 *************** *** 7,9 **** SET ISO8859-1 ! TRY esiaénrtolcdugmphbyfvkw-'.zqjxSNRTLCGDMPHBEAUYOFIVKWöâôZQJXÅçèîêàïüäñ REP 66 ---- 7,14 ---- +--- 7,17 ---- SET ISO8859-1 ! TRY esiaénrtolcdugmphbyfvkw-'.zqjxSNRTLCGDMPHBEAUYOFIVKWöâôZQJXÅçèîêàïüäñ ! -! FOL àáâãäåæçèéêëìíîïðñòóôõöøùúûüýþß -! LOW àáâãäåæçèéêëìíîïðñòóôõöøùúûüýþß -! UPP ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞß +! FOL àáâãäåæçèéêëìíîïðñòóôõöøùúûüýþßÿ +! LOW àáâãäåæçèéêëìíîïðñòóôõöøùúûüýþßÿ +! UPP ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞßÿ +! +! RAR ? +! BAD ! ! REP 66 *************** @@ -36,7 +39,7 @@ PFX E Y 1 ! PFX E 0 dis . PFX F Y 5 ---- 81,100 ---- +--- 84,103 ---- PFX A Y 2 ! PFX A 0 re [^e] ! PFX A 0 re- e @@ -454,7 +457,7 @@ SFX T y iest [^aeiou]y ! SFX T 0 er [aeiou]y SFX T 0 est [aeiou]y ---- 104,498 ---- +--- 107,501 ---- PFX F 0 col l ! PFX F 0 con [^abehilmopru]. PFX K Y 1 @@ -1539,7 +1542,7 @@ ! SFX 3 o ist's o ! SFX 3 0 ist's [^eoy] \ No newline at end of file ---- 505,1190 ---- +--- 508,1314 ---- SFX R Y 72 ! SFX R 0 r e ! SFX R 0 rs e @@ -2226,33 +2229,151 @@ ! SFX 3 0 ist's [aeioubp]y ! SFX 3 o ist's o ! SFX 3 0 ist's [^eoy] +! +! MAP 5 +! MAP aàáâãäå +! MAP eèéêë +! MAP iìíîï +! MAP oòóôõö +! MAP uùúûü +! MAP nñ +! MAP cç +! MAP yÿý +! MAP sß +! +! # This comes from Aspell en_phonet.dat, version 1.1, 2000-01-07 +! +! SAL AH(AEIOUY)-^ *H +! SAL AR(AEIOUY)-^ *R +! SAL A(HR)^ * +! SAL A^ * +! SAL AH(AEIOUY)- H +! SAL AR(AEIOUY)- R +! SAL A(HR) _ +! SAL À^ * +! SAL Å^ * +! SAL BB- _ +! SAL B B +! SAL CQ- _ +! SAL CIA X +! SAL CH X +! SAL C(EIY)- S +! SAL CK K +! SAL COUGH^ KF +! SAL CC< C +! SAL C K +! SAL DG(EIY) K +! SAL DD- _ +! SAL D T +! SAL É< E +! SAL EH(AEIOUY)-^ *H +! SAL ER(AEIOUY)-^ *R +! SAL E(HR)^ * +! SAL ENOUGH^$ *NF +! SAL E^ * +! SAL EH(AEIOUY)- H +! SAL ER(AEIOUY)- R +! SAL E(HR) _ +! SAL FF- _ +! SAL F F +! SAL GN^ N +! SAL GN$ N +! SAL GNS$ NS +! SAL GNED$ N +! SAL GH(AEIOUY)- K +! SAL GH _ +! SAL GG9 K +! SAL G K +! SAL H H +! SAL IH(AEIOUY)-^ *H +! SAL IR(AEIOUY)-^ *R +! SAL I(HR)^ * +! SAL I^ * +! SAL ING6 N +! SAL IH(AEIOUY)- H +! SAL IR(AEIOUY)- R +! SAL I(HR) _ +! SAL J K +! SAL KN^ N +! SAL KK- _ +! SAL K K +! SAL LAUGH^ LF +! SAL LL- _ +! SAL L L +! SAL MB$ M +! SAL MM M +! SAL M M +! SAL NN- _ +! SAL N N +! SAL OH(AEIOUY)-^ *H +! SAL OR(AEIOUY)-^ *R +! SAL O(HR)^ * +! SAL O^ * +! SAL OH(AEIOUY)- H +! SAL OR(AEIOUY)- R +! SAL O(HR) _ +! SAL PH F +! SAL PN^ N +! SAL PP- _ +! SAL P P +! SAL Q K +! SAL RH^ R +! SAL ROUGH^ RF +! SAL RR- _ +! SAL R R +! SAL SCH(EOU)- SK +! SAL SC(IEY)- S +! SAL SH X +! SAL SI(AO)- X +! SAL SS- _ +! SAL S S +! SAL TI(AO)- X +! SAL TH @ +! SAL TCH-- _ +! SAL TOUGH^ TF +! SAL TT- _ +! SAL T T +! SAL UH(AEIOUY)-^ *H +! SAL UR(AEIOUY)-^ *R +! SAL U(HR)^ * +! SAL U^ * +! SAL UH(AEIOUY)- H +! SAL UR(AEIOUY)- R +! SAL U(HR) _ +! SAL V^ W +! SAL V F +! SAL WR^ R +! SAL WH^ W +! SAL W(AEIOU)- W +! SAL X^ S +! SAL X KS +! SAL Y(AEIOU)- Y +! SAL ZZ- _ +! SAL Z S *** en_NZ.orig.dic Fri Apr 15 13:20:36 2005 ---- en_NZ.dic Tue Jun 21 20:14:24 2005 +--- en_NZ.dic Wed Jun 22 14:06:51 2005 *************** -*** 1,6 **** - 47141 -- 3GPP -- 2YA -- 2ZB +*** 4,6 **** + 2ZB - A a/o ---- 1,2 ---- +--- 4,5 ---- *************** *** 927,929 **** Al-Zawahiri - al/FAC Al/M ---- 923,924 ---- +--- 926,927 ---- *************** *** 2941,2944 **** B.Sc. - bless - bible baa/GSD ---- 2936,2937 ---- +--- 2939,2940 ---- *************** *** 4974,4975 **** ---- 4967,4969 ---- +--- 4970,4972 ---- Brampton/M + Bram/M bran/SDGM @@ -2261,7 +2382,7 @@ C.Lit. ! cation/SM Ca/y ---- 5701,5703 ---- +--- 5704,5706 ---- C.Lit. ! cation/MWS Ca/y @@ -2270,22 +2391,28 @@ Cathy - cation/MW catkin/SM ---- 6444,6445 ---- +--- 6447,6448 ---- +*************** +*** 8589,8590 **** +--- 8585,8587 ---- + coniferous ++ conj. + conjectural *************** *** 10153,10155 **** red's - dally dab/TSGD ---- 10146,10147 ---- +--- 10150,10151 ---- *************** *** 10360,10361 **** ---- 10352,10354 ---- +--- 10356,10358 ---- dBm + dBd DBMS *************** *** 12535,12536 **** ---- 12528,12530 ---- +--- 12532,12534 ---- Dutchwomen/M + Farsi duteous/Y @@ -2294,13 +2421,13 @@ duvet/SM - duxes DVD/MS ---- 12536,12537 ---- +--- 12540,12541 ---- *************** *** 13901,13903 **** estuary/MS ! et ETA ---- 13894,13897 ---- +--- 13898,13901 ---- estuary/MS ! et cetera ! et al. @@ -2311,13 +2438,13 @@ - fable - fist/MS fa/M ---- 14525,14526 ---- +--- 14529,14530 ---- *************** *** 15323,15325 **** fissure/DSMG ! fist/6GD fistfight/MS ---- 15315,15317 ---- +--- 15319,15321 ---- fissure/DSMG ! fist/6GDMS fistfight/MS @@ -2326,44 +2453,44 @@ g's - gable gist/MS ---- 16598,16599 ---- +--- 16602,16603 ---- *************** *** 16797,16799 **** Garvey - Gary/M gas-permeable ---- 16788,16789 ---- +--- 16792,16793 ---- *************** *** 18177,18179 **** gyroscope/SWM - dish ha ---- 18167,18168 ---- +--- 18171,18172 ---- *************** *** 22321,22323 **** K-factor - disk/MS kabob's ---- 22310,22311 ---- +--- 22314,22315 ---- *************** *** 23129,23132 **** lassoer/M - last-ditch - last-minute last/YSDGkJ ---- 23117,23118 ---- +--- 23121,23122 ---- *************** *** 26396,26398 **** Missy ! mist/CDRGS mistakable/U ---- 26382,26384 ---- +--- 26386,26388 ---- Missy ! mist/CDRGSM mistakable/U *************** *** 26745,26746 **** ---- 26731,26733 ---- +--- 26735,26737 ---- Moog + Moolenaar/M moon/MGpDS @@ -2372,7 +2499,7 @@ mozzarella/SM - MP3 mpg ---- 27005,27006 ---- +--- 27009,27010 ---- *************** *** 27365,27372 **** N'Djamena @@ -2383,7 +2510,7 @@ - national - nationally Na/M ---- 27351,27355 ---- +--- 27355,27359 ---- N'Djamena ! native/SP natively @@ -2394,7 +2521,7 @@ Nathaniel/M ! nation/M national/sQ3Sq ---- 27490,27492 ---- +--- 27494,27496 ---- Nathaniel/M ! nation/MS national/sQ3Sq @@ -2403,7 +2530,7 @@ nationwide - native/SP nativity/SM ---- 27504,27505 ---- +--- 27508,27509 ---- *************** *** 29852,29857 **** P.O. @@ -2412,16 +2539,16 @@ - imply - comply pa/oM ---- 29834,29835 ---- +--- 29838,29839 ---- *************** *** 31702,31703 **** ---- 31680,31682 ---- +--- 31684,31686 ---- pneumonia/MS + pneumonic PO *************** *** 31885,31886 **** ---- 31864,31866 ---- +--- 31868,31870 ---- pompom/SM + pompon/M pomposity/SM @@ -2430,30 +2557,30 @@ qwertys - r/d Ra ---- 33541,33542 ---- +--- 33545,33546 ---- *************** *** 35456,35458 **** rt - rte Ru/M ---- 35435,35436 ---- +--- 35439,35440 ---- *************** *** 35619,35622 **** singly - sable - sally/DSG SA ---- 35597,35598 ---- +--- 35601,35602 ---- *************** *** 40763,40766 **** T's - mist/MS - overt Ta ---- 40739,40740 ---- +--- 40743,40744 ---- *************** *** 43574,43575 **** ---- 43548,43550 ---- +--- 43552,43554 ---- unsearchable + searchable unseeing/Y @@ -2462,7 +2589,7 @@ Vilnius/M ! vim/M vinaigrette/MS ---- 44309,44311 ---- +--- 44313,44315 ---- Vilnius/M ! Vim/M vinaigrette/MS @@ -2471,73 +2598,78 @@ y'all - prey/M yacht/M5SmGD ---- 45881,45882 ---- +--- 45885,45886 ---- *************** *** 46198,46200 **** rata/M - kaka/M waka/M ---- 46172,46173 ---- +--- 46176,46177 ---- *************** *** 46216,46218 **** jandal/MS - Swanndri/M hoon/MS ---- 46189,46190 ---- +--- 46193,46194 ---- *************** *** 46242,46244 **** Invercargill/M - Te Alexandra/M ---- 46214,46215 ---- +--- 46218,46219 ---- *************** *** 46261,46263 **** Kawerau/M - Kerikeri/M Lyttelton/M ---- 46232,46233 ---- +--- 46236,46237 ---- *************** *** 46491,46493 **** Waianakarua - Hakatere Swin ---- 46461,46462 ---- +--- 46465,46466 ---- *************** *** 46690,46692 **** Omarama/M - Wairarapa/M Kilda/M ---- 46659,46660 ---- +--- 46663,46664 ---- *************** *** 46711,46713 **** Wellsford/M - Akaroa/M Avonhead/M ---- 46679,46680 ---- +--- 46683,46684 ---- *************** *** 46838,46840 **** Ballantyne's - DB Monteith's ---- 46805,46806 ---- +--- 46809,46810 ---- *************** *** 46920,46922 **** Egmont/M - Waitaki/M katipo/M ---- 46886,46887 ---- +--- 46890,46891 ---- *************** *** 46956,46958 **** Sunnyside/M - Wairau/M Waikoropupu ---- 46921,46922 ---- +--- 46925,46926 ---- *************** *** 47141,47142 **** Burkina ! Faso/M \ No newline at end of file ---- 47105,47107 ---- +--- 47109,47116 ---- Burkina ! Faso/M ! nd +! the the/! +! a a/! +! a an/! +! an a/! +! an an/! diff --git a/src/vim.h b/src/vim.h --- a/src/vim.h +++ b/src/vim.h @@ -949,6 +949,7 @@ extern char *(*dyn_libintl_textdomain)(c #define DT_HELP 8 /* like DT_TAG, but no wildcards */ #define DT_JUMP 9 /* jump to new tag or selection from list */ #define DT_CSCOPE 10 /* cscope find command (like tjump) */ +#define DT_FREE 99 /* free cached matches */ /* * flags for find_tags(). diff --git a/src/window.c b/src/window.c --- a/src/window.c +++ b/src/window.c @@ -1955,6 +1955,10 @@ win_free_mem(win, dirp) frame_T *frp; win_T *wp; +#ifdef FEAT_FOLDING + clearFolding(win); +#endif + /* reduce the reference count to the argument list. */ alist_unlink(win->w_alist);