- Timestamp:
- Jan 31, 2009, 6:51:46 AM (16 years ago)
- Branches:
- master
- Children:
- fbde836
- Parents:
- 8fedadb
- File:
-
- 1 moved
Legend:
- Unmodified
- Added
- Removed
-
patches/vim-7.2-branch_update-5.patch
r8fedadb rbef6db9 1 Submitted By: Jim Gifford (jim at linuxfromscratchdot org)2 Date: 12-30-20081 Submitted By: Jim Gifford (jim at cross-lfs dot org) 2 Date: 01-19-2009 3 3 Initial Package Version: 7.2 4 4 Origin: Upstream 5 5 Upstream Status: Applied 6 Description: Contains all upstream patches up to 7.2.0 766 Description: Contains all upstream patches up to 7.2.084 7 7 The following patches were skipped 8 8 007 036 041 049 071 072 074 … … 10 10 diff -Naur vim72.orig/Filelist vim72/Filelist 11 11 --- vim72.orig/Filelist 2008-07-06 11:02:23.000000000 -0700 12 +++ vim72/Filelist 200 8-12-30 16:15:18.000000000 -080012 +++ vim72/Filelist 2009-01-19 00:08:05.000000000 -0800 13 13 @@ -285,6 +285,7 @@ 14 14 src/proto/os_win32.pro \ … … 21 21 diff -Naur vim72.orig/runtime/doc/cmdline.txt vim72/runtime/doc/cmdline.txt 22 22 --- vim72.orig/runtime/doc/cmdline.txt 2008-08-09 07:22:59.000000000 -0700 23 +++ vim72/runtime/doc/cmdline.txt 200 8-12-30 16:15:47.000000000 -080023 +++ vim72/runtime/doc/cmdline.txt 2009-01-19 00:08:30.000000000 -0800 24 24 @@ -1,4 +1,4 @@ 25 25 -*cmdline.txt* For Vim version 7.2. Last change: 2008 Jul 29 … … 80 80 diff -Naur vim72.orig/runtime/doc/eval.txt vim72/runtime/doc/eval.txt 81 81 --- vim72.orig/runtime/doc/eval.txt 2008-08-09 07:22:59.000000000 -0700 82 +++ vim72/runtime/doc/eval.txt 200 8-12-30 16:17:36.000000000 -080082 +++ vim72/runtime/doc/eval.txt 2009-01-19 00:10:10.000000000 -0800 83 83 @@ -1,4 +1,4 @@ 84 84 -*eval.txt* For Vim version 7.2. Last change: 2008 Aug 09 … … 198 198 multi_lang Compiled with support for multiple languages. 199 199 mzscheme Compiled with MzScheme interface |mzscheme|. 200 diff -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 200 222 diff -Naur vim72.orig/runtime/doc/options.txt vim72/runtime/doc/options.txt 201 223 --- vim72.orig/runtime/doc/options.txt 2008-08-09 07:22:59.000000000 -0700 202 +++ vim72/runtime/doc/options.txt 200 8-12-30 16:16:50.000000000 -0800224 +++ vim72/runtime/doc/options.txt 2009-01-19 00:09:28.000000000 -0800 203 225 @@ -1,4 +1,4 @@ 204 226 -*options.txt* For Vim version 7.2. Last change: 2008 Aug 06 … … 220 242 diff -Naur vim72.orig/runtime/doc/spell.txt vim72/runtime/doc/spell.txt 221 243 --- vim72.orig/runtime/doc/spell.txt 2008-08-09 07:23:00.000000000 -0700 222 +++ vim72/runtime/doc/spell.txt 200 8-12-30 16:17:18.000000000 -0800244 +++ vim72/runtime/doc/spell.txt 2009-01-19 00:09:54.000000000 -0800 223 245 @@ -1,4 +1,4 @@ 224 246 -*spell.txt* For Vim version 7.2. Last change: 2008 Jun 21 … … 350 372 diff -Naur vim72.orig/runtime/doc/starting.txt vim72/runtime/doc/starting.txt 351 373 --- vim72.orig/runtime/doc/starting.txt 2008-08-09 07:23:00.000000000 -0700 352 +++ vim72/runtime/doc/starting.txt 200 8-12-30 16:15:47.000000000 -0800374 +++ vim72/runtime/doc/starting.txt 2009-01-19 00:08:31.000000000 -0800 353 375 @@ -1,4 +1,4 @@ 354 376 -*starting.txt* For Vim version 7.2. Last change: 2008 Jun 21 … … 412 434 diff -Naur vim72.orig/runtime/doc/usr_21.txt vim72/runtime/doc/usr_21.txt 413 435 --- vim72.orig/runtime/doc/usr_21.txt 2008-08-09 07:23:01.000000000 -0700 414 +++ vim72/runtime/doc/usr_21.txt 200 8-12-30 16:15:47.000000000 -0800436 +++ vim72/runtime/doc/usr_21.txt 2009-01-19 00:08:31.000000000 -0800 415 437 @@ -1,4 +1,4 @@ 416 438 -*usr_21.txt* For Vim version 7.2. Last change: 2007 May 01 … … 479 501 diff -Naur vim72.orig/runtime/scripts.vim vim72/runtime/scripts.vim 480 502 --- vim72.orig/runtime/scripts.vim 2008-08-08 15:27:21.000000000 -0700 481 +++ vim72/runtime/scripts.vim 200 8-12-30 16:14:26.000000000 -0800503 +++ vim72/runtime/scripts.vim 2009-01-19 00:07:18.000000000 -0800 482 504 @@ -234,6 +234,10 @@ 483 505 elseif s:line1 =~ '\<DTD\s\+XHTML\s' … … 493 515 diff -Naur vim72.orig/src/auto/configure vim72/src/auto/configure 494 516 --- vim72.orig/src/auto/configure 2008-07-24 05:40:36.000000000 -0700 495 +++ vim72/src/auto/configure 200 8-12-30 16:16:27.000000000 -0800517 +++ vim72/src/auto/configure 2009-01-19 00:09:07.000000000 -0800 496 518 @@ -16819,21 +16819,29 @@ 497 519 LDFLAGS="$LDFLAGS -isysroot /Developer/SDKs/MacOSX10.4u.sdk -arch i386 -arch ppc" … … 534 556 diff -Naur vim72.orig/src/buffer.c vim72/src/buffer.c 535 557 --- 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 */ 537 581 @@ -647,6 +647,9 @@ 538 582 vim_free(buf->b_start_fenc); … … 545 589 546 590 /* 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 @@ 548 612 * "buf" if one exists */ 549 613 if ((swb_flags & SWB_USEOPEN) && buf_jump_open_win(buf)) … … 554 618 if ((swb_flags & SWB_USETAB) && buf_jump_open_tab(buf)) 555 619 return OK; 556 @@ -1351,11 +13 54,12 @@620 @@ -1351,11 +1348,12 @@ 557 621 } 558 622 } … … 570 634 #endif 571 635 enter_buffer(buf); 572 @@ -1397,6 +1 401,9 @@636 @@ -1397,6 +1395,9 @@ 573 637 curwin->w_cursor.coladd = 0; 574 638 #endif … … 580 644 /* Make sure the buffer is loaded. */ 581 645 if (curbuf->b_ml.ml_mfp == NULL) /* need to load the file */ 582 @@ -1436,7 +14 43,8 @@646 @@ -1436,7 +1437,8 @@ 583 647 maketitle(); 584 648 #endif … … 590 654 scroll_cursor_halfway(FALSE); /* redisplay at correct position */ 591 655 592 @@ -3963,7 +39 71,7 @@656 @@ -3963,7 +3965,7 @@ 593 657 width = vim_strsize(out); 594 658 if (maxwidth > 0 && width > maxwidth) … … 599 663 if (itemcnt == 0) 600 664 s = out; 601 @@ -5062,7 +50 70,7 @@665 @@ -5062,7 +5064,7 @@ 602 666 { 603 667 if (buf->b_sfname != NULL) … … 610 674 diff -Naur vim72.orig/src/configure.in vim72/src/configure.in 611 675 --- vim72.orig/src/configure.in 2008-07-24 05:40:26.000000000 -0700 612 +++ vim72/src/configure.in 200 8-12-30 16:16:27.000000000 -0800676 +++ vim72/src/configure.in 2009-01-19 00:09:07.000000000 -0800 613 677 @@ -3152,18 +3152,25 @@ 614 678 dnl But only when making dependencies, cproto and lint don't take "-isystem". … … 645 709 diff -Naur vim72.orig/src/diff.c vim72/src/diff.c 646 710 --- vim72.orig/src/diff.c 2008-03-05 03:16:56.000000000 -0800 647 +++ vim72/src/diff.c 200 8-12-30 16:17:15.000000000 -0800711 +++ vim72/src/diff.c 2009-01-19 00:09:50.000000000 -0800 648 712 @@ -73,6 +73,8 @@ 649 713 { … … 733 797 } 734 798 #endif 799 diff -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 735 1011 diff -Naur vim72.orig/src/eval.c vim72/src/eval.c 736 1012 --- vim72.orig/src/eval.c 2008-08-07 12:37:22.000000000 -0700 737 +++ vim72/src/eval.c 200 8-12-30 16:17:49.000000000 -08001013 +++ vim72/src/eval.c 2009-01-19 00:10:21.000000000 -0800 738 1014 @@ -32,6 +32,9 @@ 739 1015 … … 1559 1835 diff -Naur vim72.orig/src/ex_cmds.c vim72/src/ex_cmds.c 1560 1836 --- vim72.orig/src/ex_cmds.c 2008-08-04 12:15:00.000000000 -0700 1561 +++ vim72/src/ex_cmds.c 200 8-12-30 16:17:03.000000000 -08001837 +++ vim72/src/ex_cmds.c 2009-01-19 00:10:54.000000000 -0800 1562 1838 @@ -24,7 +24,7 @@ 1563 1839 static void do_filter __ARGS((linenr_T line1, linenr_T line2, exarg_T *eap, char_u *cmd, int do_in, int do_out)); … … 1569 1845 static int read_viminfo_up_to_marks __ARGS((vir_T *virp, int forceit, int writing)); 1570 1846 #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 @@ 1572 1876 1573 1877 /* … … 1588 1892 FILE *fp; 1589 1893 char_u *fname; 1590 @@ -1691,7 +16 89,7 @@1894 @@ -1691,7 +1694,7 @@ 1591 1895 if (no_viminfo()) 1592 1896 return FAIL; … … 1597 1901 return FAIL; 1598 1902 fp = mch_fopen((char *)fname, READBIN); 1599 @@ -1701,8 +1 699,9 @@1903 @@ -1701,8 +1704,9 @@ 1600 1904 verbose_enter(); 1601 1905 smsg((char_u *)_("Reading viminfo file \"%s\"%s%s%s"), … … 1609 1913 verbose_leave(); 1610 1914 } 1611 @@ -1712,10 +171 1,9 @@1915 @@ -1712,10 +1716,9 @@ 1612 1916 return FAIL; 1613 1917 … … 1621 1925 } 1622 1926 1623 @@ -1943,7 +194 1,7 @@1927 @@ -1943,7 +1946,7 @@ 1624 1928 * root. 1625 1929 */ … … 1630 1934 } 1631 1935 } 1632 @@ -1968,7 +19 66,7 @@1936 @@ -1968,7 +1971,7 @@ 1633 1937 } 1634 1938 … … 1639 1943 fclose(fp_out); /* errors are ignored !? */ 1640 1944 if (fp_in != NULL) 1641 @@ -2041,12 +20 39,10 @@1945 @@ -2041,12 +2044,10 @@ 1642 1946 * do_viminfo() -- Should only be called from read_viminfo() & write_viminfo(). 1643 1947 */ … … 1654 1958 int count = 0; 1655 1959 int eof = FALSE; 1656 @@ -2061,8 +20 57,9 @@1960 @@ -2061,8 +2062,9 @@ 1657 1961 1658 1962 if (fp_in != NULL) … … 1666 1970 /* Skip info, find start of marks */ 1667 1971 while (!(eof = viminfo_readline(&vir)) 1668 @@ -2092,8 +20 89,9 @@1972 @@ -2092,8 +2094,9 @@ 1669 1973 write_viminfo_bufferlist(fp_out); 1670 1974 count = write_viminfo_marks(fp_out); … … 1678 1982 vim_free(vir.vir_line); 1679 1983 #ifdef FEAT_MBYTE 1680 @@ -5059,6 +50 57,7 @@1984 @@ -5059,6 +5062,7 @@ 1681 1985 1682 1986 if (did_sub) … … 1688 1992 diff -Naur vim72.orig/src/ex_cmds.h vim72/src/ex_cmds.h 1689 1993 --- vim72.orig/src/ex_cmds.h 2008-06-21 11:47:57.000000000 -0700 1690 +++ vim72/src/ex_cmds.h 200 8-12-30 16:15:47.000000000 -08001994 +++ vim72/src/ex_cmds.h 2009-01-19 00:08:31.000000000 -0800 1691 1995 @@ -278,7 +278,7 @@ 1692 1996 EX(CMD_crewind, "crewind", ex_cc, … … 1736 2040 diff -Naur vim72.orig/src/ex_cmds2.c vim72/src/ex_cmds2.c 1737 2041 --- vim72.orig/src/ex_cmds2.c 2008-07-13 09:18:22.000000000 -0700 1738 +++ vim72/src/ex_cmds2.c 200 8-12-30 16:14:45.000000000 -08002042 +++ vim72/src/ex_cmds2.c 2009-01-19 00:07:35.000000000 -0800 1739 2043 @@ -3145,8 +3145,8 @@ 1740 2044 verbose_leave(); … … 1750 2054 diff -Naur vim72.orig/src/ex_docmd.c vim72/src/ex_docmd.c 1751 2055 --- vim72.orig/src/ex_docmd.c 2008-07-26 04:51:05.000000000 -0700 1752 +++ vim72/src/ex_docmd.c 200 8-12-30 16:17:40.000000000 -08002056 +++ vim72/src/ex_docmd.c 2009-01-19 00:10:13.000000000 -0800 1753 2057 @@ -364,6 +364,7 @@ 1754 2058 # define ex_function ex_ni … … 1893 2197 diff -Naur vim72.orig/src/ex_getln.c vim72/src/ex_getln.c 1894 2198 --- vim72.orig/src/ex_getln.c 2008-08-08 02:31:33.000000000 -0700 1895 +++ vim72/src/ex_getln.c 200 8-12-30 16:16:50.000000000 -08002199 +++ vim72/src/ex_getln.c 2009-01-19 00:09:28.000000000 -0800 1896 2200 @@ -31,6 +31,8 @@ 1897 2201 int cmdattr; /* attributes for prompt */ … … 2027 2331 diff -Naur vim72.orig/src/feature.h vim72/src/feature.h 2028 2332 --- vim72.orig/src/feature.h 2008-08-06 04:00:39.000000000 -0700 2029 +++ vim72/src/feature.h 200 8-12-30 16:15:47.000000000 -08002333 +++ vim72/src/feature.h 2009-01-19 00:08:31.000000000 -0800 2030 2334 @@ -767,9 +767,13 @@ 2031 2335 … … 2046 2350 diff -Naur vim72.orig/src/fileio.c vim72/src/fileio.c 2047 2351 --- vim72.orig/src/fileio.c 2008-08-06 04:01:03.000000000 -0700 2048 +++ vim72/src/fileio.c 200 8-12-30 16:18:07.000000000 -08002352 +++ vim72/src/fileio.c 2009-01-19 00:10:40.000000000 -0800 2049 2353 @@ -932,7 +932,10 @@ 2050 2354 else … … 2131 2435 } while (tbuf[FGETS_SIZE - 2] != NUL && tbuf[FGETS_SIZE - 2] != '\n'); 2132 2436 } 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 @@ 2134 2465 if (mch_stat((char *)from, &st) < 0) 2135 2466 return -1; … … 2138 2469 + { 2139 2470 + struct stat st_to; 2140 + char tempname[MAXPATHL + 1];2141 2471 + 2142 2472 + /* It's possible for the source and destination to be the same file. … … 2146 2476 + && st.st_dev == st_to.st_dev 2147 2477 + && 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) 2148 2495 + { 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) 2155 2498 + { 2156 + sprintf(gettail(tempname), "%d", n); 2157 + if (mch_stat(tempname, &st_to) < 0) 2499 + if (mch_rename((char *)from, tempname) == 0) 2158 2500 + { 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); 2170 2506 + return -1; 2171 2507 + } 2508 + /* If it fails for one temp name it will most likely fail 2509 + * for any temp name, give up. */ 2510 + return -1; 2172 2511 + } 2173 + return -1;2174 2512 + } 2513 + return -1; 2175 2514 + } 2176 2515 +#endif … … 2179 2518 * Delete the "to" file, this is required on some systems to make the 2180 2519 * mch_rename() work, on other systems it makes sure that we don't have 2181 @@ -8523,6 +85 63,7 @@2520 @@ -8523,6 +8583,7 @@ 2182 2521 char_u *save_sourcing_name; 2183 2522 linenr_T save_sourcing_lnum; … … 2187 2526 char_u *save_autocmd_match; 2188 2527 int save_autocmd_busy; 2189 @@ -8601,6 +86 42,7 @@2528 @@ -8601,6 +8662,7 @@ 2190 2529 * Save the autocmd_* variables and info about the current buffer. 2191 2530 */ … … 2195 2534 save_autocmd_match = autocmd_match; 2196 2535 save_autocmd_busy = autocmd_busy; 2197 @@ -8618,14 +86 60,15 @@2536 @@ -8618,14 +8680,15 @@ 2198 2537 if (fname != NULL && *fname != NUL) 2199 2538 autocmd_fname = fname; … … 2213 2552 /* 2214 2553 * Set the buffer number to be used for <abuf>. 2215 @@ -8810,6 +88 53,7 @@2554 @@ -8810,6 +8873,7 @@ 2216 2555 sourcing_lnum = save_sourcing_lnum; 2217 2556 vim_free(autocmd_fname); … … 2221 2560 autocmd_match = save_autocmd_match; 2222 2561 #ifdef FEAT_EVAL 2223 @@ -8918,7 +89 62,7 @@2562 @@ -8918,7 +8982,7 @@ 2224 2563 { 2225 2564 apc->curpat = NULL; … … 2230 2569 * buffer number. */ 2231 2570 if (ap->pat != NULL && ap->cmds != NULL 2232 @@ -9104,7 +91 48,7 @@2571 @@ -9104,7 +9168,7 @@ 2233 2572 set_context_in_autocmd(xp, arg, doautocmd) 2234 2573 expand_T *xp; … … 2241 2580 diff -Naur vim72.orig/src/fold.c vim72/src/fold.c 2242 2581 --- vim72.orig/src/fold.c 2008-08-06 04:01:12.000000000 -0700 2243 +++ vim72/src/fold.c 200 8-12-30 16:17:03.000000000 -08002582 +++ vim72/src/fold.c 2009-01-19 00:10:42.000000000 -0800 2244 2583 @@ -48,7 +48,7 @@ 2245 2584 static int foldFind __ARGS((garray_T *gap, linenr_T lnum, fold_T **fpp)); … … 2251 2590 static linenr_T setManualFoldWin __ARGS((win_T *wp, linenr_T lnum, int opening, int recurse, int *donep)); 2252 2591 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 @@ 2254 2648 * Repeat "count" times. 2255 2649 */ … … 2264 2658 int done; 2265 2659 long n; 2266 @@ -1252,7 +125 2,7 @@2660 @@ -1252,7 +1258,7 @@ 2267 2661 for (n = 0; n < count; ++n) 2268 2662 { … … 2275 2669 diff -Naur vim72.orig/src/getchar.c vim72/src/getchar.c 2276 2670 --- vim72.orig/src/getchar.c 2008-07-22 09:57:48.000000000 -0700 2277 +++ vim72/src/getchar.c 200 8-12-30 16:16:59.000000000 -08002671 +++ vim72/src/getchar.c 2009-01-19 00:09:36.000000000 -0800 2278 2672 @@ -4702,7 +4702,7 @@ 2279 2673 return FAIL; … … 2296 2690 diff -Naur vim72.orig/src/globals.h vim72/src/globals.h 2297 2691 --- vim72.orig/src/globals.h 2008-07-26 04:53:29.000000000 -0700 2298 +++ vim72/src/globals.h 200 8-12-30 16:17:03.000000000 -08002692 +++ vim72/src/globals.h 2009-01-19 00:10:45.000000000 -0800 2299 2693 @@ -1022,6 +1022,7 @@ 2300 2694 #endif … … 2305 2699 EXTERN char_u *autocmd_match INIT(= NULL); /* name for <amatch> on cmdline */ 2306 2700 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 @@ 2308 2710 EXTERN time_t starttime; 2309 2711 … … 2322 2724 diff -Naur vim72.orig/src/gui.c vim72/src/gui.c 2323 2725 --- vim72.orig/src/gui.c 2008-07-27 12:32:14.000000000 -0700 2324 +++ vim72/src/gui.c 200 8-12-30 16:17:34.000000000 -08002726 +++ vim72/src/gui.c 2009-01-19 00:10:07.000000000 -0800 2325 2727 @@ -139,7 +139,7 @@ 2326 2728 /* The read returns when the child closes the pipe (or when … … 2415 2817 diff -Naur vim72.orig/src/gui_at_sb.c vim72/src/gui_at_sb.c 2416 2818 --- vim72.orig/src/gui_at_sb.c 2004-06-07 07:32:25.000000000 -0700 2417 +++ vim72/src/gui_at_sb.c 200 8-12-30 16:17:03.000000000 -08002819 +++ vim72/src/gui_at_sb.c 2009-01-19 00:09:39.000000000 -0800 2418 2820 @@ -1078,6 +1078,12 @@ 2419 2821 Cardinal *num_params; /* unused */ … … 2441 2843 diff -Naur vim72.orig/src/gui_gtk_x11.c vim72/src/gui_gtk_x11.c 2442 2844 --- vim72.orig/src/gui_gtk_x11.c 2008-07-04 03:46:24.000000000 -0700 2443 +++ vim72/src/gui_gtk_x11.c 200 8-12-30 16:17:03.000000000 -08002845 +++ vim72/src/gui_gtk_x11.c 2009-01-19 00:09:39.000000000 -0800 2444 2846 @@ -4070,14 +4070,14 @@ 2445 2847 … … 2465 2867 diff -Naur vim72.orig/src/gui_x11.c vim72/src/gui_x11.c 2466 2868 --- vim72.orig/src/gui_x11.c 2008-06-08 08:13:45.000000000 -0700 2467 +++ vim72/src/gui_x11.c 200 8-12-30 16:15:59.000000000 -08002869 +++ vim72/src/gui_x11.c 2009-01-19 00:08:42.000000000 -0800 2468 2870 @@ -2450,7 +2450,7 @@ 2469 2871 *colorPtr = colortable[closest]; … … 2477 2879 diff -Naur vim72.orig/src/gui_xmdlg.c vim72/src/gui_xmdlg.c 2478 2880 --- vim72.orig/src/gui_xmdlg.c 2008-06-21 09:05:32.000000000 -0700 2479 +++ vim72/src/gui_xmdlg.c 200 8-12-30 16:17:03.000000000 -08002881 +++ vim72/src/gui_xmdlg.c 2009-01-19 00:09:39.000000000 -0800 2480 2882 @@ -369,10 +369,10 @@ 2481 2883 char buf[TEMP_BUF_SIZE]; … … 2633 3035 diff -Naur vim72.orig/src/gui_xmebw.c vim72/src/gui_xmebw.c 2634 3036 --- vim72.orig/src/gui_xmebw.c 2007-09-06 03:57:51.000000000 -0700 2635 +++ vim72/src/gui_xmebw.c 200 8-12-30 16:17:03.000000000 -08003037 +++ vim72/src/gui_xmebw.c 2009-01-19 00:09:39.000000000 -0800 2636 3038 @@ -1256,7 +1256,7 @@ 2637 3039 } … … 2660 3062 diff -Naur vim72.orig/src/if_cscope.c vim72/src/if_cscope.c 2661 3063 --- vim72.orig/src/if_cscope.c 2008-06-24 09:32:34.000000000 -0700 2662 +++ vim72/src/if_cscope.c 200 8-12-30 16:14:15.000000000 -08003064 +++ vim72/src/if_cscope.c 2009-01-19 00:07:11.000000000 -0800 2663 3065 @@ -74,7 +74,7 @@ 2664 3066 { "add", cs_add, … … 2690 3092 diff -Naur vim72.orig/src/if_cscope.h vim72/src/if_cscope.h 2691 3093 --- vim72.orig/src/if_cscope.h 2007-09-02 07:51:08.000000000 -0700 2692 +++ vim72/src/if_cscope.h 200 8-12-30 16:14:15.000000000 -08003094 +++ vim72/src/if_cscope.h 2009-01-19 00:07:11.000000000 -0800 2693 3095 @@ -42,17 +42,6 @@ 2694 3096 * f 7name Find this file … … 2711 3113 diff -Naur vim72.orig/src/if_perl.xs vim72/src/if_perl.xs 2712 3114 --- vim72.orig/src/if_perl.xs 2008-07-17 13:55:09.000000000 -0700 2713 +++ vim72/src/if_perl.xs 200 8-12-30 16:17:28.000000000 -08003115 +++ vim72/src/if_perl.xs 2009-01-19 00:10:02.000000000 -0800 2714 3116 @@ -136,6 +136,9 @@ 2715 3117 # define Perl_newXS_flags dll_Perl_newXS_flags … … 2762 3164 diff -Naur vim72.orig/src/if_python.c vim72/src/if_python.c 2763 3165 --- vim72.orig/src/if_python.c 2008-07-17 14:09:32.000000000 -0700 2764 +++ vim72/src/if_python.c 200 8-12-30 16:16:31.000000000 -08003166 +++ vim72/src/if_python.c 2009-01-19 00:10:59.000000000 -0800 2765 3167 @@ -531,6 +531,12 @@ 2766 3168 if (PythonMod_Init()) … … 2776 3178 Python_SaveThread(); 2777 3179 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 @@ 2779 3257 { 2780 3258 PyObject *mod; … … 2788 3266 diff -Naur vim72.orig/src/if_xcmdsrv.c vim72/src/if_xcmdsrv.c 2789 3267 --- vim72.orig/src/if_xcmdsrv.c 2008-07-18 06:05:03.000000000 -0700 2790 +++ vim72/src/if_xcmdsrv.c 200 8-12-30 16:16:09.000000000 -08003268 +++ vim72/src/if_xcmdsrv.c 2009-01-19 00:08:50.000000000 -0800 2791 3269 @@ -736,7 +736,7 @@ 2792 3270 + serverReply.ga_len; … … 2818 3296 diff -Naur vim72.orig/src/main.c vim72/src/main.c 2819 3297 --- vim72.orig/src/main.c 2008-07-24 01:40:56.000000000 -0700 2820 +++ vim72/src/main.c 200 8-12-30 16:17:03.000000000 -08003298 +++ vim72/src/main.c 2009-01-19 00:09:39.000000000 -0800 2821 3299 @@ -645,11 +645,12 @@ 2822 3300 … … 2880 3358 diff -Naur vim72.orig/src/mark.c vim72/src/mark.c 2881 3359 --- vim72.orig/src/mark.c 2008-08-08 15:06:49.000000000 -0700 2882 +++ vim72/src/mark.c 200 8-12-30 16:15:47.000000000 -08003360 +++ vim72/src/mark.c 2009-01-19 00:08:31.000000000 -0800 2883 3361 @@ -1627,15 +1627,17 @@ 2884 3362 … … 2949 3427 diff -Naur vim72.orig/src/mbyte.c vim72/src/mbyte.c 2950 3428 --- vim72.orig/src/mbyte.c 2008-07-14 05:38:05.000000000 -0700 2951 +++ vim72/src/mbyte.c 200 8-12-30 16:17:03.000000000 -08003429 +++ vim72/src/mbyte.c 2009-01-19 00:09:39.000000000 -0800 2952 3430 @@ -717,7 +717,7 @@ 2953 3431 * where mblen() returns 0 for invalid character. … … 3031 3509 diff -Naur vim72.orig/src/menu.c vim72/src/menu.c 3032 3510 --- vim72.orig/src/menu.c 2008-06-21 12:53:43.000000000 -0700 3033 +++ vim72/src/menu.c 200 8-12-30 16:14:07.000000000 -08003511 +++ vim72/src/menu.c 2009-01-19 00:07:05.000000000 -0800 3034 3512 @@ -1120,6 +1120,7 @@ 3035 3513 parent = menu; … … 3042 3520 diff -Naur vim72.orig/src/message.c vim72/src/message.c 3043 3521 --- 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 @@ 3046 3539 if (remove_trailing_zeroes) 3047 3540 { … … 3129 3622 diff -Naur vim72.orig/src/misc1.c vim72/src/misc1.c 3130 3623 --- vim72.orig/src/misc1.c 2008-07-12 12:20:53.000000000 -0700 3131 +++ vim72/src/misc1.c 200 8-12-30 16:15:47.000000000 -08003624 +++ vim72/src/misc1.c 2009-01-19 00:08:31.000000000 -0800 3132 3625 @@ -3245,9 +3245,9 @@ 3133 3626 … … 3144 3637 diff -Naur vim72.orig/src/misc2.c vim72/src/misc2.c 3145 3638 --- vim72.orig/src/misc2.c 2008-07-23 12:12:56.000000000 -0700 3146 +++ vim72/src/misc2.c 200 8-12-30 16:17:58.000000000 -08003639 +++ vim72/src/misc2.c 2009-01-19 00:10:29.000000000 -0800 3147 3640 @@ -873,7 +873,7 @@ 3148 3641 /* 3. check for available memory: call mch_avail_mem() */ … … 3215 3708 diff -Naur vim72.orig/src/move.c vim72/src/move.c 3216 3709 --- vim72.orig/src/move.c 2008-07-12 09:26:47.000000000 -0700 3217 +++ vim72/src/move.c 200 8-12-30 16:16:21.000000000 -08003710 +++ vim72/src/move.c 2009-01-19 00:09:02.000000000 -0800 3218 3711 @@ -280,18 +280,20 @@ 3219 3712 … … 3265 3758 diff -Naur vim72.orig/src/netbeans.c vim72/src/netbeans.c 3266 3759 --- vim72.orig/src/netbeans.c 2008-07-13 09:19:54.000000000 -0700 3267 +++ vim72/src/netbeans.c 200 8-12-30 16:17:03.000000000 -08003760 +++ vim72/src/netbeans.c 2009-01-19 00:10:45.000000000 -0800 3268 3761 @@ -1043,7 +1043,7 @@ 3269 3762 nbdebug(("EVT: %s", buf)); … … 3301 3794 nbdebug((" partial line annotation -- Not Yet Implemented!\n")); 3302 3795 } 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; 3303 3847 diff -Naur vim72.orig/src/normal.c vim72/src/normal.c 3304 3848 --- vim72.orig/src/normal.c 2008-07-31 13:03:08.000000000 -0700 3305 +++ vim72/src/normal.c 200 8-12-30 16:16:40.000000000 -08003849 +++ vim72/src/normal.c 2009-01-19 00:09:18.000000000 -0800 3306 3850 @@ -183,6 +183,8 @@ 3307 3851 static void nv_cursorhold __ARGS((cmdarg_T *cap)); … … 3491 4035 diff -Naur vim72.orig/src/ops.c vim72/src/ops.c 3492 4036 --- vim72.orig/src/ops.c 2008-06-21 13:08:59.000000000 -0700 3493 +++ vim72/src/ops.c 200 8-12-30 16:17:30.000000000 -08004037 +++ vim72/src/ops.c 2009-01-19 00:10:04.000000000 -0800 3494 4038 @@ -2209,12 +2209,15 @@ 3495 4039 { … … 3512 4056 diff -Naur vim72.orig/src/option.c vim72/src/option.c 3513 4057 --- vim72.orig/src/option.c 2008-07-18 06:05:33.000000000 -0700 3514 +++ vim72/src/option.c 200 8-12-30 16:17:58.000000000 -08004058 +++ vim72/src/option.c 2009-01-19 00:10:29.000000000 -0800 3515 4059 @@ -2593,13 +2593,13 @@ 3516 4060 #ifdef FEAT_VIMINFO … … 3570 4114 diff -Naur vim72.orig/src/os_unix.c vim72/src/os_unix.c 3571 4115 --- vim72.orig/src/os_unix.c 2008-08-06 04:01:40.000000000 -0700 3572 +++ vim72/src/os_unix.c 200 8-12-30 16:17:03.000000000 -08004116 +++ vim72/src/os_unix.c 2009-01-19 00:09:40.000000000 -0800 3573 4117 @@ -315,12 +315,15 @@ 3574 4118 {-1, "Unknown!", FALSE} … … 3684 4228 diff -Naur vim72.orig/src/proto/eval.pro vim72/src/proto/eval.pro 3685 4229 --- vim72.orig/src/proto/eval.pro 2008-08-09 07:31:25.000000000 -0700 3686 +++ vim72/src/proto/eval.pro 200 8-12-30 16:16:40.000000000 -08004230 +++ vim72/src/proto/eval.pro 2009-01-19 00:09:18.000000000 -0800 3687 4231 @@ -17,7 +17,7 @@ 3688 4232 int eval_to_bool __ARGS((char_u *arg, int *error, char_u **nextcmd, int skip)); … … 3726 4270 diff -Naur vim72.orig/src/proto/ex_cmds.pro vim72/src/proto/ex_cmds.pro 3727 4271 --- vim72.orig/src/proto/ex_cmds.pro 2008-08-09 07:31:25.000000000 -0700 3728 +++ vim72/src/proto/ex_cmds.pro 200 8-12-30 16:15:47.000000000 -08004272 +++ vim72/src/proto/ex_cmds.pro 2009-01-19 00:08:31.000000000 -0800 3729 4273 @@ -11,7 +11,7 @@ 3730 4274 char_u *make_filter_cmd __ARGS((char_u *cmd, char_u *itmp, char_u *otmp)); … … 3738 4282 diff -Naur vim72.orig/src/proto/ex_getln.pro vim72/src/proto/ex_getln.pro 3739 4283 --- vim72.orig/src/proto/ex_getln.pro 2008-08-09 07:31:28.000000000 -0700 3740 +++ vim72/src/proto/ex_getln.pro 200 8-12-30 16:16:50.000000000 -08004284 +++ vim72/src/proto/ex_getln.pro 2009-01-19 00:09:28.000000000 -0800 3741 4285 @@ -31,7 +31,7 @@ 3742 4286 void set_cmd_context __ARGS((expand_T *xp, char_u *str, int len, int col)); … … 3750 4294 diff -Naur vim72.orig/src/proto/mark.pro vim72/src/proto/mark.pro 3751 4295 --- vim72.orig/src/proto/mark.pro 2008-08-09 07:31:36.000000000 -0700 3752 +++ vim72/src/proto/mark.pro 200 8-12-30 16:15:47.000000000 -08004296 +++ vim72/src/proto/mark.pro 2009-01-19 00:08:31.000000000 -0800 3753 4297 @@ -26,5 +26,5 @@ 3754 4298 void write_viminfo_filemarks __ARGS((FILE *fp)); … … 3760 4304 diff -Naur vim72.orig/src/proto/misc2.pro vim72/src/proto/misc2.pro 3761 4305 --- vim72.orig/src/proto/misc2.pro 2008-08-09 07:31:40.000000000 -0700 3762 +++ vim72/src/proto/misc2.pro 200 8-12-30 16:17:58.000000000 -08004306 +++ vim72/src/proto/misc2.pro 2009-01-19 00:10:29.000000000 -0800 3763 4307 @@ -59,7 +59,7 @@ 3764 4308 int handle_x_keys __ARGS((int key)); … … 3770 4314 int find_special_key_in_table __ARGS((int c)); 3771 4315 int get_special_key_code __ARGS((char_u *name)); 4316 diff -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)); 3772 4328 diff -Naur vim72.orig/src/pty.c vim72/src/pty.c 3773 4329 --- vim72.orig/src/pty.c 2008-06-21 11:52:58.000000000 -0700 3774 +++ vim72/src/pty.c 200 8-12-30 16:14:03.000000000 -08004330 +++ vim72/src/pty.c 2009-01-19 00:07:02.000000000 -0800 3775 4331 @@ -270,9 +270,10 @@ 3776 4332 } … … 3788 4344 diff -Naur vim72.orig/src/screen.c vim72/src/screen.c 3789 4345 --- vim72.orig/src/screen.c 2008-07-24 07:45:07.000000000 -0700 3790 +++ vim72/src/screen.c 200 8-12-30 16:15:21.000000000 -08004346 +++ vim72/src/screen.c 2009-01-19 00:08:07.000000000 -0800 3791 4347 @@ -2439,9 +2439,17 @@ 3792 4348 … … 3812 4368 diff -Naur vim72.orig/src/spell.c vim72/src/spell.c 3813 4369 --- vim72.orig/src/spell.c 2008-07-12 12:20:55.000000000 -0700 3814 +++ vim72/src/spell.c 200 8-12-30 16:17:46.000000000 -08004370 +++ vim72/src/spell.c 2009-01-19 00:10:18.000000000 -0800 3815 4371 @@ -77,7 +77,7 @@ 3816 4372 … … 4647 5203 diff -Naur vim72.orig/src/structs.h vim72/src/structs.h 4648 5204 --- vim72.orig/src/structs.h 2008-07-30 13:02:50.000000000 -0700 4649 +++ vim72/src/structs.h 200 8-12-30 16:16:21.000000000 -08005205 +++ vim72/src/structs.h 2009-01-19 00:09:02.000000000 -0800 4650 5206 @@ -459,7 +459,7 @@ 4651 5207 typedef struct … … 4676 5232 diff -Naur vim72.orig/src/tag.c vim72/src/tag.c 4677 5233 --- 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 4679 5244 @@ -2725,7 +2725,24 @@ 4680 5245 */ … … 4722 5287 diff -Naur vim72.orig/src/testdir/Make_ming.mak vim72/src/testdir/Make_ming.mak 4723 5288 --- vim72.orig/src/testdir/Make_ming.mak 1969-12-31 16:00:00.000000000 -0800 4724 +++ vim72/src/testdir/Make_ming.mak 200 8-12-30 16:15:18.000000000 -08005289 +++ vim72/src/testdir/Make_ming.mak 2009-01-19 00:08:05.000000000 -0800 4725 5290 @@ -0,0 +1,91 @@ 4726 5291 +# Makefile to run tests for Vim, on Dos-like machines … … 4817 5382 diff -Naur vim72.orig/src/testdir/Makefile vim72/src/testdir/Makefile 4818 5383 --- vim72.orig/src/testdir/Makefile 2008-06-19 13:29:46.000000000 -0700 4819 +++ vim72/src/testdir/Makefile 200 8-12-30 16:14:55.000000000 -08005384 +++ vim72/src/testdir/Makefile 2009-01-19 00:07:44.000000000 -0800 4820 5385 @@ -26,15 +26,17 @@ 4821 5386 … … 4851 5416 diff -Naur vim72.orig/src/testdir/test42.ok vim72/src/testdir/test42.ok 4852 5417 --- vim72.orig/src/testdir/test42.ok 2008-02-20 04:27:37.000000000 -0800 4853 +++ vim72/src/testdir/test42.ok 200 8-12-30 16:15:53.000000000 -08005418 +++ vim72/src/testdir/test42.ok 2009-01-19 00:08:36.000000000 -0800 4854 5419 @@ -20,7 +20,7 @@ 4855 5420 ucs-2 … … 4863 5428 diff -Naur vim72.orig/src/ui.c vim72/src/ui.c 4864 5429 --- vim72.orig/src/ui.c 2008-07-14 11:14:56.000000000 -0700 4865 +++ vim72/src/ui.c 200 8-12-30 16:17:03.000000000 -08005430 +++ vim72/src/ui.c 2009-01-19 00:09:40.000000000 -0800 4866 5431 @@ -1820,7 +1820,7 @@ 4867 5432 #ifdef HAVE_DUP … … 4971 5536 diff -Naur vim72.orig/src/version.c vim72/src/version.c 4972 5537 --- vim72.orig/src/version.c 2008-08-09 07:24:52.000000000 -0700 4973 +++ vim72/src/version.c 200 8-12-30 16:18:07.000000000 -08004974 @@ -677,9 +677,1 60@@5538 +++ vim72/src/version.c 2009-01-19 00:10:59.000000000 -0800 5539 @@ -677,9 +677,176 @@ 4975 5540 static int included_patches[] = 4976 5541 { /* Add new patch number below this line */ 4977 5542 /**/ 5543 + 84, 5544 +/**/ 5545 + 83, 5546 +/**/ 5547 + 82, 5548 +/**/ 5549 + 81, 5550 +/**/ 5551 + 80, 5552 +/**/ 5553 + 79, 5554 +/**/ 5555 + 78, 5556 +/**/ 5557 + 77, 5558 +/**/ 4978 5559 + 76, 4979 5560 +/**/ … … 5133 5714 highest_patch() 5134 5715 { 5135 @@ -786,7 +9 37,7 @@5716 @@ -786,7 +953,7 @@ 5136 5717 MSG_PUTS(_("\nRISC OS version")); 5137 5718 #endif … … 5142 5723 if (*compiled_arch != NUL) 5143 5724 { 5144 @@ -825,6 +9 76,19 @@5725 @@ -825,6 +992,19 @@ 5145 5726 } 5146 5727 } … … 5164 5745 diff -Naur vim72.orig/src/vim.h vim72/src/vim.h 5165 5746 --- vim72.orig/src/vim.h 2008-08-09 09:03:38.000000000 -0700 5166 +++ vim72/src/vim.h 200 8-12-30 16:16:37.000000000 -08005747 +++ vim72/src/vim.h 2009-01-19 00:09:15.000000000 -0800 5167 5748 @@ -341,8 +341,14 @@ 5168 5749 #ifdef BACKSLASH_IN_FILENAME … … 5224 5805 diff -Naur vim72.orig/src/window.c vim72/src/window.c 5225 5806 --- vim72.orig/src/window.c 2008-08-06 04:00:30.000000000 -0700 5226 +++ vim72/src/window.c 200 8-12-30 16:17:03.000000000 -08005807 +++ vim72/src/window.c 2009-01-19 00:09:40.000000000 -0800 5227 5808 @@ -4028,14 +4028,14 @@ 5228 5809 if (mch_dirname(cwd, MAXPATHL) == OK) … … 5245 5826 diff -Naur vim72.orig/src/workshop.c vim72/src/workshop.c 5246 5827 --- vim72.orig/src/workshop.c 2008-06-21 11:53:26.000000000 -0700 5247 +++ vim72/src/workshop.c 200 8-12-30 16:16:56.000000000 -08005828 +++ vim72/src/workshop.c 2009-01-19 00:09:33.000000000 -0800 5248 5829 @@ -1121,8 +1121,12 @@ 5249 5830 ? (char *)curbuf->b_sfname : "<None>");
Note:
See TracChangeset
for help on using the changeset viewer.