Changeset bef6db9 in clfs-sysroot


Ignore:
Timestamp:
Jan 31, 2009, 6:51:46 AM (15 years ago)
Author:
Joe Ciccone <jciccone@…>
Branches:
master
Children:
fbde836
Parents:
8fedadb
Message:

Update Patches.

File:
1 moved

Legend:

Unmodified
Added
Removed
  • patches/vim-7.2-branch_update-5.patch

    r8fedadb rbef6db9  
    1 Submitted By: Jim Gifford (jim at linuxfromscratch dot org)
    2 Date: 12-30-2008
     1Submitted By: Jim Gifford (jim at cross-lfs dot org)
     2Date: 01-19-2009
    33Initial Package Version: 7.2
    44Origin: Upstream
    55Upstream Status: Applied
    6 Description: Contains all upstream patches up to 7.2.076
     6Description: Contains all upstream patches up to 7.2.084
    77             The following patches were skipped
    88             007 036 041 049 071 072 074
     
    1010diff -Naur vim72.orig/Filelist vim72/Filelist
    1111--- vim72.orig/Filelist 2008-07-06 11:02:23.000000000 -0700
    12 +++ vim72/Filelist      2008-12-30 16:15:18.000000000 -0800
     12+++ vim72/Filelist      2009-01-19 00:08:05.000000000 -0800
    1313@@ -285,6 +285,7 @@
    1414                src/proto/os_win32.pro \
     
    2121diff -Naur vim72.orig/runtime/doc/cmdline.txt vim72/runtime/doc/cmdline.txt
    2222--- vim72.orig/runtime/doc/cmdline.txt  2008-08-09 07:22:59.000000000 -0700
    23 +++ vim72/runtime/doc/cmdline.txt       2008-12-30 16:15:47.000000000 -0800
     23+++ vim72/runtime/doc/cmdline.txt       2009-01-19 00:08:30.000000000 -0800
    2424@@ -1,4 +1,4 @@
    2525-*cmdline.txt*   For Vim version 7.2.  Last change: 2008 Jul 29
     
    8080diff -Naur vim72.orig/runtime/doc/eval.txt vim72/runtime/doc/eval.txt
    8181--- vim72.orig/runtime/doc/eval.txt     2008-08-09 07:22:59.000000000 -0700
    82 +++ vim72/runtime/doc/eval.txt  2008-12-30 16:17:36.000000000 -0800
     82+++ vim72/runtime/doc/eval.txt  2009-01-19 00:10:10.000000000 -0800
    8383@@ -1,4 +1,4 @@
    8484-*eval.txt*     For Vim version 7.2.  Last change: 2008 Aug 09
     
    198198 multi_lang             Compiled with support for multiple languages.
    199199 mzscheme               Compiled with MzScheme interface |mzscheme|.
     200diff -Naur vim72.orig/runtime/doc/netbeans.txt vim72/runtime/doc/netbeans.txt
     201--- vim72.orig/runtime/doc/netbeans.txt 2008-08-09 07:22:59.000000000 -0700
     202+++ vim72/runtime/doc/netbeans.txt      2009-01-19 00:10:45.000000000 -0800
     203@@ -1,4 +1,4 @@
     204-*netbeans.txt*  For Vim version 7.2.  Last change: 2008 Jun 28
     205+*netbeans.txt*  For Vim version 7.2.  Last change: 2009 Jan 06
     206 
     207 
     208                  VIM REFERENCE MANUAL    by Gordon Prieur et al.
     209@@ -722,8 +722,10 @@
     210                of the cursor.
     211                New in version 2.1.
     212 
     213-killed         A file was closed by the user.  Only for files that have been
     214-               assigned a number by the IDE.
     215+killed         A file was deleted or wiped out by the user and the buffer
     216+               annotations have been removed.  The bufID number for this
     217+               buffer has become invalid.  Only for files that have been
     218+               assigned a bufID number by the IDE.
     219 
     220 newDotAndMark off off
     221                Reports the position of the cursor being at "off" bytes into
    200222diff -Naur vim72.orig/runtime/doc/options.txt vim72/runtime/doc/options.txt
    201223--- vim72.orig/runtime/doc/options.txt  2008-08-09 07:22:59.000000000 -0700
    202 +++ vim72/runtime/doc/options.txt       2008-12-30 16:16:50.000000000 -0800
     224+++ vim72/runtime/doc/options.txt       2009-01-19 00:09:28.000000000 -0800
    203225@@ -1,4 +1,4 @@
    204226-*options.txt*  For Vim version 7.2.  Last change: 2008 Aug 06
     
    220242diff -Naur vim72.orig/runtime/doc/spell.txt vim72/runtime/doc/spell.txt
    221243--- vim72.orig/runtime/doc/spell.txt    2008-08-09 07:23:00.000000000 -0700
    222 +++ vim72/runtime/doc/spell.txt 2008-12-30 16:17:18.000000000 -0800
     244+++ vim72/runtime/doc/spell.txt 2009-01-19 00:09:54.000000000 -0800
    223245@@ -1,4 +1,4 @@
    224246-*spell.txt*    For Vim version 7.2.  Last change: 2008 Jun 21
     
    350372diff -Naur vim72.orig/runtime/doc/starting.txt vim72/runtime/doc/starting.txt
    351373--- vim72.orig/runtime/doc/starting.txt 2008-08-09 07:23:00.000000000 -0700
    352 +++ vim72/runtime/doc/starting.txt      2008-12-30 16:15:47.000000000 -0800
     374+++ vim72/runtime/doc/starting.txt      2009-01-19 00:08:31.000000000 -0800
    353375@@ -1,4 +1,4 @@
    354376-*starting.txt*  For Vim version 7.2.  Last change: 2008 Jun 21
     
    412434diff -Naur vim72.orig/runtime/doc/usr_21.txt vim72/runtime/doc/usr_21.txt
    413435--- vim72.orig/runtime/doc/usr_21.txt   2008-08-09 07:23:01.000000000 -0700
    414 +++ vim72/runtime/doc/usr_21.txt        2008-12-30 16:15:47.000000000 -0800
     436+++ vim72/runtime/doc/usr_21.txt        2009-01-19 00:08:31.000000000 -0800
    415437@@ -1,4 +1,4 @@
    416438-*usr_21.txt*   For Vim version 7.2.  Last change: 2007 May 01
     
    479501diff -Naur vim72.orig/runtime/scripts.vim vim72/runtime/scripts.vim
    480502--- vim72.orig/runtime/scripts.vim      2008-08-08 15:27:21.000000000 -0700
    481 +++ vim72/runtime/scripts.vim   2008-12-30 16:14:26.000000000 -0800
     503+++ vim72/runtime/scripts.vim   2009-01-19 00:07:18.000000000 -0800
    482504@@ -234,6 +234,10 @@
    483505   elseif s:line1 =~ '\<DTD\s\+XHTML\s'
     
    493515diff -Naur vim72.orig/src/auto/configure vim72/src/auto/configure
    494516--- vim72.orig/src/auto/configure       2008-07-24 05:40:36.000000000 -0700
    495 +++ vim72/src/auto/configure    2008-12-30 16:16:27.000000000 -0800
     517+++ vim72/src/auto/configure    2009-01-19 00:09:07.000000000 -0800
    496518@@ -16819,21 +16819,29 @@
    497519   LDFLAGS="$LDFLAGS -isysroot /Developer/SDKs/MacOSX10.4u.sdk -arch i386 -arch ppc"
     
    534556diff -Naur vim72.orig/src/buffer.c vim72/src/buffer.c
    535557--- vim72.orig/src/buffer.c     2008-08-06 04:00:48.000000000 -0700
    536 +++ vim72/src/buffer.c  2008-12-30 16:17:24.000000000 -0800
     558+++ vim72/src/buffer.c  2009-01-19 00:10:45.000000000 -0800
     559@@ -437,10 +437,6 @@
     560        return;
     561 #endif
     562 
     563-#ifdef FEAT_NETBEANS_INTG
     564-    if (usingNetbeans)
     565-       netbeans_file_closed(buf);
     566-#endif
     567     /* Change directories when the 'acd' option is set. */
     568     DO_AUTOCHDIR
     569 
     570@@ -639,6 +635,10 @@
     571 #ifdef FEAT_SIGNS
     572     buf_delete_signs(buf);             /* delete any signs */
     573 #endif
     574+#ifdef FEAT_NETBEANS_INTG
     575+    if (usingNetbeans)
     576+        netbeans_file_killed(buf);
     577+#endif
     578 #ifdef FEAT_LOCALMAP
     579     map_clear_int(buf, MAP_ALL_MODES, TRUE, FALSE);  /* clear local mappings */
     580     map_clear_int(buf, MAP_ALL_MODES, TRUE, TRUE);   /* clear local abbrevs */
    537581@@ -647,6 +647,9 @@
    538582     vim_free(buf->b_start_fenc);
     
    545589 
    546590 /*
    547 @@ -1237,7 +1240,7 @@
     591@@ -812,9 +815,6 @@
     592     int                bnr;            /* buffer number */
     593     char_u     *p;
     594 
     595-#ifdef FEAT_NETBEANS_INTG
     596-    netbeansCloseFile = 1;
     597-#endif
     598     if (addr_count == 0)
     599     {
     600        (void)do_buffer(command, DOBUF_CURRENT, FORWARD, 0, forceit);
     601@@ -909,9 +909,6 @@
     602        }
     603     }
     604 
     605-#ifdef FEAT_NETBEANS_INTG
     606-    netbeansCloseFile = 0;
     607-#endif
     608 
     609     return errormsg;
     610 }
     611@@ -1237,7 +1234,7 @@
    548612         * "buf" if one exists */
    549613        if ((swb_flags & SWB_USEOPEN) && buf_jump_open_win(buf))
     
    554618        if ((swb_flags & SWB_USETAB) && buf_jump_open_tab(buf))
    555619            return OK;
    556 @@ -1351,11 +1354,12 @@
     620@@ -1351,11 +1348,12 @@
    557621        }
    558622     }
     
    570634 #endif
    571635        enter_buffer(buf);
    572 @@ -1397,6 +1401,9 @@
     636@@ -1397,6 +1395,9 @@
    573637     curwin->w_cursor.coladd = 0;
    574638 #endif
     
    580644     /* Make sure the buffer is loaded. */
    581645     if (curbuf->b_ml.ml_mfp == NULL)   /* need to load the file */
    582 @@ -1436,7 +1443,8 @@
     646@@ -1436,7 +1437,8 @@
    583647     maketitle();
    584648 #endif
     
    590654        scroll_cursor_halfway(FALSE);   /* redisplay at correct position */
    591655 
    592 @@ -3963,7 +3971,7 @@
     656@@ -3963,7 +3965,7 @@
    593657     width = vim_strsize(out);
    594658     if (maxwidth > 0 && width > maxwidth)
     
    599663        if (itemcnt == 0)
    600664            s = out;
    601 @@ -5062,7 +5070,7 @@
     665@@ -5062,7 +5064,7 @@
    602666     {
    603667        if (buf->b_sfname != NULL)
     
    610674diff -Naur vim72.orig/src/configure.in vim72/src/configure.in
    611675--- vim72.orig/src/configure.in 2008-07-24 05:40:26.000000000 -0700
    612 +++ vim72/src/configure.in      2008-12-30 16:16:27.000000000 -0800
     676+++ vim72/src/configure.in      2009-01-19 00:09:07.000000000 -0800
    613677@@ -3152,18 +3152,25 @@
    614678 dnl But only when making dependencies, cproto and lint don't take "-isystem".
     
    645709diff -Naur vim72.orig/src/diff.c vim72/src/diff.c
    646710--- vim72.orig/src/diff.c       2008-03-05 03:16:56.000000000 -0800
    647 +++ vim72/src/diff.c    2008-12-30 16:17:15.000000000 -0800
     711+++ vim72/src/diff.c    2009-01-19 00:09:50.000000000 -0800
    648712@@ -73,6 +73,8 @@
    649713        {
     
    733797     }
    734798 #endif
     799diff -Naur vim72.orig/src/edit.c vim72/src/edit.c
     800--- vim72.orig/src/edit.c       2008-08-06 05:51:17.000000000 -0700
     801+++ vim72/src/edit.c    2009-01-19 00:10:48.000000000 -0800
     802@@ -147,6 +147,7 @@
     803 static int  ins_compl_bs __ARGS((void));
     804 static void ins_compl_new_leader __ARGS((void));
     805 static void ins_compl_addleader __ARGS((int c));
     806+static int ins_compl_len __ARGS((void));
     807 static void ins_compl_restart __ARGS((void));
     808 static void ins_compl_set_original_text __ARGS((char_u *str));
     809 static void ins_compl_addfrommatch __ARGS((void));
     810@@ -197,7 +198,8 @@
     811 static void mb_replace_pop_ins __ARGS((int cc));
     812 #endif
     813 static void replace_flush __ARGS((void));
     814-static void replace_do_bs __ARGS((void));
     815+static void replace_do_bs __ARGS((int limit_col));
     816+static int del_char_after_col __ARGS((int limit_col));
     817 #ifdef FEAT_CINDENT
     818 static int cindent_on __ARGS((void));
     819 #endif
     820@@ -1933,6 +1935,8 @@
     821 /*
     822  * Backspace the cursor until the given column.  Handles REPLACE and VREPLACE
     823  * modes correctly.  May also be used when not in insert mode at all.
     824+ * Will attempt not to go before "col" even when there is a composing
     825+ * character.
     826  */
     827     void
     828 backspace_until_column(col)
     829@@ -1942,13 +1946,49 @@
     830     {
     831        curwin->w_cursor.col--;
     832        if (State & REPLACE_FLAG)
     833-           replace_do_bs();
     834-       else
     835-           (void)del_char(FALSE);
     836+           replace_do_bs(col);
     837+       else if (!del_char_after_col(col))
     838+           break;
     839     }
     840 }
     841 #endif
     842 
     843+/*
     844+ * Like del_char(), but make sure not to go before column "limit_col".
     845+ * Only matters when there are composing characters.
     846+ * Return TRUE when something was deleted.
     847+ */
     848+   static int
     849+del_char_after_col(limit_col)
     850+    int limit_col;
     851+{
     852+#ifdef FEAT_MBYTE
     853+    if (enc_utf8 && limit_col >= 0)
     854+    {
     855+       int ecol = curwin->w_cursor.col + 1;
     856+
     857+       /* Make sure the cursor is at the start of a character, but
     858+        * skip forward again when going too far back because of a
     859+        * composing character. */
     860+       mb_adjust_cursor();
     861+       while (curwin->w_cursor.col < limit_col)
     862+       {
     863+           int l = utf_ptr2len(ml_get_cursor());
     864+
     865+           if (l == 0)  /* end of line */
     866+               break;
     867+           curwin->w_cursor.col += l;
     868+       }
     869+       if (*ml_get_cursor() == NUL || curwin->w_cursor.col == ecol)
     870+           return FALSE;
     871+       del_bytes((long)(ecol - curwin->w_cursor.col), FALSE, TRUE);
     872+    }
     873+    else
     874+#endif
     875+       (void)del_char(FALSE);
     876+    return TRUE;
     877+}
     878+
     879 #if defined(FEAT_INS_EXPAND) || defined(PROTO)
     880 /*
     881  * CTRL-X pressed in Insert mode.
     882@@ -2418,7 +2458,7 @@
     883        {
     884            had_match = (curwin->w_cursor.col > compl_col);
     885            ins_compl_delete();
     886-           ins_bytes(compl_leader + curwin->w_cursor.col - compl_col);
     887+           ins_bytes(compl_leader + ins_compl_len());
     888            ins_redraw(FALSE);
     889 
     890            /* When the match isn't there (to avoid matching itself) remove it
     891@@ -2470,7 +2510,7 @@
     892            *p = NUL;
     893            had_match = (curwin->w_cursor.col > compl_col);
     894            ins_compl_delete();
     895-           ins_bytes(compl_leader + curwin->w_cursor.col - compl_col);
     896+           ins_bytes(compl_leader + ins_compl_len());
     897            ins_redraw(FALSE);
     898 
     899            /* When the match isn't there (to avoid matching itself) remove it
     900@@ -3209,7 +3249,7 @@
     901 {
     902     ins_compl_del_pum();
     903     ins_compl_delete();
     904-    ins_bytes(compl_leader + curwin->w_cursor.col - compl_col);
     905+    ins_bytes(compl_leader + ins_compl_len());
     906     compl_used_match = FALSE;
     907 
     908     if (compl_started)
     909@@ -3264,6 +3304,20 @@
     910 }
     911 
     912 /*
     913+ * Return the length of the completion, from the completion start column to
     914+ * the cursor column.  Making sure it never goes below zero.
     915+ */
     916+    static int
     917+ins_compl_len()
     918+{
     919+    int off = curwin->w_cursor.col - compl_col;
     920+
     921+    if (off < 0)
     922+       return 0;
     923+    return off;
     924+}
     925+
     926+/*
     927  * Append one character to the match leader.  May reduce the number of
     928  * matches.
     929  */
     930@@ -3621,10 +3675,9 @@
     931            {
     932                ins_compl_delete();
     933                if (compl_leader != NULL)
     934-                   ins_bytes(compl_leader + curwin->w_cursor.col - compl_col);
     935+                   ins_bytes(compl_leader + ins_compl_len());
     936                else if (compl_first_match != NULL)
     937-                   ins_bytes(compl_orig_text
     938-                                         + curwin->w_cursor.col - compl_col);
     939+                   ins_bytes(compl_orig_text + ins_compl_len());
     940                retval = TRUE;
     941            }
     942 
     943@@ -4256,7 +4309,7 @@
     944     static void
     945 ins_compl_insert()
     946 {
     947-    ins_bytes(compl_shown_match->cp_str + curwin->w_cursor.col - compl_col);
     948+    ins_bytes(compl_shown_match->cp_str + ins_compl_len());
     949     if (compl_shown_match->cp_flags & ORIGINAL_TEXT)
     950        compl_used_match = FALSE;
     951     else
     952@@ -4425,7 +4478,7 @@
     953        if (!compl_get_longest || compl_used_match)
     954            ins_compl_insert();
     955        else
     956-           ins_bytes(compl_leader + curwin->w_cursor.col - compl_col);
     957+           ins_bytes(compl_leader + ins_compl_len());
     958     }
     959     else
     960        compl_used_match = FALSE;
     961@@ -7123,9 +7176,12 @@
     962  * cc == 0: character was inserted, delete it
     963  * cc > 0: character was replaced, put cc (first byte of original char) back
     964  * and check for more characters to be put back
     965+ * When "limit_col" is >= 0, don't delete before this column.  Matters when
     966+ * using composing characters, use del_char_after_col() instead of del_char().
     967  */
     968     static void
     969-replace_do_bs()
     970+replace_do_bs(limit_col)
     971+    int                limit_col;
     972 {
     973     int                cc;
     974 #ifdef FEAT_VREPLACE
     975@@ -7153,7 +7209,7 @@
     976 #ifdef FEAT_MBYTE
     977        if (has_mbyte)
     978        {
     979-           del_char(FALSE);
     980+           (void)del_char_after_col(limit_col);
     981 # ifdef FEAT_VREPLACE
     982            if (State & VREPLACE_FLAG)
     983                orig_len = (int)STRLEN(ml_get_cursor());
     984@@ -7203,7 +7259,7 @@
     985        changed_bytes(curwin->w_cursor.lnum, curwin->w_cursor.col);
     986     }
     987     else if (cc == 0)
     988-       (void)del_char(FALSE);
     989+       (void)del_char_after_col(limit_col);
     990 }
     991 
     992 #ifdef FEAT_CINDENT
     993@@ -8239,7 +8295,7 @@
     994         * Replace mode */
     995        if (curwin->w_cursor.lnum != Insstart.lnum
     996                || curwin->w_cursor.col >= Insstart.col)
     997-           replace_do_bs();
     998+           replace_do_bs(-1);
     999     }
     1000     else
     1001        (void)del_char(FALSE);
     1002@@ -8556,7 +8612,7 @@
     1003                break;
     1004            }
     1005            if (State & REPLACE_FLAG)
     1006-               replace_do_bs();
     1007+               replace_do_bs(-1);
     1008            else
     1009            {
     1010 #ifdef FEAT_MBYTE
    7351011diff -Naur vim72.orig/src/eval.c vim72/src/eval.c
    7361012--- vim72.orig/src/eval.c       2008-08-07 12:37:22.000000000 -0700
    737 +++ vim72/src/eval.c    2008-12-30 16:17:49.000000000 -0800
     1013+++ vim72/src/eval.c    2009-01-19 00:10:21.000000000 -0800
    7381014@@ -32,6 +32,9 @@
    7391015 
     
    15591835diff -Naur vim72.orig/src/ex_cmds.c vim72/src/ex_cmds.c
    15601836--- vim72.orig/src/ex_cmds.c    2008-08-04 12:15:00.000000000 -0700
    1561 +++ vim72/src/ex_cmds.c 2008-12-30 16:17:03.000000000 -0800
     1837+++ vim72/src/ex_cmds.c 2009-01-19 00:10:54.000000000 -0800
    15621838@@ -24,7 +24,7 @@
    15631839 static void do_filter __ARGS((linenr_T line1, linenr_T line2, exarg_T *eap, char_u *cmd, int do_in, int do_out));
     
    15691845 static int read_viminfo_up_to_marks __ARGS((vir_T *virp, int forceit, int writing));
    15701846 #endif
    1571 @@ -1676,14 +1676,12 @@
     1847@@ -49,6 +49,7 @@
     1848     exarg_T    *eap;
     1849 {
     1850     int                c;
     1851+    int                cval;
     1852     char       buf1[20];
     1853     char       buf2[20];
     1854     char_u     buf3[7];
     1855@@ -75,6 +76,10 @@
     1856     {
     1857        if (c == NL)        /* NUL is stored as NL */
     1858            c = NUL;
     1859+       if (c == CAR && get_fileformat(curbuf) == EOL_MAC)
     1860+           cval = NL;      /* NL is stored as CR */
     1861+       else
     1862+           cval = c;
     1863        if (vim_isprintc_strict(c) && (c < ' '
     1864 #ifndef EBCDIC
     1865                    || c > '~'
     1866@@ -94,7 +99,7 @@
     1867            buf2[0] = NUL;
     1868        vim_snprintf((char *)IObuff, IOSIZE,
     1869                _("<%s>%s%s  %d,  Hex %02x,  Octal %03o"),
     1870-                                          transchar(c), buf1, buf2, c, c, c);
     1871+                                 transchar(c), buf1, buf2, cval, cval, cval);
     1872 #ifdef FEAT_MBYTE
     1873        if (enc_utf8)
     1874            c = cc[ci++];
     1875@@ -1676,14 +1681,12 @@
    15721876 
    15731877 /*
     
    15881892     FILE       *fp;
    15891893     char_u     *fname;
    1590 @@ -1691,7 +1689,7 @@
     1894@@ -1691,7 +1694,7 @@
    15911895     if (no_viminfo())
    15921896        return FAIL;
     
    15971901        return FAIL;
    15981902     fp = mch_fopen((char *)fname, READBIN);
    1599 @@ -1701,8 +1699,9 @@
     1903@@ -1701,8 +1704,9 @@
    16001904        verbose_enter();
    16011905        smsg((char_u *)_("Reading viminfo file \"%s\"%s%s%s"),
     
    16091913        verbose_leave();
    16101914     }
    1611 @@ -1712,10 +1711,9 @@
     1915@@ -1712,10 +1716,9 @@
    16121916        return FAIL;
    16131917 
     
    16211925 }
    16221926 
    1623 @@ -1943,7 +1941,7 @@
     1927@@ -1943,7 +1946,7 @@
    16241928             * root.
    16251929             */
     
    16301934        }
    16311935     }
    1632 @@ -1968,7 +1966,7 @@
     1936@@ -1968,7 +1971,7 @@
    16331937     }
    16341938 
     
    16391943     fclose(fp_out);        /* errors are ignored !? */
    16401944     if (fp_in != NULL)
    1641 @@ -2041,12 +2039,10 @@
     1945@@ -2041,12 +2044,10 @@
    16421946  * do_viminfo() -- Should only be called from read_viminfo() & write_viminfo().
    16431947  */
     
    16541958     int                count = 0;
    16551959     int                eof = FALSE;
    1656 @@ -2061,8 +2057,9 @@
     1960@@ -2061,8 +2062,9 @@
    16571961 
    16581962     if (fp_in != NULL)
     
    16661970            /* Skip info, find start of marks */
    16671971            while (!(eof = viminfo_readline(&vir))
    1668 @@ -2092,8 +2089,9 @@
     1972@@ -2092,8 +2094,9 @@
    16691973        write_viminfo_bufferlist(fp_out);
    16701974        count = write_viminfo_marks(fp_out);
     
    16781982     vim_free(vir.vir_line);
    16791983 #ifdef FEAT_MBYTE
    1680 @@ -5059,6 +5057,7 @@
     1984@@ -5059,6 +5062,7 @@
    16811985 
    16821986            if (did_sub)
     
    16881992diff -Naur vim72.orig/src/ex_cmds.h vim72/src/ex_cmds.h
    16891993--- vim72.orig/src/ex_cmds.h    2008-06-21 11:47:57.000000000 -0700
    1690 +++ vim72/src/ex_cmds.h 2008-12-30 16:15:47.000000000 -0800
     1994+++ vim72/src/ex_cmds.h 2009-01-19 00:08:31.000000000 -0800
    16911995@@ -278,7 +278,7 @@
    16921996 EX(CMD_crewind,                "crewind",      ex_cc,
     
    17362040diff -Naur vim72.orig/src/ex_cmds2.c vim72/src/ex_cmds2.c
    17372041--- vim72.orig/src/ex_cmds2.c   2008-07-13 09:18:22.000000000 -0700
    1738 +++ vim72/src/ex_cmds2.c        2008-12-30 16:14:45.000000000 -0800
     2042+++ vim72/src/ex_cmds2.c        2009-01-19 00:07:35.000000000 -0800
    17392043@@ -3145,8 +3145,8 @@
    17402044        verbose_leave();
     
    17502054diff -Naur vim72.orig/src/ex_docmd.c vim72/src/ex_docmd.c
    17512055--- vim72.orig/src/ex_docmd.c   2008-07-26 04:51:05.000000000 -0700
    1752 +++ vim72/src/ex_docmd.c        2008-12-30 16:17:40.000000000 -0800
     2056+++ vim72/src/ex_docmd.c        2009-01-19 00:10:13.000000000 -0800
    17532057@@ -364,6 +364,7 @@
    17542058 # define ex_function           ex_ni
     
    18932197diff -Naur vim72.orig/src/ex_getln.c vim72/src/ex_getln.c
    18942198--- vim72.orig/src/ex_getln.c   2008-08-08 02:31:33.000000000 -0700
    1895 +++ vim72/src/ex_getln.c        2008-12-30 16:16:50.000000000 -0800
     2199+++ vim72/src/ex_getln.c        2009-01-19 00:09:28.000000000 -0800
    18962200@@ -31,6 +31,8 @@
    18972201     int                cmdattr;        /* attributes for prompt */
     
    20272331diff -Naur vim72.orig/src/feature.h vim72/src/feature.h
    20282332--- vim72.orig/src/feature.h    2008-08-06 04:00:39.000000000 -0700
    2029 +++ vim72/src/feature.h 2008-12-30 16:15:47.000000000 -0800
     2333+++ vim72/src/feature.h 2009-01-19 00:08:31.000000000 -0800
    20302334@@ -767,9 +767,13 @@
    20312335 
     
    20462350diff -Naur vim72.orig/src/fileio.c vim72/src/fileio.c
    20472351--- vim72.orig/src/fileio.c     2008-08-06 04:01:03.000000000 -0700
    2048 +++ vim72/src/fileio.c  2008-12-30 16:18:07.000000000 -0800
     2352+++ vim72/src/fileio.c  2009-01-19 00:10:40.000000000 -0800
    20492353@@ -932,7 +932,10 @@
    20502354     else
     
    21312435        } while (tbuf[FGETS_SIZE - 2] != NUL && tbuf[FGETS_SIZE - 2] != '\n');
    21322436     }
    2133 @@ -6120,6 +6119,47 @@
     2437@@ -6107,12 +6106,24 @@
     2438 #ifdef HAVE_ACL
     2439     vim_acl_T  acl;            /* ACL from original file */
     2440 #endif
     2441+#if defined(UNIX) || defined(CASE_INSENSITIVE_FILENAME)
     2442+    int                use_tmp_file = FALSE;
     2443+#endif
     2444 
     2445     /*
     2446-     * When the names are identical, there is nothing to do.
     2447+     * When the names are identical, there is nothing to do.  When they refer
     2448+     * to the same file (ignoring case and slash/backslash differences) but
     2449+     * the file name differs we need to go through a temp file.
     2450      */
     2451     if (fnamecmp(from, to) == 0)
     2452-       return 0;
     2453+    {
     2454+#ifdef CASE_INSENSITIVE_FILENAME
     2455+       if (STRCMP(gettail(from), gettail(to)) != 0)
     2456+           use_tmp_file = TRUE;
     2457+       else
     2458+#endif
     2459+           return 0;
     2460+    }
     2461 
     2462     /*
     2463      * Fail if the "from" file doesn't exist.  Avoids that "to" is deleted.
     2464@@ -6120,6 +6131,55 @@
    21342465     if (mch_stat((char *)from, &st) < 0)
    21352466        return -1;
     
    21382469+    {
    21392470+       struct stat     st_to;
    2140 +       char            tempname[MAXPATHL + 1];
    21412471+
    21422472+       /* It's possible for the source and destination to be the same file.
     
    21462476+               && st.st_dev == st_to.st_dev
    21472477+               && st.st_ino == st_to.st_ino)
     2478+           use_tmp_file = TRUE;
     2479+    }
     2480+#endif
     2481+
     2482+#if defined(UNIX) || defined(CASE_INSENSITIVE_FILENAME)
     2483+    if (use_tmp_file)
     2484+    {
     2485+       char    tempname[MAXPATHL + 1];
     2486+
     2487+       /*
     2488+        * Find a name that doesn't exist and is in the same directory.
     2489+        * Rename "from" to "tempname" and then rename "tempname" to "to".
     2490+        */
     2491+       if (STRLEN(from) >= MAXPATHL - 5)
     2492+           return -1;
     2493+       STRCPY(tempname, from);
     2494+       for (n = 123; n < 99999; ++n)
    21482495+       {
    2149 +           /* Find a name that doesn't exist and is in the same directory.
    2150 +            * Move "from" to "tempname" and then to "to". */
    2151 +           if (STRLEN(from) >= MAXPATHL - 5)
    2152 +               return -1;
    2153 +           STRCPY(tempname, from);
    2154 +           for (n = 123; n < 99999; ++n)
     2496+           sprintf((char *)gettail((char_u *)tempname), "%d", n);
     2497+           if (mch_stat(tempname, &st) < 0)
    21552498+           {
    2156 +               sprintf(gettail(tempname), "%d", n);
    2157 +               if (mch_stat(tempname, &st_to) < 0)
     2499+               if (mch_rename((char *)from, tempname) == 0)
    21582500+               {
    2159 +                   if (mch_rename((char *)from, tempname) == 0)
    2160 +                   {
    2161 +                       if (mch_rename(tempname, (char *)to) == 0)
    2162 +                           return 0;
    2163 +                       /* Strange, the second step failed.  Try moving the
    2164 +                        * file back and return failure. */
    2165 +                       mch_rename(tempname, (char *)from);
    2166 +                       return -1;
    2167 +                   }
    2168 +                   /* If it fails for one temp name it will most likely fail
    2169 +                    * for any temp name, give up. */
     2501+                   if (mch_rename(tempname, (char *)to) == 0)
     2502+                       return 0;
     2503+                   /* Strange, the second step failed.  Try moving the
     2504+                    * file back and return failure. */
     2505+                   mch_rename(tempname, (char *)from);
    21702506+                   return -1;
    21712507+               }
     2508+               /* If it fails for one temp name it will most likely fail
     2509+                * for any temp name, give up. */
     2510+               return -1;
    21722511+           }
    2173 +           return -1;
    21742512+       }
     2513+       return -1;
    21752514+    }
    21762515+#endif
     
    21792518      * Delete the "to" file, this is required on some systems to make the
    21802519      * mch_rename() work, on other systems it makes sure that we don't have
    2181 @@ -8523,6 +8563,7 @@
     2520@@ -8523,6 +8583,7 @@
    21822521     char_u     *save_sourcing_name;
    21832522     linenr_T   save_sourcing_lnum;
     
    21872526     char_u     *save_autocmd_match;
    21882527     int                save_autocmd_busy;
    2189 @@ -8601,6 +8642,7 @@
     2528@@ -8601,6 +8662,7 @@
    21902529      * Save the autocmd_* variables and info about the current buffer.
    21912530      */
     
    21952534     save_autocmd_match = autocmd_match;
    21962535     save_autocmd_busy = autocmd_busy;
    2197 @@ -8618,14 +8660,15 @@
     2536@@ -8618,14 +8680,15 @@
    21982537        if (fname != NULL && *fname != NUL)
    21992538            autocmd_fname = fname;
     
    22132552     /*
    22142553      * Set the buffer number to be used for <abuf>.
    2215 @@ -8810,6 +8853,7 @@
     2554@@ -8810,6 +8873,7 @@
    22162555     sourcing_lnum = save_sourcing_lnum;
    22172556     vim_free(autocmd_fname);
     
    22212560     autocmd_match = save_autocmd_match;
    22222561 #ifdef FEAT_EVAL
    2223 @@ -8918,7 +8962,7 @@
     2562@@ -8918,7 +8982,7 @@
    22242563     {
    22252564        apc->curpat = NULL;
     
    22302569         * buffer number. */
    22312570        if (ap->pat != NULL && ap->cmds != NULL
    2232 @@ -9104,7 +9148,7 @@
     2571@@ -9104,7 +9168,7 @@
    22332572 set_context_in_autocmd(xp, arg, doautocmd)
    22342573     expand_T   *xp;
     
    22412580diff -Naur vim72.orig/src/fold.c vim72/src/fold.c
    22422581--- vim72.orig/src/fold.c       2008-08-06 04:01:12.000000000 -0700
    2243 +++ vim72/src/fold.c    2008-12-30 16:17:03.000000000 -0800
     2582+++ vim72/src/fold.c    2009-01-19 00:10:42.000000000 -0800
    22442583@@ -48,7 +48,7 @@
    22452584 static int foldFind __ARGS((garray_T *gap, linenr_T lnum, fold_T **fpp));
     
    22512590 static linenr_T setManualFoldWin __ARGS((win_T *wp, linenr_T lnum, int opening, int recurse, int *donep));
    22522591 static void foldOpenNested __ARGS((fold_T *fpr));
    2253 @@ -1241,10 +1241,10 @@
     2592@@ -740,7 +740,7 @@
     2593     garray_T   *found_ga;
     2594     fold_T     *found_fp = NULL;
     2595     linenr_T   found_off = 0;
     2596-    int                use_level = FALSE;
     2597+    int                use_level;
     2598     int                maybe_small = FALSE;
     2599     int                level = 0;
     2600     linenr_T   lnum = start;
     2601@@ -757,6 +757,7 @@
     2602        gap = &curwin->w_folds;
     2603        found_ga = NULL;
     2604        lnum_off = 0;
     2605+       use_level = FALSE;
     2606        for (;;)
     2607        {
     2608            if (!foldFind(gap, lnum - lnum_off, &fp))
     2609@@ -783,20 +784,21 @@
     2610        else
     2611        {
     2612            lnum = found_fp->fd_top + found_fp->fd_len + found_off;
     2613-           did_one = TRUE;
     2614 
     2615            if (foldmethodIsManual(curwin))
     2616                deleteFoldEntry(found_ga,
     2617                    (int)(found_fp - (fold_T *)found_ga->ga_data), recursive);
     2618            else
     2619            {
     2620-               if (found_fp->fd_top + found_off < first_lnum)
     2621-                   first_lnum = found_fp->fd_top;
     2622-               if (lnum > last_lnum)
     2623+               if (first_lnum > found_fp->fd_top + found_off)
     2624+                   first_lnum = found_fp->fd_top + found_off;
     2625+               if (last_lnum < lnum)
     2626                    last_lnum = lnum;
     2627-               parseMarker(curwin);
     2628+               if (!did_one)
     2629+                   parseMarker(curwin);
     2630                deleteFoldMarkers(found_fp, recursive, found_off);
     2631            }
     2632+           did_one = TRUE;
     2633 
     2634            /* redraw window */
     2635            changed_window_setting();
     2636@@ -811,6 +813,10 @@
     2637            redraw_curbuf_later(INVERTED);
     2638 #endif
     2639     }
     2640+    else
     2641+       /* Deleting markers may make cursor column invalid. */
     2642+       check_cursor_col();
     2643+
     2644     if (last_lnum > 0)
     2645        changed_lines(first_lnum, (colnr_T)0, last_lnum, 0L);
     2646 }
     2647@@ -1241,10 +1247,10 @@
    22542648  * Repeat "count" times.
    22552649  */
     
    22642658     int                done;
    22652659     long       n;
    2266 @@ -1252,7 +1252,7 @@
     2660@@ -1252,7 +1258,7 @@
    22672661     for (n = 0; n < count; ++n)
    22682662     {
     
    22752669diff -Naur vim72.orig/src/getchar.c vim72/src/getchar.c
    22762670--- vim72.orig/src/getchar.c    2008-07-22 09:57:48.000000000 -0700
    2277 +++ vim72/src/getchar.c 2008-12-30 16:16:59.000000000 -0800
     2671+++ vim72/src/getchar.c 2009-01-19 00:09:36.000000000 -0800
    22782672@@ -4702,7 +4702,7 @@
    22792673                        return FAIL;
     
    22962690diff -Naur vim72.orig/src/globals.h vim72/src/globals.h
    22972691--- vim72.orig/src/globals.h    2008-07-26 04:53:29.000000000 -0700
    2298 +++ vim72/src/globals.h 2008-12-30 16:17:03.000000000 -0800
     2692+++ vim72/src/globals.h 2009-01-19 00:10:45.000000000 -0800
    22992693@@ -1022,6 +1022,7 @@
    23002694 #endif
     
    23052699 EXTERN char_u  *autocmd_match INIT(= NULL); /* name for <amatch> on cmdline */
    23062700 EXTERN int     did_cursorhold INIT(= FALSE); /* set when CursorHold t'gerd */
    2307 @@ -1548,6 +1549,14 @@
     2701@@ -1339,7 +1340,6 @@
     2702 
     2703 #ifdef FEAT_NETBEANS_INTG
     2704 EXTERN char *netbeansArg INIT(= NULL); /* the -nb[:host:port:passwd] arg */
     2705-EXTERN int netbeansCloseFile INIT(= 0);        /* send killed if != 0 */
     2706 EXTERN int netbeansFireChanges INIT(= 1); /* send buffer changes if != 0 */
     2707 EXTERN int netbeansForcedQuit INIT(= 0);/* don't write modified files */
     2708 EXTERN int netbeansReadFile INIT(= 1); /* OK to read from disk if != 0 */
     2709@@ -1548,6 +1548,14 @@
    23082710 EXTERN time_t starttime;
    23092711 
     
    23222724diff -Naur vim72.orig/src/gui.c vim72/src/gui.c
    23232725--- vim72.orig/src/gui.c        2008-07-27 12:32:14.000000000 -0700
    2324 +++ vim72/src/gui.c     2008-12-30 16:17:34.000000000 -0800
     2726+++ vim72/src/gui.c     2009-01-19 00:10:07.000000000 -0800
    23252727@@ -139,7 +139,7 @@
    23262728                /* The read returns when the child closes the pipe (or when
     
    24152817diff -Naur vim72.orig/src/gui_at_sb.c vim72/src/gui_at_sb.c
    24162818--- vim72.orig/src/gui_at_sb.c  2004-06-07 07:32:25.000000000 -0700
    2417 +++ vim72/src/gui_at_sb.c       2008-12-30 16:17:03.000000000 -0800
     2819+++ vim72/src/gui_at_sb.c       2009-01-19 00:09:39.000000000 -0800
    24182820@@ -1078,6 +1078,12 @@
    24192821     Cardinal   *num_params;    /* unused */
     
    24412843diff -Naur vim72.orig/src/gui_gtk_x11.c vim72/src/gui_gtk_x11.c
    24422844--- vim72.orig/src/gui_gtk_x11.c        2008-07-04 03:46:24.000000000 -0700
    2443 +++ vim72/src/gui_gtk_x11.c     2008-12-30 16:17:03.000000000 -0800
     2845+++ vim72/src/gui_gtk_x11.c     2009-01-19 00:09:39.000000000 -0800
    24442846@@ -4070,14 +4070,14 @@
    24452847 
     
    24652867diff -Naur vim72.orig/src/gui_x11.c vim72/src/gui_x11.c
    24662868--- vim72.orig/src/gui_x11.c    2008-06-08 08:13:45.000000000 -0700
    2467 +++ vim72/src/gui_x11.c 2008-12-30 16:15:59.000000000 -0800
     2869+++ vim72/src/gui_x11.c 2009-01-19 00:08:42.000000000 -0800
    24682870@@ -2450,7 +2450,7 @@
    24692871        *colorPtr = colortable[closest];
     
    24772879diff -Naur vim72.orig/src/gui_xmdlg.c vim72/src/gui_xmdlg.c
    24782880--- vim72.orig/src/gui_xmdlg.c  2008-06-21 09:05:32.000000000 -0700
    2479 +++ vim72/src/gui_xmdlg.c       2008-12-30 16:17:03.000000000 -0800
     2881+++ vim72/src/gui_xmdlg.c       2009-01-19 00:09:39.000000000 -0800
    24802882@@ -369,10 +369,10 @@
    24812883     char       buf[TEMP_BUF_SIZE];
     
    26333035diff -Naur vim72.orig/src/gui_xmebw.c vim72/src/gui_xmebw.c
    26343036--- vim72.orig/src/gui_xmebw.c  2007-09-06 03:57:51.000000000 -0700
    2635 +++ vim72/src/gui_xmebw.c       2008-12-30 16:17:03.000000000 -0800
     3037+++ vim72/src/gui_xmebw.c       2009-01-19 00:09:39.000000000 -0800
    26363038@@ -1256,7 +1256,7 @@
    26373039     }
     
    26603062diff -Naur vim72.orig/src/if_cscope.c vim72/src/if_cscope.c
    26613063--- vim72.orig/src/if_cscope.c  2008-06-24 09:32:34.000000000 -0700
    2662 +++ vim72/src/if_cscope.c       2008-12-30 16:14:15.000000000 -0800
     3064+++ vim72/src/if_cscope.c       2009-01-19 00:07:11.000000000 -0800
    26633065@@ -74,7 +74,7 @@
    26643066     { "add",   cs_add,
     
    26903092diff -Naur vim72.orig/src/if_cscope.h vim72/src/if_cscope.h
    26913093--- vim72.orig/src/if_cscope.h  2007-09-02 07:51:08.000000000 -0700
    2692 +++ vim72/src/if_cscope.h       2008-12-30 16:14:15.000000000 -0800
     3094+++ vim72/src/if_cscope.h       2009-01-19 00:07:11.000000000 -0800
    26933095@@ -42,17 +42,6 @@
    26943096  * f 7name     Find this file
     
    27113113diff -Naur vim72.orig/src/if_perl.xs vim72/src/if_perl.xs
    27123114--- vim72.orig/src/if_perl.xs   2008-07-17 13:55:09.000000000 -0700
    2713 +++ vim72/src/if_perl.xs        2008-12-30 16:17:28.000000000 -0800
     3115+++ vim72/src/if_perl.xs        2009-01-19 00:10:02.000000000 -0800
    27143116@@ -136,6 +136,9 @@
    27153117 #  define Perl_newXS_flags dll_Perl_newXS_flags
     
    27623164diff -Naur vim72.orig/src/if_python.c vim72/src/if_python.c
    27633165--- vim72.orig/src/if_python.c  2008-07-17 14:09:32.000000000 -0700
    2764 +++ vim72/src/if_python.c       2008-12-30 16:16:31.000000000 -0800
     3166+++ vim72/src/if_python.c       2009-01-19 00:10:59.000000000 -0800
    27653167@@ -531,6 +531,12 @@
    27663168        if (PythonMod_Init())
     
    27763178        Python_SaveThread();
    27773179 
    2778 @@ -2345,7 +2351,8 @@
     3180@@ -1145,14 +1151,23 @@
     3181 
     3182     /* Check if we run into a recursive loop.  The item must be in lookupDict
     3183      * then and we can use it again. */
     3184-    sprintf(ptrBuf, PRINTF_DECIMAL_LONG_U, (long_u)our_tv);
     3185-    result = PyDict_GetItemString(lookupDict, ptrBuf);
     3186-    if (result != NULL)
     3187-       Py_INCREF(result);
     3188-    else if (our_tv->v_type == VAR_STRING)
     3189+    if ((our_tv->v_type == VAR_LIST && our_tv->vval.v_list != NULL)
     3190+           || (our_tv->v_type == VAR_DICT && our_tv->vval.v_dict != NULL))
     3191+    {
     3192+       sprintf(ptrBuf, PRINTF_DECIMAL_LONG_U,
     3193+               our_tv->v_type == VAR_LIST ? (long_u)our_tv->vval.v_list
     3194+                                          : (long_u)our_tv->vval.v_dict);
     3195+       result = PyDict_GetItemString(lookupDict, ptrBuf);
     3196+       if (result != NULL)
     3197+       {
     3198+           Py_INCREF(result);
     3199+           return result;
     3200+       }
     3201+    }
     3202+
     3203+    if (our_tv->v_type == VAR_STRING)
     3204     {
     3205        result = Py_BuildValue("s", our_tv->vval.v_string);
     3206-       PyDict_SetItemString(lookupDict, ptrBuf, result);
     3207     }
     3208     else if (our_tv->v_type == VAR_NUMBER)
     3209     {
     3210@@ -1161,7 +1176,6 @@
     3211        /* For backwards compatibility numbers are stored as strings. */
     3212        sprintf(buf, "%ld", (long)our_tv->vval.v_number);
     3213        result = Py_BuildValue("s", buf);
     3214-       PyDict_SetItemString(lookupDict, ptrBuf, result);
     3215     }
     3216 # ifdef FEAT_FLOAT
     3217     else if (our_tv->v_type == VAR_FLOAT)
     3218@@ -1170,7 +1184,6 @@
     3219 
     3220        sprintf(buf, "%f", our_tv->vval.v_float);
     3221        result = Py_BuildValue("s", buf);
     3222-       PyDict_SetItemString(lookupDict, ptrBuf, result);
     3223     }
     3224 # endif
     3225     else if (our_tv->v_type == VAR_LIST)
     3226@@ -1179,10 +1192,11 @@
     3227        listitem_T      *curr;
     3228 
     3229        result = PyList_New(0);
     3230-       PyDict_SetItemString(lookupDict, ptrBuf, result);
     3231 
     3232        if (list != NULL)
     3233        {
     3234+           PyDict_SetItemString(lookupDict, ptrBuf, result);
     3235+
     3236            for (curr = list->lv_first; curr != NULL; curr = curr->li_next)
     3237            {
     3238                newObj = VimToPython(&curr->li_tv, depth + 1, lookupDict);
     3239@@ -1194,7 +1208,6 @@
     3240     else if (our_tv->v_type == VAR_DICT)
     3241     {
     3242        result = PyDict_New();
     3243-       PyDict_SetItemString(lookupDict, ptrBuf, result);
     3244 
     3245        if (our_tv->vval.v_dict != NULL)
     3246        {
     3247@@ -1203,6 +1216,8 @@
     3248            hashitem_T  *hi;
     3249            dictitem_T  *di;
     3250 
     3251+           PyDict_SetItemString(lookupDict, ptrBuf, result);
     3252+
     3253            for (hi = ht->ht_array; todo > 0; ++hi)
     3254            {
     3255                if (!HASHITEM_EMPTY(hi))
     3256@@ -2345,7 +2360,8 @@
    27793257 {
    27803258     PyObject *mod;
     
    27883266diff -Naur vim72.orig/src/if_xcmdsrv.c vim72/src/if_xcmdsrv.c
    27893267--- vim72.orig/src/if_xcmdsrv.c 2008-07-18 06:05:03.000000000 -0700
    2790 +++ vim72/src/if_xcmdsrv.c      2008-12-30 16:16:09.000000000 -0800
     3268+++ vim72/src/if_xcmdsrv.c      2009-01-19 00:08:50.000000000 -0800
    27913269@@ -736,7 +736,7 @@
    27923270                + serverReply.ga_len;
     
    28183296diff -Naur vim72.orig/src/main.c vim72/src/main.c
    28193297--- vim72.orig/src/main.c       2008-07-24 01:40:56.000000000 -0700
    2820 +++ vim72/src/main.c    2008-12-30 16:17:03.000000000 -0800
     3298+++ vim72/src/main.c    2009-01-19 00:09:39.000000000 -0800
    28213299@@ -645,11 +645,12 @@
    28223300 
     
    28803358diff -Naur vim72.orig/src/mark.c vim72/src/mark.c
    28813359--- vim72.orig/src/mark.c       2008-08-08 15:06:49.000000000 -0700
    2882 +++ vim72/src/mark.c    2008-12-30 16:15:47.000000000 -0800
     3360+++ vim72/src/mark.c    2009-01-19 00:08:31.000000000 -0800
    28833361@@ -1627,15 +1627,17 @@
    28843362 
     
    29493427diff -Naur vim72.orig/src/mbyte.c vim72/src/mbyte.c
    29503428--- vim72.orig/src/mbyte.c      2008-07-14 05:38:05.000000000 -0700
    2951 +++ vim72/src/mbyte.c   2008-12-30 16:17:03.000000000 -0800
     3429+++ vim72/src/mbyte.c   2009-01-19 00:09:39.000000000 -0800
    29523430@@ -717,7 +717,7 @@
    29533431                     * where mblen() returns 0 for invalid character.
     
    30313509diff -Naur vim72.orig/src/menu.c vim72/src/menu.c
    30323510--- vim72.orig/src/menu.c       2008-06-21 12:53:43.000000000 -0700
    3033 +++ vim72/src/menu.c    2008-12-30 16:14:07.000000000 -0800
     3511+++ vim72/src/menu.c    2009-01-19 00:07:05.000000000 -0800
    30343512@@ -1120,6 +1120,7 @@
    30353513        parent = menu;
     
    30423520diff -Naur vim72.orig/src/message.c vim72/src/message.c
    30433521--- vim72.orig/src/message.c    2008-07-09 11:24:55.000000000 -0700
    3044 +++ vim72/src/message.c 2008-12-30 16:17:03.000000000 -0800
    3045 @@ -4585,61 +4585,62 @@
     3522+++ vim72/src/message.c 2009-01-19 00:10:51.000000000 -0800
     3523@@ -4556,7 +4556,13 @@
     3524                        remove_trailing_zeroes = TRUE;
     3525                    }
     3526 
     3527-                   if (fmt_spec == 'f' && abs_f > 1.0e307)
     3528+                   if (fmt_spec == 'f' &&
     3529+#ifdef VAX
     3530+                           abs_f > 1.0e38
     3531+#else
     3532+                           abs_f > 1.0e307
     3533+#endif
     3534+                           )
     3535                    {
     3536                        /* Avoid a buffer overflow */
     3537                        strcpy(tmp, "inf");
     3538@@ -4585,61 +4591,62 @@
    30463539                        if (remove_trailing_zeroes)
    30473540                        {
     
    31293622diff -Naur vim72.orig/src/misc1.c vim72/src/misc1.c
    31303623--- vim72.orig/src/misc1.c      2008-07-12 12:20:53.000000000 -0700
    3131 +++ vim72/src/misc1.c   2008-12-30 16:15:47.000000000 -0800
     3624+++ vim72/src/misc1.c   2009-01-19 00:08:31.000000000 -0800
    31323625@@ -3245,9 +3245,9 @@
    31333626 
     
    31443637diff -Naur vim72.orig/src/misc2.c vim72/src/misc2.c
    31453638--- vim72.orig/src/misc2.c      2008-07-23 12:12:56.000000000 -0700
    3146 +++ vim72/src/misc2.c   2008-12-30 16:17:58.000000000 -0800
     3639+++ vim72/src/misc2.c   2009-01-19 00:10:29.000000000 -0800
    31473640@@ -873,7 +873,7 @@
    31483641            /* 3. check for available memory: call mch_avail_mem() */
     
    32153708diff -Naur vim72.orig/src/move.c vim72/src/move.c
    32163709--- vim72.orig/src/move.c       2008-07-12 09:26:47.000000000 -0700
    3217 +++ vim72/src/move.c    2008-12-30 16:16:21.000000000 -0800
     3710+++ vim72/src/move.c    2009-01-19 00:09:02.000000000 -0800
    32183711@@ -280,18 +280,20 @@
    32193712 
     
    32653758diff -Naur vim72.orig/src/netbeans.c vim72/src/netbeans.c
    32663759--- vim72.orig/src/netbeans.c   2008-07-13 09:19:54.000000000 -0700
    3267 +++ vim72/src/netbeans.c        2008-12-30 16:17:03.000000000 -0800
     3760+++ vim72/src/netbeans.c        2009-01-19 00:10:45.000000000 -0800
    32683761@@ -1043,7 +1043,7 @@
    32693762        nbdebug(("EVT: %s", buf));
     
    33013794                nbdebug(("    partial line annotation -- Not Yet Implemented!\n"));
    33023795            }
     3796@@ -2924,44 +2918,26 @@
     3797 }
     3798 
     3799 /*
     3800- * Tell netbeans a file was closed.
     3801+ * Tell netbeans that a file was deleted or wiped out.
     3802  */
     3803     void
     3804-netbeans_file_closed(buf_T *bufp)
     3805+netbeans_file_killed(buf_T *bufp)
     3806 {
     3807     int                bufno = nb_getbufno(bufp);
     3808     nbbuf_T    *nbbuf = nb_get_buf(bufno);
     3809     char       buffer[2*MAXPATHL];
     3810 
     3811-    if (!haveConnection || bufno < 0)
     3812-       return;
     3813-
     3814-    if (!netbeansCloseFile)
     3815-    {
     3816-       nbdebug(("Ignoring file_closed for %s. File was closed from IDE\n",
     3817-                   bufp->b_ffname));
     3818+    if (!haveConnection || bufno == -1)
     3819        return;
     3820-    }
     3821-
     3822-    nbdebug(("netbeans_file_closed:\n"));
     3823-    nbdebug(("    Closing bufno: %d", bufno));
     3824-    if (curbuf != NULL && curbuf != bufp)
     3825-    {
     3826-       nbdebug(("    Curbuf bufno:  %d\n", nb_getbufno(curbuf)));
     3827-    }
     3828-    else if (curbuf == bufp)
     3829-    {
     3830-       nbdebug(("    curbuf == bufp\n"));
     3831-    }
     3832 
     3833-    if (bufno <= 0)
     3834-       return;
     3835+    nbdebug(("netbeans_file_killed:\n"));
     3836+    nbdebug(("    Killing bufno: %d", bufno));
     3837 
     3838     sprintf(buffer, "%d:killed=%d\n", bufno, r_cmdno);
     3839 
     3840     nbdebug(("EVT: %s", buffer));
     3841 
     3842-    nb_send(buffer, "netbeans_file_closed");
     3843+    nb_send(buffer, "netbeans_file_killed");
     3844 
     3845     if (nbbuf != NULL)
     3846        nbbuf->bufp = NULL;
    33033847diff -Naur vim72.orig/src/normal.c vim72/src/normal.c
    33043848--- vim72.orig/src/normal.c     2008-07-31 13:03:08.000000000 -0700
    3305 +++ vim72/src/normal.c  2008-12-30 16:16:40.000000000 -0800
     3849+++ vim72/src/normal.c  2009-01-19 00:09:18.000000000 -0800
    33063850@@ -183,6 +183,8 @@
    33073851 static void    nv_cursorhold __ARGS((cmdarg_T *cap));
     
    34914035diff -Naur vim72.orig/src/ops.c vim72/src/ops.c
    34924036--- vim72.orig/src/ops.c        2008-06-21 13:08:59.000000000 -0700
    3493 +++ vim72/src/ops.c     2008-12-30 16:17:30.000000000 -0800
     4037+++ vim72/src/ops.c     2009-01-19 00:10:04.000000000 -0800
    34944038@@ -2209,12 +2209,15 @@
    34954039     {
     
    35124056diff -Naur vim72.orig/src/option.c vim72/src/option.c
    35134057--- vim72.orig/src/option.c     2008-07-18 06:05:33.000000000 -0700
    3514 +++ vim72/src/option.c  2008-12-30 16:17:58.000000000 -0800
     4058+++ vim72/src/option.c  2009-01-19 00:10:29.000000000 -0800
    35154059@@ -2593,13 +2593,13 @@
    35164060 #ifdef FEAT_VIMINFO
     
    35704114diff -Naur vim72.orig/src/os_unix.c vim72/src/os_unix.c
    35714115--- vim72.orig/src/os_unix.c    2008-08-06 04:01:40.000000000 -0700
    3572 +++ vim72/src/os_unix.c 2008-12-30 16:17:03.000000000 -0800
     4116+++ vim72/src/os_unix.c 2009-01-19 00:09:40.000000000 -0800
    35734117@@ -315,12 +315,15 @@
    35744118     {-1,           "Unknown!", FALSE}
     
    36844228diff -Naur vim72.orig/src/proto/eval.pro vim72/src/proto/eval.pro
    36854229--- vim72.orig/src/proto/eval.pro       2008-08-09 07:31:25.000000000 -0700
    3686 +++ vim72/src/proto/eval.pro    2008-12-30 16:16:40.000000000 -0800
     4230+++ vim72/src/proto/eval.pro    2009-01-19 00:09:18.000000000 -0800
    36874231@@ -17,7 +17,7 @@
    36884232 int eval_to_bool __ARGS((char_u *arg, int *error, char_u **nextcmd, int skip));
     
    37264270diff -Naur vim72.orig/src/proto/ex_cmds.pro vim72/src/proto/ex_cmds.pro
    37274271--- vim72.orig/src/proto/ex_cmds.pro    2008-08-09 07:31:25.000000000 -0700
    3728 +++ vim72/src/proto/ex_cmds.pro 2008-12-30 16:15:47.000000000 -0800
     4272+++ vim72/src/proto/ex_cmds.pro 2009-01-19 00:08:31.000000000 -0800
    37294273@@ -11,7 +11,7 @@
    37304274 char_u *make_filter_cmd __ARGS((char_u *cmd, char_u *itmp, char_u *otmp));
     
    37384282diff -Naur vim72.orig/src/proto/ex_getln.pro vim72/src/proto/ex_getln.pro
    37394283--- vim72.orig/src/proto/ex_getln.pro   2008-08-09 07:31:28.000000000 -0700
    3740 +++ vim72/src/proto/ex_getln.pro        2008-12-30 16:16:50.000000000 -0800
     4284+++ vim72/src/proto/ex_getln.pro        2009-01-19 00:09:28.000000000 -0800
    37414285@@ -31,7 +31,7 @@
    37424286 void set_cmd_context __ARGS((expand_T *xp, char_u *str, int len, int col));
     
    37504294diff -Naur vim72.orig/src/proto/mark.pro vim72/src/proto/mark.pro
    37514295--- vim72.orig/src/proto/mark.pro       2008-08-09 07:31:36.000000000 -0700
    3752 +++ vim72/src/proto/mark.pro    2008-12-30 16:15:47.000000000 -0800
     4296+++ vim72/src/proto/mark.pro    2009-01-19 00:08:31.000000000 -0800
    37534297@@ -26,5 +26,5 @@
    37544298 void write_viminfo_filemarks __ARGS((FILE *fp));
     
    37604304diff -Naur vim72.orig/src/proto/misc2.pro vim72/src/proto/misc2.pro
    37614305--- vim72.orig/src/proto/misc2.pro      2008-08-09 07:31:40.000000000 -0700
    3762 +++ vim72/src/proto/misc2.pro   2008-12-30 16:17:58.000000000 -0800
     4306+++ vim72/src/proto/misc2.pro   2009-01-19 00:10:29.000000000 -0800
    37634307@@ -59,7 +59,7 @@
    37644308 int handle_x_keys __ARGS((int key));
     
    37704314 int find_special_key_in_table __ARGS((int c));
    37714315 int get_special_key_code __ARGS((char_u *name));
     4316diff -Naur vim72.orig/src/proto/netbeans.pro vim72/src/proto/netbeans.pro
     4317--- vim72.orig/src/proto/netbeans.pro   2008-08-09 07:31:56.000000000 -0700
     4318+++ vim72/src/proto/netbeans.pro        2009-01-19 00:10:45.000000000 -0800
     4319@@ -11,7 +11,7 @@
     4320 void netbeans_frame_moved __ARGS((int new_x, int new_y));
     4321 void netbeans_file_activated __ARGS((buf_T *bufp));
     4322 void netbeans_file_opened __ARGS((buf_T *bufp));
     4323-void netbeans_file_closed __ARGS((buf_T *bufp));
     4324+void netbeans_file_killed __ARGS((buf_T *bufp));
     4325 void netbeans_inserted __ARGS((buf_T *bufp, linenr_T linenr, colnr_T col, char_u *txt, int newlen));
     4326 void netbeans_removed __ARGS((buf_T *bufp, linenr_T linenr, colnr_T col, long len));
     4327 void netbeans_unmodified __ARGS((buf_T *bufp));
    37724328diff -Naur vim72.orig/src/pty.c vim72/src/pty.c
    37734329--- vim72.orig/src/pty.c        2008-06-21 11:52:58.000000000 -0700
    3774 +++ vim72/src/pty.c     2008-12-30 16:14:03.000000000 -0800
     4330+++ vim72/src/pty.c     2009-01-19 00:07:02.000000000 -0800
    37754331@@ -270,9 +270,10 @@
    37764332 }
     
    37884344diff -Naur vim72.orig/src/screen.c vim72/src/screen.c
    37894345--- vim72.orig/src/screen.c     2008-07-24 07:45:07.000000000 -0700
    3790 +++ vim72/src/screen.c  2008-12-30 16:15:21.000000000 -0800
     4346+++ vim72/src/screen.c  2009-01-19 00:08:07.000000000 -0800
    37914347@@ -2439,9 +2439,17 @@
    37924348 
     
    38124368diff -Naur vim72.orig/src/spell.c vim72/src/spell.c
    38134369--- vim72.orig/src/spell.c      2008-07-12 12:20:55.000000000 -0700
    3814 +++ vim72/src/spell.c   2008-12-30 16:17:46.000000000 -0800
     4370+++ vim72/src/spell.c   2009-01-19 00:10:18.000000000 -0800
    38154371@@ -77,7 +77,7 @@
    38164372 
     
    46475203diff -Naur vim72.orig/src/structs.h vim72/src/structs.h
    46485204--- vim72.orig/src/structs.h    2008-07-30 13:02:50.000000000 -0700
    4649 +++ vim72/src/structs.h 2008-12-30 16:16:21.000000000 -0800
     5205+++ vim72/src/structs.h 2009-01-19 00:09:02.000000000 -0800
    46505206@@ -459,7 +459,7 @@
    46515207 typedef struct
     
    46765232diff -Naur vim72.orig/src/tag.c vim72/src/tag.c
    46775233--- vim72.orig/src/tag.c        2008-07-16 14:31:30.000000000 -0700
    4678 +++ vim72/src/tag.c     2008-12-30 16:17:42.000000000 -0800
     5234+++ vim72/src/tag.c     2009-01-19 00:10:57.000000000 -0800
     5235@@ -515,7 +515,7 @@
     5236             * If a count is supplied to the ":tag <name>" command, then
     5237             * jump to count'th matching tag.
     5238             */
     5239-           if (type == DT_TAG && count > 0)
     5240+           if (type == DT_TAG && *tag != NUL && count > 0)
     5241                cur_match = count - 1;
     5242 
     5243            if (type == DT_SELECT || type == DT_JUMP
    46795244@@ -2725,7 +2725,24 @@
    46805245         */
     
    47225287diff -Naur vim72.orig/src/testdir/Make_ming.mak vim72/src/testdir/Make_ming.mak
    47235288--- vim72.orig/src/testdir/Make_ming.mak        1969-12-31 16:00:00.000000000 -0800
    4724 +++ vim72/src/testdir/Make_ming.mak     2008-12-30 16:15:18.000000000 -0800
     5289+++ vim72/src/testdir/Make_ming.mak     2009-01-19 00:08:05.000000000 -0800
    47255290@@ -0,0 +1,91 @@
    47265291+# Makefile to run tests for Vim, on Dos-like machines
     
    48175382diff -Naur vim72.orig/src/testdir/Makefile vim72/src/testdir/Makefile
    48185383--- vim72.orig/src/testdir/Makefile     2008-06-19 13:29:46.000000000 -0700
    4819 +++ vim72/src/testdir/Makefile  2008-12-30 16:14:55.000000000 -0800
     5384+++ vim72/src/testdir/Makefile  2009-01-19 00:07:44.000000000 -0800
    48205385@@ -26,15 +26,17 @@
    48215386 
     
    48515416diff -Naur vim72.orig/src/testdir/test42.ok vim72/src/testdir/test42.ok
    48525417--- vim72.orig/src/testdir/test42.ok    2008-02-20 04:27:37.000000000 -0800
    4853 +++ vim72/src/testdir/test42.ok 2008-12-30 16:15:53.000000000 -0800
     5418+++ vim72/src/testdir/test42.ok 2009-01-19 00:08:36.000000000 -0800
    48545419@@ -20,7 +20,7 @@
    48555420 ucs-2
     
    48635428diff -Naur vim72.orig/src/ui.c vim72/src/ui.c
    48645429--- vim72.orig/src/ui.c 2008-07-14 11:14:56.000000000 -0700
    4865 +++ vim72/src/ui.c      2008-12-30 16:17:03.000000000 -0800
     5430+++ vim72/src/ui.c      2009-01-19 00:09:40.000000000 -0800
    48665431@@ -1820,7 +1820,7 @@
    48675432 #ifdef HAVE_DUP
     
    49715536diff -Naur vim72.orig/src/version.c vim72/src/version.c
    49725537--- vim72.orig/src/version.c    2008-08-09 07:24:52.000000000 -0700
    4973 +++ vim72/src/version.c 2008-12-30 16:18:07.000000000 -0800
    4974 @@ -677,9 +677,160 @@
     5538+++ vim72/src/version.c 2009-01-19 00:10:59.000000000 -0800
     5539@@ -677,9 +677,176 @@
    49755540 static int included_patches[] =
    49765541 {   /* Add new patch number below this line */
    49775542 /**/
     5543+    84,
     5544+/**/
     5545+    83,
     5546+/**/
     5547+    82,
     5548+/**/
     5549+    81,
     5550+/**/
     5551+    80,
     5552+/**/
     5553+    79,
     5554+/**/
     5555+    78,
     5556+/**/
     5557+    77,
     5558+/**/
    49785559+    76,
    49795560+/**/
     
    51335714 highest_patch()
    51345715 {
    5135 @@ -786,7 +937,7 @@
     5716@@ -786,7 +953,7 @@
    51365717     MSG_PUTS(_("\nRISC OS version"));
    51375718 #endif
     
    51425723     if (*compiled_arch != NUL)
    51435724     {
    5144 @@ -825,6 +976,19 @@
     5725@@ -825,6 +992,19 @@
    51455726        }
    51465727     }
     
    51645745diff -Naur vim72.orig/src/vim.h vim72/src/vim.h
    51655746--- vim72.orig/src/vim.h        2008-08-09 09:03:38.000000000 -0700
    5166 +++ vim72/src/vim.h     2008-12-30 16:16:37.000000000 -0800
     5747+++ vim72/src/vim.h     2009-01-19 00:09:15.000000000 -0800
    51675748@@ -341,8 +341,14 @@
    51685749 #ifdef BACKSLASH_IN_FILENAME
     
    52245805diff -Naur vim72.orig/src/window.c vim72/src/window.c
    52255806--- vim72.orig/src/window.c     2008-08-06 04:00:30.000000000 -0700
    5226 +++ vim72/src/window.c  2008-12-30 16:17:03.000000000 -0800
     5807+++ vim72/src/window.c  2009-01-19 00:09:40.000000000 -0800
    52275808@@ -4028,14 +4028,14 @@
    52285809            if (mch_dirname(cwd, MAXPATHL) == OK)
     
    52455826diff -Naur vim72.orig/src/workshop.c vim72/src/workshop.c
    52465827--- vim72.orig/src/workshop.c   2008-06-21 11:53:26.000000000 -0700
    5247 +++ vim72/src/workshop.c        2008-12-30 16:16:56.000000000 -0800
     5828+++ vim72/src/workshop.c        2009-01-19 00:09:33.000000000 -0800
    52485829@@ -1121,8 +1121,12 @@
    52495830                                      ? (char *)curbuf->b_sfname : "<None>");
Note: See TracChangeset for help on using the changeset viewer.