]> granicus.if.org Git - vim/commitdiff
updated for version 7.0093
authorBram Moolenaar <Bram@vim.org>
Sat, 25 Jun 2005 22:49:46 +0000 (22:49 +0000)
committerBram Moolenaar <Bram@vim.org>
Sat, 25 Jun 2005 22:49:46 +0000 (22:49 +0000)
src/buffer.c
src/diff.c
src/ex_docmd.c
src/getchar.c
src/mark.c
src/proto/buffer.pro
src/proto/gui_gtk_x11.pro
src/spell.c
src/spell/en_NZ.diff
src/vim.h
src/window.c

index e2b3f5d1514f5f2a00da1cb99d89a237c201f163..ea286c58800df3f3cfd4ef12a127ac36275c489e 100644 (file)
@@ -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)
index 305e68f413a68aa83c8e4455c9719b8d6142fe2a..4acba3df7bee79d292200aebed924b5169726aa0 100644 (file)
@@ -69,7 +69,6 @@ static int diff_check_sanity __ARGS((diff_T *dp));
 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_new)
 /*
  * Clear the list of diffblocks.
  */
-    static void
+    void
 diff_clear()
 {
     diff_T     *p, *next_p;
index af3e7f9bfe3ad3d7efac1a66349bd58963f8a890..75d2c9411401436e2195735007ed142bf89efac7 100644 (file)
@@ -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;
 
index 6d26d6d557f470adad4596b53e484bb02749b513..686861aa47d305b790e41a2a26372cf43adb69fb 100644 (file)
@@ -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.
index c804d1eda600c40daeb30d4dec95a1b6d476a655..1655e035783d4beefd25e06f824c1f4b4734897f 100644 (file)
@@ -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)
index 835d2cefcb0e3420920547bfba9ac96c28c2f012..1061e367f1d47a2c8a3482e1013cda2c7dbf78ba 100644 (file)
@@ -39,6 +39,7 @@ void fileinfo __ARGS((int fullname, int shorthelp, int dont_truncate));
 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));
index 81330228aeaf8558753748723b52c9b493312b6c..a22bacfe898e18d336238ec43d17c9b04f44de35 100644 (file)
@@ -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));
index c5d81229e7d6154d4905b79bcdc58eb8f5cc53b4..e806476461e9287236fb8e7999a479620f512a37 100644 (file)
@@ -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((char_u *flags, int cnt, char_u *upp));
 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. */
@@ -5016,6 +5019,28 @@ set_spell_finish(new_st)
     return OK;
 }
 
+/*
+ * 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.
  */
@@ -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 */
index 243018fc46d2f66f27211447e462ea6c489927eb..41274769dea25ad732cc6352ceef8de323739d94 100644 (file)
@@ -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
   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
 ! 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
 ! 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
   C.Lit.
 ! cation/SM
   Ca/y
---- 5701,5703 ----
+--- 5704,5706 ----
   C.Lit.
 ! cation/MWS
   Ca/y
   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
   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.
 - 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
   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
   mozzarella/SM
 - MP3
   mpg
---- 27005,27006 ----
+--- 27009,27010 ----
 ***************
 *** 27365,27372 ****
   N'Djamena
 - national
 - nationally
   Na/M
---- 27351,27355 ----
+--- 27355,27359 ----
   N'Djamena
 ! native/SP
   natively
   Nathaniel/M
 ! nation/M
   national/sQ3Sq
---- 27490,27492 ----
+--- 27494,27496 ----
   Nathaniel/M
 ! nation/MS
   national/sQ3Sq
   nationwide
 - native/SP
   nativity/SM
---- 27504,27505 ----
+--- 27508,27509 ----
 ***************
 *** 29852,29857 ****
   P.O.
 - 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
   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
   Vilnius/M
 ! vim/M
   vinaigrette/MS
---- 44309,44311 ----
+--- 44313,44315 ----
   Vilnius/M
 ! Vim/M
   vinaigrette/MS
   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/!
index 21bce87affd7e1c8ed246b9f23bff30fadc884a1..6dfc94629abe86b9a4b137c886452bc8fc5dd810 100644 (file)
--- a/src/vim.h
+++ b/src/vim.h
@@ -949,6 +949,7 @@ extern char *(*dyn_libintl_textdomain)(const char *domainname);
 #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().
index cb9e30a3554883519b91ed73b19b4b1ebafd520a..81fc4c3649271aa6caace37ba7995c0c0ceb567b 100644 (file)
@@ -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);