diff --git a/pkgs/applications/editors/vim/default.nix b/pkgs/applications/editors/vim/default.nix index a2672b5c0d6..7dd4a0519ce 100644 --- a/pkgs/applications/editors/vim/default.nix +++ b/pkgs/applications/editors/vim/default.nix @@ -1,12 +1,12 @@ -{ stdenv, fetchurl, ncurses, gettext, pkgconfig }: +{ stdenv, fetchhg, ncurses, gettext, pkgconfig }: stdenv.mkDerivation rec { - patchLevel = "23"; - name = "vim-7.4.${patchLevel}"; + name = "vim-7.4.131"; - src = fetchurl { - url = "ftp://ftp.vim.org/pub/vim/unix/${name}.tar.bz2"; - sha256 = "1pjaffap91l2rb9pjnlbrpvb3ay5yhhr3g91zabjvw1rqk9adxfh"; + src = fetchhg { + url = "https://vim.googlecode.com/hg/"; + tag = "v7-4-131"; + sha256 = "1akr0i4pykbrkqwrglm0dfn5nwpncb9pgg4h7fl6a8likbr5f3wb"; }; enableParallelBuilding = true; @@ -44,16 +44,6 @@ stdenv.mkDerivation rec { # sed -i -e 's/as_fn_error.*int32.*/:/' src/auto/configure # ''; - prePatch = "cd src"; - - patches = - [ ./patches/7.4.001 ./patches/7.4.002 ./patches/7.4.003 ./patches/7.4.004 - ./patches/7.4.005 ./patches/7.4.006 ./patches/7.4.007 ./patches/7.4.008 - ./patches/7.4.009 ./patches/7.4.010 ./patches/7.4.011 ./patches/7.4.012 - ./patches/7.4.013 ./patches/7.4.014 ./patches/7.4.015 ./patches/7.4.016 - ./patches/7.4.017 ./patches/7.4.018 ./patches/7.4.019 ./patches/7.4.020 - ./patches/7.4.021 ./patches/7.4.022 ./patches/7.4.023 ]; - meta = with stdenv.lib; { description = "The most popular clone of the VI editor"; homepage = http://www.vim.org; diff --git a/pkgs/applications/editors/vim/patches/7.4.001 b/pkgs/applications/editors/vim/patches/7.4.001 deleted file mode 100644 index 5788972a569..00000000000 --- a/pkgs/applications/editors/vim/patches/7.4.001 +++ /dev/null @@ -1,489 +0,0 @@ -To: vim_dev@googlegroups.com -Subject: Patch 7.4.001 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.4.001 -Problem: Character classes such as [a-z] to not react to 'ignorecase'. - Breaks man page highlighting. (Mario Grgic) -Solution: Add separate items for classes that react to 'ignorecase'. Clean - up logic handling character classes. Add more tests. -Files: src/regexp_nfa.c, src/testdir/test64.in, src/testdir/test64.ok - - -*** ../vim-7.4.000/src/regexp_nfa.c 2013-08-01 18:27:51.000000000 +0200 ---- src/regexp_nfa.c 2013-08-14 11:49:50.000000000 +0200 -*************** -*** 29,34 **** ---- 29,37 ---- - # define NFA_REGEXP_DEBUG_LOG "nfa_regexp_debug.log" - #endif - -+ /* Added to NFA_ANY - NFA_NUPPER_IC to include a NL. */ -+ #define NFA_ADD_NL 31 -+ - enum - { - NFA_SPLIT = -1024, -*************** -*** 183,188 **** ---- 186,198 ---- - NFA_NLOWER, /* Match non-lowercase char */ - NFA_UPPER, /* Match uppercase char */ - NFA_NUPPER, /* Match non-uppercase char */ -+ NFA_LOWER_IC, /* Match [a-z] */ -+ NFA_NLOWER_IC, /* Match [^a-z] */ -+ NFA_UPPER_IC, /* Match [A-Z] */ -+ NFA_NUPPER_IC, /* Match [^A-Z] */ -+ -+ NFA_FIRST_NL = NFA_ANY + NFA_ADD_NL, -+ NFA_LAST_NL = NFA_NUPPER_IC + NFA_ADD_NL, - - NFA_CURSOR, /* Match cursor pos */ - NFA_LNUM, /* Match line number */ -*************** -*** 199,207 **** - NFA_MARK_LT, /* Match < mark */ - NFA_VISUAL, /* Match Visual area */ - -- NFA_FIRST_NL = NFA_ANY + ADD_NL, -- NFA_LAST_NL = NFA_NUPPER + ADD_NL, -- - /* Character classes [:alnum:] etc */ - NFA_CLASS_ALNUM, - NFA_CLASS_ALPHA, ---- 209,214 ---- -*************** -*** 578,583 **** ---- 585,592 ---- - * On failure, return 0 (=FAIL) - * Start points to the first char of the range, while end should point - * to the closing brace. -+ * Keep in mind that 'ignorecase' applies at execution time, thus [a-z] may -+ * need to be interpreted as [a-zA-Z]. - */ - static int - nfa_recognize_char_class(start, end, extra_newl) -*************** -*** 681,687 **** - return FAIL; - - if (newl == TRUE) -! extra_newl = ADD_NL; - - switch (config) - { ---- 690,696 ---- - return FAIL; - - if (newl == TRUE) -! extra_newl = NFA_ADD_NL; - - switch (config) - { -*************** -*** 710,722 **** - case CLASS_not | CLASS_az | CLASS_AZ: - return extra_newl + NFA_NALPHA; - case CLASS_az: -! return extra_newl + NFA_LOWER; - case CLASS_not | CLASS_az: -! return extra_newl + NFA_NLOWER; - case CLASS_AZ: -! return extra_newl + NFA_UPPER; - case CLASS_not | CLASS_AZ: -! return extra_newl + NFA_NUPPER; - } - return FAIL; - } ---- 719,731 ---- - case CLASS_not | CLASS_az | CLASS_AZ: - return extra_newl + NFA_NALPHA; - case CLASS_az: -! return extra_newl + NFA_LOWER_IC; - case CLASS_not | CLASS_az: -! return extra_newl + NFA_NLOWER_IC; - case CLASS_AZ: -! return extra_newl + NFA_UPPER_IC; - case CLASS_not | CLASS_AZ: -! return extra_newl + NFA_NUPPER_IC; - } - return FAIL; - } -*************** -*** 914,920 **** - break; - } - -! extra = ADD_NL; - - /* "\_[" is collection plus newline */ - if (c == '[') ---- 923,929 ---- - break; - } - -! extra = NFA_ADD_NL; - - /* "\_[" is collection plus newline */ - if (c == '[') -*************** -*** 970,976 **** - } - #endif - EMIT(nfa_classcodes[p - classchars]); -! if (extra == ADD_NL) - { - EMIT(NFA_NEWL); - EMIT(NFA_OR); ---- 979,985 ---- - } - #endif - EMIT(nfa_classcodes[p - classchars]); -! if (extra == NFA_ADD_NL) - { - EMIT(NFA_NEWL); - EMIT(NFA_OR); -*************** -*** 1240,1260 **** - { - /* - * Try to reverse engineer character classes. For example, -! * recognize that [0-9] stands for \d and [A-Za-z_] with \h, - * and perform the necessary substitutions in the NFA. - */ - result = nfa_recognize_char_class(regparse, endp, -! extra == ADD_NL); - if (result != FAIL) - { -! if (result >= NFA_DIGIT && result <= NFA_NUPPER) -! EMIT(result); -! else /* must be char class + newline */ - { -! EMIT(result - ADD_NL); - EMIT(NFA_NEWL); - EMIT(NFA_OR); - } - regparse = endp; - mb_ptr_adv(regparse); - return OK; ---- 1249,1269 ---- - { - /* - * Try to reverse engineer character classes. For example, -! * recognize that [0-9] stands for \d and [A-Za-z_] for \h, - * and perform the necessary substitutions in the NFA. - */ - result = nfa_recognize_char_class(regparse, endp, -! extra == NFA_ADD_NL); - if (result != FAIL) - { -! if (result >= NFA_FIRST_NL && result <= NFA_LAST_NL) - { -! EMIT(result - NFA_ADD_NL); - EMIT(NFA_NEWL); - EMIT(NFA_OR); - } -+ else -+ EMIT(result); - regparse = endp; - mb_ptr_adv(regparse); - return OK; -*************** -*** 1504,1510 **** - * collection, add an OR below. But not for negated - * range. */ - if (!negated) -! extra = ADD_NL; - } - else - { ---- 1513,1519 ---- - * collection, add an OR below. But not for negated - * range. */ - if (!negated) -! extra = NFA_ADD_NL; - } - else - { -*************** -*** 1537,1543 **** - EMIT(NFA_END_COLL); - - /* \_[] also matches \n but it's not negated */ -! if (extra == ADD_NL) - { - EMIT(reg_string ? NL : NFA_NEWL); - EMIT(NFA_OR); ---- 1546,1552 ---- - EMIT(NFA_END_COLL); - - /* \_[] also matches \n but it's not negated */ -! if (extra == NFA_ADD_NL) - { - EMIT(reg_string ? NL : NFA_NEWL); - EMIT(NFA_OR); -*************** -*** 2011,2017 **** - if (c >= NFA_FIRST_NL && c <= NFA_LAST_NL) - { - addnl = TRUE; -! c -= ADD_NL; - } - - STRCPY(code, ""); ---- 2020,2026 ---- - if (c >= NFA_FIRST_NL && c <= NFA_LAST_NL) - { - addnl = TRUE; -! c -= NFA_ADD_NL; - } - - STRCPY(code, ""); -*************** -*** 2217,2222 **** ---- 2226,2235 ---- - case NFA_NLOWER:STRCPY(code, "NFA_NLOWER"); break; - case NFA_UPPER: STRCPY(code, "NFA_UPPER"); break; - case NFA_NUPPER:STRCPY(code, "NFA_NUPPER"); break; -+ case NFA_LOWER_IC: STRCPY(code, "NFA_LOWER_IC"); break; -+ case NFA_NLOWER_IC: STRCPY(code, "NFA_NLOWER_IC"); break; -+ case NFA_UPPER_IC: STRCPY(code, "NFA_UPPER_IC"); break; -+ case NFA_NUPPER_IC: STRCPY(code, "NFA_NUPPER_IC"); break; - - default: - STRCPY(code, "CHAR(x)"); -*************** -*** 2687,2692 **** ---- 2700,2709 ---- - case NFA_NLOWER: - case NFA_UPPER: - case NFA_NUPPER: -+ case NFA_LOWER_IC: -+ case NFA_NLOWER_IC: -+ case NFA_UPPER_IC: -+ case NFA_NUPPER_IC: - /* possibly non-ascii */ - #ifdef FEAT_MBYTE - if (has_mbyte) -*************** -*** 3841,3846 **** ---- 3858,3867 ---- - case NFA_NLOWER: - case NFA_UPPER: - case NFA_NUPPER: -+ case NFA_LOWER_IC: -+ case NFA_NLOWER_IC: -+ case NFA_UPPER_IC: -+ case NFA_NUPPER_IC: - case NFA_START_COLL: - case NFA_START_NEG_COLL: - case NFA_NEWL: -*************** -*** 5872,5877 **** ---- 5893,5920 ---- - ADD_STATE_IF_MATCH(t->state); - break; - -+ case NFA_LOWER_IC: /* [a-z] */ -+ result = ri_lower(curc) || (ireg_ic && ri_upper(curc)); -+ ADD_STATE_IF_MATCH(t->state); -+ break; -+ -+ case NFA_NLOWER_IC: /* [^a-z] */ -+ result = curc != NUL -+ && !(ri_lower(curc) || (ireg_ic && ri_upper(curc))); -+ ADD_STATE_IF_MATCH(t->state); -+ break; -+ -+ case NFA_UPPER_IC: /* [A-Z] */ -+ result = ri_upper(curc) || (ireg_ic && ri_lower(curc)); -+ ADD_STATE_IF_MATCH(t->state); -+ break; -+ -+ case NFA_NUPPER_IC: /* ^[A-Z] */ -+ result = curc != NUL -+ && !(ri_upper(curc) || (ireg_ic && ri_lower(curc))); -+ ADD_STATE_IF_MATCH(t->state); -+ break; -+ - case NFA_BACKREF1: - case NFA_BACKREF2: - case NFA_BACKREF3: -*** ../vim-7.4.000/src/testdir/test64.in 2013-08-01 17:45:33.000000000 +0200 ---- src/testdir/test64.in 2013-08-14 11:50:11.000000000 +0200 -*************** -*** 289,303 **** - :call add(tl, [2, '.a\%$', " a\n "]) - :call add(tl, [2, '.a\%$', " a\n_a", "_a"]) - :" -! :"""" Test recognition of some character classes -! :call add(tl, [2, '[0-9]', '8', '8']) -! :call add(tl, [2, '[^0-9]', '8']) -! :call add(tl, [2, '[0-9a-fA-F]*', '0a7', '0a7']) -! :call add(tl, [2, '[^0-9A-Fa-f]\+', '0a7']) -! :call add(tl, [2, '[a-z_A-Z0-9]\+', 'aso_sfoij', 'aso_sfoij']) -! :call add(tl, [2, '[a-z]', 'a', 'a']) -! :call add(tl, [2, '[a-zA-Z]', 'a', 'a']) -! :call add(tl, [2, '[A-Z]', 'a']) - :call add(tl, [2, '\C[^A-Z]\+', 'ABCOIJDEOIFNSD jsfoij sa', ' jsfoij sa']) - :" - :"""" Tests for \z features ---- 289,317 ---- - :call add(tl, [2, '.a\%$', " a\n "]) - :call add(tl, [2, '.a\%$', " a\n_a", "_a"]) - :" -! :"""" Test recognition of character classes -! :call add(tl, [2, '[0-7]\+', 'x0123456789x', '01234567']) -! :call add(tl, [2, '[^0-7]\+', '0a;X+% 897', 'a;X+% 89']) -! :call add(tl, [2, '[0-9]\+', 'x0123456789x', '0123456789']) -! :call add(tl, [2, '[^0-9]\+', '0a;X+% 9', 'a;X+% ']) -! :call add(tl, [2, '[0-9a-fA-F]\+', 'x0189abcdefg', '0189abcdef']) -! :call add(tl, [2, '[^0-9A-Fa-f]\+', '0189g;X+% ab', 'g;X+% ']) -! :call add(tl, [2, '[a-z_A-Z0-9]\+', ';+aso_SfOij ', 'aso_SfOij']) -! :call add(tl, [2, '[^a-z_A-Z0-9]\+', 'aSo_;+% sfOij', ';+% ']) -! :call add(tl, [2, '[a-z_A-Z]\+', '0abyz_ABYZ;', 'abyz_ABYZ']) -! :call add(tl, [2, '[^a-z_A-Z]\+', 'abAB_09;+% yzYZ', '09;+% ']) -! :call add(tl, [2, '[a-z]\+', '0abcxyz1', 'abcxyz']) -! :call add(tl, [2, '[a-z]\+', 'AabxyzZ', 'abxyz']) -! :call add(tl, [2, '[^a-z]\+', 'a;X09+% x', ';X09+% ']) -! :call add(tl, [2, '[^a-z]\+', 'abX0;%yz', 'X0;%']) -! :call add(tl, [2, '[a-zA-Z]\+', '0abABxzXZ9', 'abABxzXZ']) -! :call add(tl, [2, '[^a-zA-Z]\+', 'ab09_;+ XZ', '09_;+ ']) -! :call add(tl, [2, '[A-Z]\+', 'aABXYZz', 'ABXYZ']) -! :call add(tl, [2, '[^A-Z]\+', 'ABx0;%YZ', 'x0;%']) -! :call add(tl, [2, '[a-z]\+\c', '0abxyzABXYZ;', 'abxyzABXYZ']) -! :call add(tl, [2, '[A-Z]\+\c', '0abABxzXZ9', 'abABxzXZ']) -! :call add(tl, [2, '\c[^a-z]\+', 'ab09_;+ XZ', '09_;+ ']) -! :call add(tl, [2, '\c[^A-Z]\+', 'ab09_;+ XZ', '09_;+ ']) - :call add(tl, [2, '\C[^A-Z]\+', 'ABCOIJDEOIFNSD jsfoij sa', ' jsfoij sa']) - :" - :"""" Tests for \z features -*** ../vim-7.4.000/src/testdir/test64.ok 2013-08-01 18:28:56.000000000 +0200 ---- src/testdir/test64.ok 2013-08-14 11:50:37.000000000 +0200 -*************** -*** 650,679 **** - OK 0 - .a\%$ - OK 1 - .a\%$ - OK 2 - .a\%$ -! OK 0 - [0-9] -! OK 1 - [0-9] -! OK 2 - [0-9] -! OK 0 - [^0-9] -! OK 1 - [^0-9] -! OK 2 - [^0-9] -! OK 0 - [0-9a-fA-F]* -! OK 1 - [0-9a-fA-F]* -! OK 2 - [0-9a-fA-F]* - OK 0 - [^0-9A-Fa-f]\+ - OK 1 - [^0-9A-Fa-f]\+ - OK 2 - [^0-9A-Fa-f]\+ - OK 0 - [a-z_A-Z0-9]\+ - OK 1 - [a-z_A-Z0-9]\+ - OK 2 - [a-z_A-Z0-9]\+ -! OK 0 - [a-z] -! OK 1 - [a-z] -! OK 2 - [a-z] -! OK 0 - [a-zA-Z] -! OK 1 - [a-zA-Z] -! OK 2 - [a-zA-Z] -! OK 0 - [A-Z] -! OK 1 - [A-Z] -! OK 2 - [A-Z] - OK 0 - \C[^A-Z]\+ - OK 1 - \C[^A-Z]\+ - OK 2 - \C[^A-Z]\+ ---- 650,721 ---- - OK 0 - .a\%$ - OK 1 - .a\%$ - OK 2 - .a\%$ -! OK 0 - [0-7]\+ -! OK 1 - [0-7]\+ -! OK 2 - [0-7]\+ -! OK 0 - [^0-7]\+ -! OK 1 - [^0-7]\+ -! OK 2 - [^0-7]\+ -! OK 0 - [0-9]\+ -! OK 1 - [0-9]\+ -! OK 2 - [0-9]\+ -! OK 0 - [^0-9]\+ -! OK 1 - [^0-9]\+ -! OK 2 - [^0-9]\+ -! OK 0 - [0-9a-fA-F]\+ -! OK 1 - [0-9a-fA-F]\+ -! OK 2 - [0-9a-fA-F]\+ - OK 0 - [^0-9A-Fa-f]\+ - OK 1 - [^0-9A-Fa-f]\+ - OK 2 - [^0-9A-Fa-f]\+ - OK 0 - [a-z_A-Z0-9]\+ - OK 1 - [a-z_A-Z0-9]\+ - OK 2 - [a-z_A-Z0-9]\+ -! OK 0 - [^a-z_A-Z0-9]\+ -! OK 1 - [^a-z_A-Z0-9]\+ -! OK 2 - [^a-z_A-Z0-9]\+ -! OK 0 - [a-z_A-Z]\+ -! OK 1 - [a-z_A-Z]\+ -! OK 2 - [a-z_A-Z]\+ -! OK 0 - [^a-z_A-Z]\+ -! OK 1 - [^a-z_A-Z]\+ -! OK 2 - [^a-z_A-Z]\+ -! OK 0 - [a-z]\+ -! OK 1 - [a-z]\+ -! OK 2 - [a-z]\+ -! OK 0 - [a-z]\+ -! OK 1 - [a-z]\+ -! OK 2 - [a-z]\+ -! OK 0 - [^a-z]\+ -! OK 1 - [^a-z]\+ -! OK 2 - [^a-z]\+ -! OK 0 - [^a-z]\+ -! OK 1 - [^a-z]\+ -! OK 2 - [^a-z]\+ -! OK 0 - [a-zA-Z]\+ -! OK 1 - [a-zA-Z]\+ -! OK 2 - [a-zA-Z]\+ -! OK 0 - [^a-zA-Z]\+ -! OK 1 - [^a-zA-Z]\+ -! OK 2 - [^a-zA-Z]\+ -! OK 0 - [A-Z]\+ -! OK 1 - [A-Z]\+ -! OK 2 - [A-Z]\+ -! OK 0 - [^A-Z]\+ -! OK 1 - [^A-Z]\+ -! OK 2 - [^A-Z]\+ -! OK 0 - [a-z]\+\c -! OK 1 - [a-z]\+\c -! OK 2 - [a-z]\+\c -! OK 0 - [A-Z]\+\c -! OK 1 - [A-Z]\+\c -! OK 2 - [A-Z]\+\c -! OK 0 - \c[^a-z]\+ -! OK 1 - \c[^a-z]\+ -! OK 2 - \c[^a-z]\+ -! OK 0 - \c[^A-Z]\+ -! OK 1 - \c[^A-Z]\+ -! OK 2 - \c[^A-Z]\+ - OK 0 - \C[^A-Z]\+ - OK 1 - \C[^A-Z]\+ - OK 2 - \C[^A-Z]\+ -*** ../vim-7.4.000/src/version.c 2013-08-10 13:29:20.000000000 +0200 ---- src/version.c 2013-08-14 11:54:57.000000000 +0200 -*************** -*** 729,730 **** ---- 729,732 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 1, - /**/ - --- -How many light bulbs does it take to change a person? - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ -\\\ an exciting new programming language -- http://www.Zimbu.org /// - \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/pkgs/applications/editors/vim/patches/7.4.002 b/pkgs/applications/editors/vim/patches/7.4.002 deleted file mode 100644 index d92f4de6c2d..00000000000 --- a/pkgs/applications/editors/vim/patches/7.4.002 +++ /dev/null @@ -1,77 +0,0 @@ -To: vim_dev@googlegroups.com -Subject: Patch 7.4.002 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.4b.002 -Problem: Pattern with two alternative look-behind matches does not match. - (Amadeus Demarzi) -Solution: When comparing PIMs also compare their state ID to see if they are - different. -Files: src/regexp_nfa.c, src/testdir/test64.in, src/testdir/test64.ok - - -*** ../vim-7.4.001/src/regexp_nfa.c 2013-08-14 12:05:54.000000000 +0200 ---- src/regexp_nfa.c 2013-08-14 13:12:09.000000000 +0200 -*************** -*** 3782,3787 **** ---- 3782,3790 ---- - if (two_unused) - /* one is used and two is not: not equal */ - return FALSE; -+ /* compare the state id */ -+ if (one->state->id != two->state->id) -+ return FALSE; - /* compare the position */ - if (REG_MULTI) - return one->end.pos.lnum == two->end.pos.lnum -*** ../vim-7.4.001/src/testdir/test64.in 2013-08-14 12:05:54.000000000 +0200 ---- src/testdir/test64.in 2013-08-14 12:58:38.000000000 +0200 -*************** -*** 421,426 **** ---- 421,429 ---- - :call add(tl, [2, '\(foo\)\@<=\>', 'barfoo', '', 'foo']) - :call add(tl, [2, '\(foo\)\@<=.*', 'foobar', 'bar', 'foo']) - :" -+ :" complicated look-behind match -+ :call add(tl, [2, '\(r\@<=\|\w\@ - :call add(tl, [2, '\(a*\)\@>a', 'aaaa']) - :call add(tl, [2, '\(a*\)\@>b', 'aaab', 'aaab', 'aaa']) -*** ../vim-7.4.001/src/testdir/test64.ok 2013-08-14 12:05:54.000000000 +0200 ---- src/testdir/test64.ok 2013-08-14 13:14:09.000000000 +0200 -*************** -*** 974,979 **** ---- 974,982 ---- - OK 0 - \(foo\)\@<=.* - OK 1 - \(foo\)\@<=.* - OK 2 - \(foo\)\@<=.* -+ OK 0 - \(r\@<=\|\w\@a - OK 1 - \(a*\)\@>a - OK 2 - \(a*\)\@>a -*** ../vim-7.4.001/src/version.c 2013-08-14 12:05:54.000000000 +0200 ---- src/version.c 2013-08-14 13:13:45.000000000 +0200 -*************** -*** 729,730 **** ---- 729,732 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 2, - /**/ - --- -From "know your smileys": - :-)-O Smiling doctor with stethoscope - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ -\\\ an exciting new programming language -- http://www.Zimbu.org /// - \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/pkgs/applications/editors/vim/patches/7.4.003 b/pkgs/applications/editors/vim/patches/7.4.003 deleted file mode 100644 index 9aad3c8c8f1..00000000000 --- a/pkgs/applications/editors/vim/patches/7.4.003 +++ /dev/null @@ -1,100 +0,0 @@ -To: vim_dev@googlegroups.com -Subject: Patch 7.4.003 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.4.003 -Problem: Memory access error in Ruby syntax highlighting. (Christopher Chow) -Solution: Refresh stale pointer. (James McCoy) -Files: src/regexp_nfa.c - - -*** ../vim-7.4.002/src/regexp_nfa.c 2013-08-14 13:31:03.000000000 +0200 ---- src/regexp_nfa.c 2013-08-14 14:02:06.000000000 +0200 -*************** -*** 4120,4126 **** - sub = &subs->norm; - } - #ifdef FEAT_SYN_HL -! else if (state->c >= NFA_ZOPEN) - { - subidx = state->c - NFA_ZOPEN; - sub = &subs->synt; ---- 4120,4126 ---- - sub = &subs->norm; - } - #ifdef FEAT_SYN_HL -! else if (state->c >= NFA_ZOPEN && state->c <= NFA_ZOPEN9) - { - subidx = state->c - NFA_ZOPEN; - sub = &subs->synt; -*************** -*** 4189,4194 **** ---- 4189,4201 ---- - } - - subs = addstate(l, state->out, subs, pim, off); -+ /* "subs" may have changed, need to set "sub" again */ -+ #ifdef FEAT_SYN_HL -+ if (state->c >= NFA_ZOPEN && state->c <= NFA_ZOPEN9) -+ sub = &subs->synt; -+ else -+ #endif -+ sub = &subs->norm; - - if (save_in_use == -1) - { -*************** -*** 4237,4243 **** - sub = &subs->norm; - } - #ifdef FEAT_SYN_HL -! else if (state->c >= NFA_ZCLOSE) - { - subidx = state->c - NFA_ZCLOSE; - sub = &subs->synt; ---- 4244,4250 ---- - sub = &subs->norm; - } - #ifdef FEAT_SYN_HL -! else if (state->c >= NFA_ZCLOSE && state->c <= NFA_ZCLOSE9) - { - subidx = state->c - NFA_ZCLOSE; - sub = &subs->synt; -*************** -*** 4281,4286 **** ---- 4288,4300 ---- - } - - subs = addstate(l, state->out, subs, pim, off); -+ /* "subs" may have changed, need to set "sub" again */ -+ #ifdef FEAT_SYN_HL -+ if (state->c >= NFA_ZCLOSE && state->c <= NFA_ZCLOSE9) -+ sub = &subs->synt; -+ else -+ #endif -+ sub = &subs->norm; - - if (REG_MULTI) - sub->list.multi[subidx].end = save_lpos; -*** ../vim-7.4.002/src/version.c 2013-08-14 13:31:03.000000000 +0200 ---- src/version.c 2013-08-14 14:03:51.000000000 +0200 -*************** -*** 729,730 **** ---- 729,732 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 3, - /**/ - --- -Where do you want to crash today? - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ -\\\ an exciting new programming language -- http://www.Zimbu.org /// - \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/pkgs/applications/editors/vim/patches/7.4.004 b/pkgs/applications/editors/vim/patches/7.4.004 deleted file mode 100644 index f629d673fb8..00000000000 --- a/pkgs/applications/editors/vim/patches/7.4.004 +++ /dev/null @@ -1,232 +0,0 @@ -To: vim_dev@googlegroups.com -Subject: Patch 7.4.004 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.4.004 -Problem: When closing a window fails ":bwipe" may hang. -Solution: Let win_close() return FAIL and break out of the loop. -Files: src/window.c, src/proto/window.pro, src/buffer.c - - -*** ../vim-7.4.003/src/window.c 2013-07-24 17:38:29.000000000 +0200 ---- src/window.c 2013-08-14 16:52:44.000000000 +0200 -*************** -*** 2172,2179 **** - * If "free_buf" is TRUE related buffer may be unloaded. - * - * Called by :quit, :close, :xit, :wq and findtag(). - */ -! void - win_close(win, free_buf) - win_T *win; - int free_buf; ---- 2172,2180 ---- - * If "free_buf" is TRUE related buffer may be unloaded. - * - * Called by :quit, :close, :xit, :wq and findtag(). -+ * Returns FAIL when the window was not closed. - */ -! int - win_close(win, free_buf) - win_T *win; - int free_buf; -*************** -*** 2190,2210 **** - if (last_window()) - { - EMSG(_("E444: Cannot close last window")); -! return; - } - - #ifdef FEAT_AUTOCMD - if (win->w_closing || (win->w_buffer != NULL && win->w_buffer->b_closing)) -! return; /* window is already being closed */ - if (win == aucmd_win) - { - EMSG(_("E813: Cannot close autocmd window")); -! return; - } - if ((firstwin == aucmd_win || lastwin == aucmd_win) && one_window()) - { - EMSG(_("E814: Cannot close window, only autocmd window would remain")); -! return; - } - #endif - ---- 2191,2211 ---- - if (last_window()) - { - EMSG(_("E444: Cannot close last window")); -! return FAIL; - } - - #ifdef FEAT_AUTOCMD - if (win->w_closing || (win->w_buffer != NULL && win->w_buffer->b_closing)) -! return FAIL; /* window is already being closed */ - if (win == aucmd_win) - { - EMSG(_("E813: Cannot close autocmd window")); -! return FAIL; - } - if ((firstwin == aucmd_win || lastwin == aucmd_win) && one_window()) - { - EMSG(_("E814: Cannot close window, only autocmd window would remain")); -! return FAIL; - } - #endif - -*************** -*** 2212,2218 **** - * and then close the window and the tab page to avoid that curwin and - * curtab are invalid while we are freeing memory. */ - if (close_last_window_tabpage(win, free_buf, prev_curtab)) -! return; - - /* When closing the help window, try restoring a snapshot after closing - * the window. Otherwise clear the snapshot, it's now invalid. */ ---- 2213,2219 ---- - * and then close the window and the tab page to avoid that curwin and - * curtab are invalid while we are freeing memory. */ - if (close_last_window_tabpage(win, free_buf, prev_curtab)) -! return FAIL; - - /* When closing the help window, try restoring a snapshot after closing - * the window. Otherwise clear the snapshot, it's now invalid. */ -*************** -*** 2240,2261 **** - win->w_closing = TRUE; - apply_autocmds(EVENT_BUFLEAVE, NULL, NULL, FALSE, curbuf); - if (!win_valid(win)) -! return; - win->w_closing = FALSE; - if (last_window()) -! return; - } - win->w_closing = TRUE; - apply_autocmds(EVENT_WINLEAVE, NULL, NULL, FALSE, curbuf); - if (!win_valid(win)) -! return; - win->w_closing = FALSE; - if (last_window()) -! return; - # ifdef FEAT_EVAL - /* autocmds may abort script processing */ - if (aborting()) -! return; - # endif - } - #endif ---- 2241,2262 ---- - win->w_closing = TRUE; - apply_autocmds(EVENT_BUFLEAVE, NULL, NULL, FALSE, curbuf); - if (!win_valid(win)) -! return FAIL; - win->w_closing = FALSE; - if (last_window()) -! return FAIL; - } - win->w_closing = TRUE; - apply_autocmds(EVENT_WINLEAVE, NULL, NULL, FALSE, curbuf); - if (!win_valid(win)) -! return FAIL; - win->w_closing = FALSE; - if (last_window()) -! return FAIL; - # ifdef FEAT_EVAL - /* autocmds may abort script processing */ - if (aborting()) -! return FAIL; - # endif - } - #endif -*************** -*** 2303,2309 **** - * other window or moved to another tab page. */ - else if (!win_valid(win) || last_window() || curtab != prev_curtab - || close_last_window_tabpage(win, free_buf, prev_curtab)) -! return; - - /* Free the memory used for the window and get the window that received - * the screen space. */ ---- 2304,2310 ---- - * other window or moved to another tab page. */ - else if (!win_valid(win) || last_window() || curtab != prev_curtab - || close_last_window_tabpage(win, free_buf, prev_curtab)) -! return FAIL; - - /* Free the memory used for the window and get the window that received - * the screen space. */ -*************** -*** 2383,2388 **** ---- 2384,2390 ---- - #endif - - redraw_all_later(NOT_VALID); -+ return OK; - } - - /* -*** ../vim-7.4.003/src/proto/window.pro 2013-08-10 13:37:30.000000000 +0200 ---- src/proto/window.pro 2013-08-14 16:52:50.000000000 +0200 -*************** -*** 9,15 **** - void win_equal __ARGS((win_T *next_curwin, int current, int dir)); - void close_windows __ARGS((buf_T *buf, int keep_curwin)); - int one_window __ARGS((void)); -! void win_close __ARGS((win_T *win, int free_buf)); - void win_close_othertab __ARGS((win_T *win, int free_buf, tabpage_T *tp)); - void win_free_all __ARGS((void)); - win_T *winframe_remove __ARGS((win_T *win, int *dirp, tabpage_T *tp)); ---- 9,15 ---- - void win_equal __ARGS((win_T *next_curwin, int current, int dir)); - void close_windows __ARGS((buf_T *buf, int keep_curwin)); - int one_window __ARGS((void)); -! int win_close __ARGS((win_T *win, int free_buf)); - void win_close_othertab __ARGS((win_T *win, int free_buf, tabpage_T *tp)); - void win_free_all __ARGS((void)); - win_T *winframe_remove __ARGS((win_T *win, int *dirp, tabpage_T *tp)); -*** ../vim-7.4.003/src/buffer.c 2013-07-17 16:39:00.000000000 +0200 ---- src/buffer.c 2013-08-14 16:54:34.000000000 +0200 -*************** -*** 1186,1192 **** - && !(curwin->w_closing || curwin->w_buffer->b_closing) - # endif - && (firstwin != lastwin || first_tabpage->tp_next != NULL)) -! win_close(curwin, FALSE); - #endif - - /* ---- 1186,1195 ---- - && !(curwin->w_closing || curwin->w_buffer->b_closing) - # endif - && (firstwin != lastwin || first_tabpage->tp_next != NULL)) -! { -! if (win_close(curwin, FALSE) == FAIL) -! break; -! } - #endif - - /* -*** ../vim-7.4.003/src/version.c 2013-08-14 14:18:37.000000000 +0200 ---- src/version.c 2013-08-14 17:10:23.000000000 +0200 -*************** -*** 729,730 **** ---- 729,732 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 4, - /**/ - --- -From "know your smileys": - *<|:-) Santa Claus (Ho Ho Ho) - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ -\\\ an exciting new programming language -- http://www.Zimbu.org /// - \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/pkgs/applications/editors/vim/patches/7.4.005 b/pkgs/applications/editors/vim/patches/7.4.005 deleted file mode 100644 index f85d1f0e3c8..00000000000 --- a/pkgs/applications/editors/vim/patches/7.4.005 +++ /dev/null @@ -1,48 +0,0 @@ -To: vim_dev@googlegroups.com -Subject: Patch 7.4.005 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.4.005 -Problem: Using "vaB" while 'virtualedit' is set selects the wrong area. - (Dimitar Dimitrov) -Solution: Reset coladd when finding a match. -Files: src/search.c - - -*** ../vim-7.4.004/src/search.c 2013-07-17 19:20:47.000000000 +0200 ---- src/search.c 2013-08-14 17:32:38.000000000 +0200 -*************** -*** 1760,1765 **** ---- 1760,1768 ---- - #endif - - pos = curwin->w_cursor; -+ #ifdef FEAT_VIRTUALEDIT -+ pos.coladd = 0; -+ #endif - linep = ml_get(pos.lnum); - - cpo_match = (vim_strchr(p_cpo, CPO_MATCH) != NULL); -*** ../vim-7.4.004/src/version.c 2013-08-14 17:11:14.000000000 +0200 ---- src/version.c 2013-08-14 17:38:05.000000000 +0200 -*************** -*** 729,730 **** ---- 729,732 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 5, - /**/ - --- -You can't have everything. Where would you put it? - -- Steven Wright - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ -\\\ an exciting new programming language -- http://www.Zimbu.org /// - \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/pkgs/applications/editors/vim/patches/7.4.006 b/pkgs/applications/editors/vim/patches/7.4.006 deleted file mode 100644 index 55d3802c4d1..00000000000 --- a/pkgs/applications/editors/vim/patches/7.4.006 +++ /dev/null @@ -1,66 +0,0 @@ -To: vim_dev@googlegroups.com -Subject: Patch 7.4.006 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.4.006 -Problem: mkdir("foo/bar/", "p") gives an error message. (David Barnett) -Solution: Remove the trailing slash. (lcd) -Files: src/eval.c - - -*** ../vim-7.4.005/src/eval.c 2013-07-05 18:23:42.000000000 +0200 ---- src/eval.c 2013-08-22 12:00:28.000000000 +0200 -*************** -*** 14292,14297 **** ---- 14292,14301 ---- - return; - - dir = get_tv_string_buf(&argvars[0], buf); -+ if (*gettail(dir) == NUL) -+ /* remove trailing slashes */ -+ *gettail_sep(dir) = NUL; -+ - if (argvars[1].v_type != VAR_UNKNOWN) - { - if (argvars[2].v_type != VAR_UNKNOWN) -*************** -*** 14299,14305 **** - if (prot != -1 && STRCMP(get_tv_string(&argvars[1]), "p") == 0) - mkdir_recurse(dir, prot); - } -! rettv->vval.v_number = prot != -1 ? vim_mkdir_emsg(dir, prot) : 0; - } - #endif - ---- 14303,14309 ---- - if (prot != -1 && STRCMP(get_tv_string(&argvars[1]), "p") == 0) - mkdir_recurse(dir, prot); - } -! rettv->vval.v_number = prot == -1 ? FAIL : vim_mkdir_emsg(dir, prot); - } - #endif - -*** ../vim-7.4.005/src/version.c 2013-08-14 17:45:25.000000000 +0200 ---- src/version.c 2013-08-22 12:02:46.000000000 +0200 -*************** -*** 729,730 **** ---- 729,732 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 6, - /**/ - --- -hundred-and-one symptoms of being an internet addict: -97. Your mother tells you to remember something, and you look for - a File/Save command. - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ -\\\ an exciting new programming language -- http://www.Zimbu.org /// - \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/pkgs/applications/editors/vim/patches/7.4.007 b/pkgs/applications/editors/vim/patches/7.4.007 deleted file mode 100644 index 5495ffbf979..00000000000 --- a/pkgs/applications/editors/vim/patches/7.4.007 +++ /dev/null @@ -1,95 +0,0 @@ -To: vim_dev@googlegroups.com -Subject: Patch 7.4.007 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.4.007 -Problem: Creating a preview window on startup leaves the screen layout in a - messed up state. (Marius Gedminas) -Solution: Don't change firstwin. (Christian Brabandt) -Files: src/main.c - - -*** ../vim-7.4.006/src/main.c 2013-07-03 12:36:49.000000000 +0200 ---- src/main.c 2013-08-22 14:02:39.000000000 +0200 -*************** -*** 2727,2732 **** ---- 2727,2733 ---- - int arg_idx; /* index in argument list */ - int i; - int advance = TRUE; -+ win_T *win; - - # ifdef FEAT_AUTOCMD - /* -*************** -*** 2816,2839 **** - # ifdef FEAT_AUTOCMD - --autocmd_no_enter; - # endif - #if defined(FEAT_WINDOWS) && defined(FEAT_QUICKFIX) -! /* -! * Avoid making a preview window the current window. -! */ -! if (firstwin->w_p_pvw) - { -! win_T *win; -! -! for (win = firstwin; win != NULL; win = win->w_next) -! if (!win->w_p_pvw) -! { -! firstwin = win; -! break; -! } - } - #endif -! /* make the first window the current window */ -! win_enter(firstwin, FALSE); - - # ifdef FEAT_AUTOCMD - --autocmd_no_leave; ---- 2817,2838 ---- - # ifdef FEAT_AUTOCMD - --autocmd_no_enter; - # endif -+ -+ /* make the first window the current window */ -+ win = firstwin; - #if defined(FEAT_WINDOWS) && defined(FEAT_QUICKFIX) -! /* Avoid making a preview window the current window. */ -! while (win->w_p_pvw) - { -! win = win->w_next; -! if (win == NULL) -! { -! win = firstwin; -! break; -! } - } - #endif -! win_enter(win, FALSE); - - # ifdef FEAT_AUTOCMD - --autocmd_no_leave; -*** ../vim-7.4.006/src/version.c 2013-08-22 12:06:50.000000000 +0200 ---- src/version.c 2013-08-22 14:04:11.000000000 +0200 -*************** -*** 729,730 **** ---- 729,732 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 7, - /**/ - --- -hundred-and-one symptoms of being an internet addict: -105. When someone asks you for your address, you tell them your URL. - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ -\\\ an exciting new programming language -- http://www.Zimbu.org /// - \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/pkgs/applications/editors/vim/patches/7.4.008 b/pkgs/applications/editors/vim/patches/7.4.008 deleted file mode 100644 index 6abd493f914..00000000000 --- a/pkgs/applications/editors/vim/patches/7.4.008 +++ /dev/null @@ -1,71 +0,0 @@ -To: vim_dev@googlegroups.com -Subject: Patch 7.4.008 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.4.008 -Problem: New regexp engine can't be interrupted. -Solution: Check for CTRL-C pressed. (Yasuhiro Matsumoto) -Files: src/regexp_nfa.c, src/regexp.c - - -*** ../vim-7.4.007/src/regexp_nfa.c 2013-08-14 14:18:37.000000000 +0200 ---- src/regexp_nfa.c 2013-08-25 16:55:56.000000000 +0200 -*************** -*** 5089,5094 **** ---- 5089,5100 ---- - return FALSE; - } - #endif -+ /* Some patterns may take a long time to match, especially when using -+ * recursive_regmatch(). Allow interrupting them with CTRL-C. */ -+ fast_breakcheck(); -+ if (got_int) -+ return FALSE; -+ - nfa_match = FALSE; - - /* Allocate memory for the lists of nodes. */ -*** ../vim-7.4.007/src/regexp.c 2013-08-01 18:31:30.000000000 +0200 ---- src/regexp.c 2013-08-25 16:57:35.000000000 +0200 -*************** -*** 4311,4318 **** - */ - for (;;) - { -! /* Some patterns may cause a long time to match, even though they are not -! * illegal. E.g., "\([a-z]\+\)\+Q". Allow breaking them with CTRL-C. */ - fast_breakcheck(); - - #ifdef DEBUG ---- 4311,4318 ---- - */ - for (;;) - { -! /* Some patterns may take a long time to match, e.g., "\([a-z]\+\)\+Q". -! * Allow interrupting them with CTRL-C. */ - fast_breakcheck(); - - #ifdef DEBUG -*** ../vim-7.4.007/src/version.c 2013-08-22 14:14:23.000000000 +0200 ---- src/version.c 2013-08-25 16:57:51.000000000 +0200 -*************** -*** 729,730 **** ---- 729,732 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 8, - /**/ - --- -hundred-and-one symptoms of being an internet addict: -124. You begin conversations with, "Who is your internet service provider?" - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ -\\\ an exciting new programming language -- http://www.Zimbu.org /// - \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/pkgs/applications/editors/vim/patches/7.4.009 b/pkgs/applications/editors/vim/patches/7.4.009 deleted file mode 100644 index f5e5fa60912..00000000000 --- a/pkgs/applications/editors/vim/patches/7.4.009 +++ /dev/null @@ -1,64 +0,0 @@ -To: vim_dev@googlegroups.com -Subject: Patch 7.4.009 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.4.009 -Problem: When a file was not decrypted (yet), writing it may destroy the - contents. -Solution: Mark the file as readonly until decryption was done. (Christian - Brabandt) -Files: src/fileio.c - - -*** ../vim-7.4.008/src/fileio.c 2013-08-05 21:58:03.000000000 +0200 ---- src/fileio.c 2013-08-25 17:45:27.000000000 +0200 -*************** -*** 2926,2934 **** ---- 2926,2939 ---- - int *did_ask; /* flag: whether already asked for key */ - { - int method = crypt_method_from_magic((char *)ptr, *sizep); -+ int b_p_ro = curbuf->b_p_ro; - - if (method >= 0) - { -+ /* Mark the buffer as read-only until the decryption has taken place. -+ * Avoids accidentally overwriting the file with garbage. */ -+ curbuf->b_p_ro = TRUE; -+ - set_crypt_method(curbuf, method); - if (method > 0) - (void)blowfish_self_test(); -*************** -*** 2977,2982 **** ---- 2982,2989 ---- - *sizep -= CRYPT_MAGIC_LEN + salt_len + seed_len; - mch_memmove(ptr, ptr + CRYPT_MAGIC_LEN + salt_len + seed_len, - (size_t)*sizep); -+ /* Restore the read-only flag. */ -+ curbuf->b_p_ro = b_p_ro; - } - } - /* When starting to edit a new file which does not have encryption, clear -*** ../vim-7.4.008/src/version.c 2013-08-25 17:01:36.000000000 +0200 ---- src/version.c 2013-08-25 17:44:30.000000000 +0200 -*************** -*** 729,730 **** ---- 729,732 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 9, - /**/ - --- -I have a watch cat! Just break in and she'll watch. - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ -\\\ an exciting new programming language -- http://www.Zimbu.org /// - \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/pkgs/applications/editors/vim/patches/7.4.010 b/pkgs/applications/editors/vim/patches/7.4.010 deleted file mode 100644 index fee6ba5b4a8..00000000000 --- a/pkgs/applications/editors/vim/patches/7.4.010 +++ /dev/null @@ -1,79 +0,0 @@ -To: vim_dev@googlegroups.com -Subject: Patch 7.4.010 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.4.010 (after 7.4.006) -Problem: Crash with invalid argument to mkdir(). -Solution: Check for empty string. (lcd47) -Files: src/eval.c - - -*** ../vim-7.4.009/src/eval.c 2013-08-22 12:06:50.000000000 +0200 ---- src/eval.c 2013-08-30 15:47:47.000000000 +0200 -*************** -*** 14292,14309 **** - return; - - dir = get_tv_string_buf(&argvars[0], buf); -! if (*gettail(dir) == NUL) -! /* remove trailing slashes */ -! *gettail_sep(dir) = NUL; -! -! if (argvars[1].v_type != VAR_UNKNOWN) - { -! if (argvars[2].v_type != VAR_UNKNOWN) -! prot = get_tv_number_chk(&argvars[2], NULL); -! if (prot != -1 && STRCMP(get_tv_string(&argvars[1]), "p") == 0) -! mkdir_recurse(dir, prot); - } -- rettv->vval.v_number = prot == -1 ? FAIL : vim_mkdir_emsg(dir, prot); - } - #endif - ---- 14292,14314 ---- - return; - - dir = get_tv_string_buf(&argvars[0], buf); -! if (*dir == NUL) -! rettv->vval.v_number = FAIL; -! else - { -! if (*gettail(dir) == NUL) -! /* remove trailing slashes */ -! *gettail_sep(dir) = NUL; -! -! if (argvars[1].v_type != VAR_UNKNOWN) -! { -! if (argvars[2].v_type != VAR_UNKNOWN) -! prot = get_tv_number_chk(&argvars[2], NULL); -! if (prot != -1 && STRCMP(get_tv_string(&argvars[1]), "p") == 0) -! mkdir_recurse(dir, prot); -! } -! rettv->vval.v_number = prot == -1 ? FAIL : vim_mkdir_emsg(dir, prot); - } - } - #endif - -*** ../vim-7.4.009/src/version.c 2013-08-25 17:46:05.000000000 +0200 ---- src/version.c 2013-08-30 15:48:37.000000000 +0200 -*************** -*** 729,730 **** ---- 729,732 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 10, - /**/ - --- -I wish there was a knob on the TV to turn up the intelligence. -There's a knob called "brightness", but it doesn't seem to work. - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ -\\\ an exciting new programming language -- http://www.Zimbu.org /// - \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/pkgs/applications/editors/vim/patches/7.4.011 b/pkgs/applications/editors/vim/patches/7.4.011 deleted file mode 100644 index efff82c5eba..00000000000 --- a/pkgs/applications/editors/vim/patches/7.4.011 +++ /dev/null @@ -1,100 +0,0 @@ -To: vim_dev@googlegroups.com -Subject: Patch 7.4.011 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.4.011 -Problem: Cannot find out if "acl" and "xpm" features are supported. -Solution: Add "acl" and "xpm" to the list of features. (Ken Takata) -Files: src/eval.c, src/version.c - - -*** ../vim-7.4.010/src/eval.c 2013-08-30 16:00:04.000000000 +0200 ---- src/eval.c 2013-08-30 16:34:12.000000000 +0200 -*************** -*** 12135,12140 **** ---- 12135,12143 ---- - #ifndef CASE_INSENSITIVE_FILENAME - "fname_case", - #endif -+ #ifdef HAVE_ACL -+ "acl", -+ #endif - #ifdef FEAT_ARABIC - "arabic", - #endif -*************** -*** 12538,12544 **** - "xfontset", - #endif - #ifdef FEAT_XPM_W32 -! "xpm_w32", - #endif - #ifdef USE_XSMP - "xsmp", ---- 12541,12552 ---- - "xfontset", - #endif - #ifdef FEAT_XPM_W32 -! "xpm", -! "xpm_w32", /* for backward compatibility */ -! #else -! # if defined(HAVE_XPM) -! "xpm", -! # endif - #endif - #ifdef USE_XSMP - "xsmp", -*** ../vim-7.4.010/src/version.c 2013-08-30 16:00:04.000000000 +0200 ---- src/version.c 2013-08-30 16:34:37.000000000 +0200 -*************** -*** 60,65 **** ---- 60,70 ---- - - static char *(features[]) = - { -+ #ifdef HAVE_ACL -+ "+acl", -+ #else -+ "-acl", -+ #endif - #ifdef AMIGA /* only for Amiga systems */ - # ifdef FEAT_ARP - "+ARP", -*************** -*** 721,726 **** ---- 726,737 ---- - # else - "-xpm_w32", - # endif -+ #else -+ # ifdef HAVE_XPM -+ "+xpm", -+ # else -+ "-xpm", -+ # endif - #endif - NULL - }; -*** ../vim-7.4.010/src/version.c 2013-08-30 16:00:04.000000000 +0200 ---- src/version.c 2013-08-30 16:34:37.000000000 +0200 -*************** -*** 729,730 **** ---- 740,743 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 11, - /**/ - --- -hundred-and-one symptoms of being an internet addict: -141. You'd rather go to http://www.weather.com/ than look out your window. - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ -\\\ an exciting new programming language -- http://www.Zimbu.org /// - \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/pkgs/applications/editors/vim/patches/7.4.012 b/pkgs/applications/editors/vim/patches/7.4.012 deleted file mode 100644 index f831442ea56..00000000000 --- a/pkgs/applications/editors/vim/patches/7.4.012 +++ /dev/null @@ -1,202 +0,0 @@ -To: vim_dev@googlegroups.com -Subject: Patch 7.4.012 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.4.012 -Problem: MS-Windows: resolving shortcut does not work properly with - multi-byte characters. -Solution: Use wide system functions. (Ken Takata) -Files: src/os_mswin.c - - -*** ../vim-7.4.011/src/os_mswin.c 2013-06-16 16:41:11.000000000 +0200 ---- src/os_mswin.c 2013-08-30 16:43:23.000000000 +0200 -*************** -*** 1761,1769 **** - IPersistFile *ppf = NULL; - OLECHAR wsz[MAX_PATH]; - WIN32_FIND_DATA ffd; // we get those free of charge -! TCHAR buf[MAX_PATH]; // could have simply reused 'wsz'... - char_u *rfname = NULL; - int len; - - /* Check if the file name ends in ".lnk". Avoid calling - * CoCreateInstance(), it's quite slow. */ ---- 1761,1773 ---- - IPersistFile *ppf = NULL; - OLECHAR wsz[MAX_PATH]; - WIN32_FIND_DATA ffd; // we get those free of charge -! CHAR buf[MAX_PATH]; // could have simply reused 'wsz'... - char_u *rfname = NULL; - int len; -+ # ifdef FEAT_MBYTE -+ IShellLinkW *pslw = NULL; -+ WIN32_FIND_DATAW ffdw; // we get those free of charge -+ # endif - - /* Check if the file name ends in ".lnk". Avoid calling - * CoCreateInstance(), it's quite slow. */ -*************** -*** 1775,1792 **** - - CoInitialize(NULL); - - // create a link manager object and request its interface - hr = CoCreateInstance( - &CLSID_ShellLink, NULL, CLSCTX_INPROC_SERVER, - &IID_IShellLink, (void**)&psl); - if (hr != S_OK) -! goto shortcut_error; - - // Get a pointer to the IPersistFile interface. - hr = psl->lpVtbl->QueryInterface( - psl, &IID_IPersistFile, (void**)&ppf); - if (hr != S_OK) -! goto shortcut_error; - - // full path string must be in Unicode. - MultiByteToWideChar(CP_ACP, 0, fname, -1, wsz, MAX_PATH); ---- 1779,1840 ---- - - CoInitialize(NULL); - -+ # ifdef FEAT_MBYTE -+ if (enc_codepage >= 0 && (int)GetACP() != enc_codepage) -+ { -+ // create a link manager object and request its interface -+ hr = CoCreateInstance( -+ &CLSID_ShellLink, NULL, CLSCTX_INPROC_SERVER, -+ &IID_IShellLinkW, (void**)&pslw); -+ if (hr == S_OK) -+ { -+ WCHAR *p = enc_to_utf16(fname, NULL); -+ -+ if (p != NULL) -+ { -+ // Get a pointer to the IPersistFile interface. -+ hr = pslw->lpVtbl->QueryInterface( -+ pslw, &IID_IPersistFile, (void**)&ppf); -+ if (hr != S_OK) -+ goto shortcut_errorw; -+ -+ // "load" the name and resolve the link -+ hr = ppf->lpVtbl->Load(ppf, p, STGM_READ); -+ if (hr != S_OK) -+ goto shortcut_errorw; -+ # if 0 // This makes Vim wait a long time if the target does not exist. -+ hr = pslw->lpVtbl->Resolve(pslw, NULL, SLR_NO_UI); -+ if (hr != S_OK) -+ goto shortcut_errorw; -+ # endif -+ -+ // Get the path to the link target. -+ ZeroMemory(wsz, MAX_PATH * sizeof(WCHAR)); -+ hr = pslw->lpVtbl->GetPath(pslw, wsz, MAX_PATH, &ffdw, 0); -+ if (hr == S_OK && wsz[0] != NUL) -+ rfname = utf16_to_enc(wsz, NULL); -+ -+ shortcut_errorw: -+ vim_free(p); -+ if (hr == S_OK) -+ goto shortcut_end; -+ } -+ } -+ /* Retry with non-wide function (for Windows 98). */ -+ } -+ # endif - // create a link manager object and request its interface - hr = CoCreateInstance( - &CLSID_ShellLink, NULL, CLSCTX_INPROC_SERVER, - &IID_IShellLink, (void**)&psl); - if (hr != S_OK) -! goto shortcut_end; - - // Get a pointer to the IPersistFile interface. - hr = psl->lpVtbl->QueryInterface( - psl, &IID_IPersistFile, (void**)&ppf); - if (hr != S_OK) -! goto shortcut_end; - - // full path string must be in Unicode. - MultiByteToWideChar(CP_ACP, 0, fname, -1, wsz, MAX_PATH); -*************** -*** 1794,1805 **** - // "load" the name and resolve the link - hr = ppf->lpVtbl->Load(ppf, wsz, STGM_READ); - if (hr != S_OK) -! goto shortcut_error; -! #if 0 // This makes Vim wait a long time if the target doesn't exist. - hr = psl->lpVtbl->Resolve(psl, NULL, SLR_NO_UI); - if (hr != S_OK) -! goto shortcut_error; -! #endif - - // Get the path to the link target. - ZeroMemory(buf, MAX_PATH); ---- 1842,1853 ---- - // "load" the name and resolve the link - hr = ppf->lpVtbl->Load(ppf, wsz, STGM_READ); - if (hr != S_OK) -! goto shortcut_end; -! # if 0 // This makes Vim wait a long time if the target doesn't exist. - hr = psl->lpVtbl->Resolve(psl, NULL, SLR_NO_UI); - if (hr != S_OK) -! goto shortcut_end; -! # endif - - // Get the path to the link target. - ZeroMemory(buf, MAX_PATH); -*************** -*** 1807,1818 **** - if (hr == S_OK && buf[0] != NUL) - rfname = vim_strsave(buf); - -! shortcut_error: - // Release all interface pointers (both belong to the same object) - if (ppf != NULL) - ppf->lpVtbl->Release(ppf); - if (psl != NULL) - psl->lpVtbl->Release(psl); - - CoUninitialize(); - return rfname; ---- 1855,1870 ---- - if (hr == S_OK && buf[0] != NUL) - rfname = vim_strsave(buf); - -! shortcut_end: - // Release all interface pointers (both belong to the same object) - if (ppf != NULL) - ppf->lpVtbl->Release(ppf); - if (psl != NULL) - psl->lpVtbl->Release(psl); -+ # ifdef FEAT_MBYTE -+ if (pslw != NULL) -+ pslw->lpVtbl->Release(pslw); -+ # endif - - CoUninitialize(); - return rfname; -*** ../vim-7.4.011/src/version.c 2013-08-30 16:35:41.000000000 +0200 ---- src/version.c 2013-08-30 16:39:40.000000000 +0200 -*************** -*** 740,741 **** ---- 740,743 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 12, - /**/ - --- -hundred-and-one symptoms of being an internet addict: -142. You dream about creating the world's greatest web site. - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ -\\\ an exciting new programming language -- http://www.Zimbu.org /// - \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/pkgs/applications/editors/vim/patches/7.4.013 b/pkgs/applications/editors/vim/patches/7.4.013 deleted file mode 100644 index dcbe0fb3e43..00000000000 --- a/pkgs/applications/editors/vim/patches/7.4.013 +++ /dev/null @@ -1,99 +0,0 @@ -To: vim_dev@googlegroups.com -Subject: Patch 7.4.013 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.4.013 -Problem: File name buffer too small for utf-8. -Solution: Use character count instead of byte count. (Ken Takata) -Files: src/os_mswin.c - - -*** ../vim-7.4.012/src/os_mswin.c 2013-08-30 16:44:15.000000000 +0200 ---- src/os_mswin.c 2013-08-30 16:47:54.000000000 +0200 -*************** -*** 456,462 **** ---- 456,469 ---- - int - mch_isFullName(char_u *fname) - { -+ #ifdef FEAT_MBYTE -+ /* WinNT and later can use _MAX_PATH wide characters for a pathname, which -+ * means that the maximum pathname is _MAX_PATH * 3 bytes when 'enc' is -+ * UTF-8. */ -+ char szName[_MAX_PATH * 3 + 1]; -+ #else - char szName[_MAX_PATH + 1]; -+ #endif - - /* A name like "d:/foo" and "//server/share" is absolute */ - if ((fname[0] && fname[1] == ':' && (fname[2] == '/' || fname[2] == '\\')) -*************** -*** 464,470 **** - return TRUE; - - /* A name that can't be made absolute probably isn't absolute. */ -! if (mch_FullName(fname, szName, _MAX_PATH, FALSE) == FAIL) - return FALSE; - - return pathcmp(fname, szName, -1) == 0; ---- 471,477 ---- - return TRUE; - - /* A name that can't be made absolute probably isn't absolute. */ -! if (mch_FullName(fname, szName, sizeof(szName) - 1, FALSE) == FAIL) - return FALSE; - - return pathcmp(fname, szName, -1) == 0; -*************** -*** 498,507 **** - int - vim_stat(const char *name, struct stat *stp) - { - char buf[_MAX_PATH + 1]; - char *p; - -! vim_strncpy((char_u *)buf, (char_u *)name, _MAX_PATH); - p = buf + strlen(buf); - if (p > buf) - mb_ptr_back(buf, p); ---- 505,521 ---- - int - vim_stat(const char *name, struct stat *stp) - { -+ #ifdef FEAT_MBYTE -+ /* WinNT and later can use _MAX_PATH wide characters for a pathname, which -+ * means that the maximum pathname is _MAX_PATH * 3 bytes when 'enc' is -+ * UTF-8. */ -+ char buf[_MAX_PATH * 3 + 1]; -+ #else - char buf[_MAX_PATH + 1]; -+ #endif - char *p; - -! vim_strncpy((char_u *)buf, (char_u *)name, sizeof(buf) - 1); - p = buf + strlen(buf); - if (p > buf) - mb_ptr_back(buf, p); -*** ../vim-7.4.012/src/version.c 2013-08-30 16:44:15.000000000 +0200 ---- src/version.c 2013-08-30 16:47:36.000000000 +0200 -*************** -*** 740,741 **** ---- 740,743 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 13, - /**/ - --- -hundred-and-one symptoms of being an internet addict: -143. You dream in pallettes of 216 websafe colors. - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ -\\\ an exciting new programming language -- http://www.Zimbu.org /// - \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/pkgs/applications/editors/vim/patches/7.4.014 b/pkgs/applications/editors/vim/patches/7.4.014 deleted file mode 100644 index f6554337f27..00000000000 --- a/pkgs/applications/editors/vim/patches/7.4.014 +++ /dev/null @@ -1,102 +0,0 @@ -To: vim_dev@googlegroups.com -Subject: Patch 7.4.014 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.4.014 -Problem: MS-Windows: check for writing to device does not work. -Solution: Fix #ifdefs. (Ken Takata) -Files: src/fileio.c - - -*** ../vim-7.4.013/src/fileio.c 2013-08-25 17:46:05.000000000 +0200 ---- src/fileio.c 2013-08-30 16:56:46.000000000 +0200 -*************** -*** 428,440 **** - } - } - -- #ifdef UNIX -- /* -- * On Unix it is possible to read a directory, so we have to -- * check for it before the mch_open(). -- */ - if (!read_stdin && !read_buffer) - { - perm = mch_getperm(fname); - if (perm >= 0 && !S_ISREG(perm) /* not a regular file ... */ - # ifdef S_ISFIFO ---- 428,440 ---- - } - } - - if (!read_stdin && !read_buffer) - { -+ #ifdef UNIX -+ /* -+ * On Unix it is possible to read a directory, so we have to -+ * check for it before the mch_open(). -+ */ - perm = mch_getperm(fname); - if (perm >= 0 && !S_ISREG(perm) /* not a regular file ... */ - # ifdef S_ISFIFO -*************** -*** 457,464 **** - msg_scroll = msg_save; - return FAIL; - } -! -! # if defined(MSDOS) || defined(MSWIN) || defined(OS2) - /* - * MS-Windows allows opening a device, but we will probably get stuck - * trying to read it. ---- 457,464 ---- - msg_scroll = msg_save; - return FAIL; - } -! #endif -! #if defined(MSDOS) || defined(MSWIN) || defined(OS2) - /* - * MS-Windows allows opening a device, but we will probably get stuck - * trying to read it. -*************** -*** 470,478 **** - msg_scroll = msg_save; - return FAIL; - } -- # endif -- } - #endif - - /* Set default or forced 'fileformat' and 'binary'. */ - set_file_options(set_options, eap); ---- 470,477 ---- - msg_scroll = msg_save; - return FAIL; - } - #endif -+ } - - /* Set default or forced 'fileformat' and 'binary'. */ - set_file_options(set_options, eap); -*** ../vim-7.4.013/src/version.c 2013-08-30 16:51:15.000000000 +0200 ---- src/version.c 2013-08-30 16:54:33.000000000 +0200 -*************** -*** 740,741 **** ---- 740,743 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 14, - /**/ - --- -Drink wet cement and get really stoned. - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ -\\\ an exciting new programming language -- http://www.Zimbu.org /// - \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/pkgs/applications/editors/vim/patches/7.4.015 b/pkgs/applications/editors/vim/patches/7.4.015 deleted file mode 100644 index e8b284d12b3..00000000000 --- a/pkgs/applications/editors/vim/patches/7.4.015 +++ /dev/null @@ -1,106 +0,0 @@ -To: vim_dev@googlegroups.com -Subject: Patch 7.4.015 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.4.015 -Problem: MS-Windows: Detecting node type does not work for multi-byte - characters. -Solution: Use wide character function when needed. (Ken Takata) -Files: src/os_win32.c - - -*** ../vim-7.4.014/src/os_win32.c 2013-08-10 12:39:12.000000000 +0200 ---- src/os_win32.c 2013-08-30 17:09:47.000000000 +0200 -*************** -*** 3107,3112 **** ---- 3107,3115 ---- - { - HANDLE hFile; - int type; -+ #ifdef FEAT_MBYTE -+ WCHAR *wn = NULL; -+ #endif - - /* We can't open a file with a name "\\.\con" or "\\.\prn" and trying to - * read from it later will cause Vim to hang. Thus return NODE_WRITABLE -*************** -*** 3114,3127 **** - if (STRNCMP(name, "\\\\.\\", 4) == 0) - return NODE_WRITABLE; - -! hFile = CreateFile(name, /* file name */ -! GENERIC_WRITE, /* access mode */ -! 0, /* share mode */ -! NULL, /* security descriptor */ -! OPEN_EXISTING, /* creation disposition */ -! 0, /* file attributes */ -! NULL); /* handle to template file */ - - if (hFile == INVALID_HANDLE_VALUE) - return NODE_NORMAL; - ---- 3117,3157 ---- - if (STRNCMP(name, "\\\\.\\", 4) == 0) - return NODE_WRITABLE; - -! #ifdef FEAT_MBYTE -! if (enc_codepage >= 0 && (int)GetACP() != enc_codepage) -! { -! wn = enc_to_utf16(name, NULL); -! if (wn != NULL) -! { -! hFile = CreateFileW(wn, /* file name */ -! GENERIC_WRITE, /* access mode */ -! 0, /* share mode */ -! NULL, /* security descriptor */ -! OPEN_EXISTING, /* creation disposition */ -! 0, /* file attributes */ -! NULL); /* handle to template file */ -! if (hFile == INVALID_HANDLE_VALUE -! && GetLastError() == ERROR_CALL_NOT_IMPLEMENTED) -! { -! /* Retry with non-wide function (for Windows 98). */ -! vim_free(wn); -! wn = NULL; -! } -! } -! } -! if (wn == NULL) -! #endif -! hFile = CreateFile(name, /* file name */ -! GENERIC_WRITE, /* access mode */ -! 0, /* share mode */ -! NULL, /* security descriptor */ -! OPEN_EXISTING, /* creation disposition */ -! 0, /* file attributes */ -! NULL); /* handle to template file */ - -+ #ifdef FEAT_MBYTE -+ vim_free(wn); -+ #endif - if (hFile == INVALID_HANDLE_VALUE) - return NODE_NORMAL; - -*** ../vim-7.4.014/src/version.c 2013-08-30 17:06:56.000000000 +0200 ---- src/version.c 2013-08-30 17:09:35.000000000 +0200 -*************** -*** 740,741 **** ---- 740,743 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 15, - /**/ - --- -hundred-and-one symptoms of being an internet addict: -144. You eagerly await the update of the "Cool Site of the Day." - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ -\\\ an exciting new programming language -- http://www.Zimbu.org /// - \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/pkgs/applications/editors/vim/patches/7.4.016 b/pkgs/applications/editors/vim/patches/7.4.016 deleted file mode 100644 index c58c605f5c1..00000000000 --- a/pkgs/applications/editors/vim/patches/7.4.016 +++ /dev/null @@ -1,221 +0,0 @@ -To: vim_dev@googlegroups.com -Subject: Patch 7.4.016 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.4.016 -Problem: MS-Windows: File name completion doesn't work properly with - Chinese characters. (Yue Wu) -Solution: Add fname_casew(). (Ken Takata) -Files: src/os_win32.c - - -*** ../vim-7.4.015/src/os_win32.c 2013-08-30 17:11:29.000000000 +0200 ---- src/os_win32.c 2013-08-30 17:28:30.000000000 +0200 -*************** -*** 2500,2508 **** ---- 2500,2624 ---- - } - - -+ #ifdef FEAT_MBYTE -+ /* -+ * fname_casew(): Wide version of fname_case(). Set the case of the file name, -+ * if it already exists. When "len" is > 0, also expand short to long -+ * filenames. -+ * Return FAIL if wide functions are not available, OK otherwise. -+ * NOTE: much of this is identical to fname_case(), keep in sync! -+ */ -+ static int -+ fname_casew( -+ WCHAR *name, -+ int len) -+ { -+ WCHAR szTrueName[_MAX_PATH + 2]; -+ WCHAR szTrueNameTemp[_MAX_PATH + 2]; -+ WCHAR *ptrue, *ptruePrev; -+ WCHAR *porig, *porigPrev; -+ int flen; -+ WIN32_FIND_DATAW fb; -+ HANDLE hFind; -+ int c; -+ int slen; -+ -+ flen = (int)wcslen(name); -+ if (flen > _MAX_PATH) -+ return OK; -+ -+ /* slash_adjust(name) not needed, already adjusted by fname_case(). */ -+ -+ /* Build the new name in szTrueName[] one component at a time. */ -+ porig = name; -+ ptrue = szTrueName; -+ -+ if (iswalpha(porig[0]) && porig[1] == L':') -+ { -+ /* copy leading drive letter */ -+ *ptrue++ = *porig++; -+ *ptrue++ = *porig++; -+ *ptrue = NUL; /* in case nothing follows */ -+ } -+ -+ while (*porig != NUL) -+ { -+ /* copy \ characters */ -+ while (*porig == psepc) -+ *ptrue++ = *porig++; -+ -+ ptruePrev = ptrue; -+ porigPrev = porig; -+ while (*porig != NUL && *porig != psepc) -+ { -+ *ptrue++ = *porig++; -+ } -+ *ptrue = NUL; -+ -+ /* To avoid a slow failure append "\*" when searching a directory, -+ * server or network share. */ -+ wcscpy(szTrueNameTemp, szTrueName); -+ slen = (int)wcslen(szTrueNameTemp); -+ if (*porig == psepc && slen + 2 < _MAX_PATH) -+ wcscpy(szTrueNameTemp + slen, L"\\*"); -+ -+ /* Skip "", "." and "..". */ -+ if (ptrue > ptruePrev -+ && (ptruePrev[0] != L'.' -+ || (ptruePrev[1] != NUL -+ && (ptruePrev[1] != L'.' || ptruePrev[2] != NUL))) -+ && (hFind = FindFirstFileW(szTrueNameTemp, &fb)) -+ != INVALID_HANDLE_VALUE) -+ { -+ c = *porig; -+ *porig = NUL; -+ -+ /* Only use the match when it's the same name (ignoring case) or -+ * expansion is allowed and there is a match with the short name -+ * and there is enough room. */ -+ if (_wcsicoll(porigPrev, fb.cFileName) == 0 -+ || (len > 0 -+ && (_wcsicoll(porigPrev, fb.cAlternateFileName) == 0 -+ && (int)(ptruePrev - szTrueName) -+ + (int)wcslen(fb.cFileName) < len))) -+ { -+ wcscpy(ptruePrev, fb.cFileName); -+ -+ /* Look for exact match and prefer it if found. Must be a -+ * long name, otherwise there would be only one match. */ -+ while (FindNextFileW(hFind, &fb)) -+ { -+ if (*fb.cAlternateFileName != NUL -+ && (wcscoll(porigPrev, fb.cFileName) == 0 -+ || (len > 0 -+ && (_wcsicoll(porigPrev, -+ fb.cAlternateFileName) == 0 -+ && (int)(ptruePrev - szTrueName) -+ + (int)wcslen(fb.cFileName) < len)))) -+ { -+ wcscpy(ptruePrev, fb.cFileName); -+ break; -+ } -+ } -+ } -+ FindClose(hFind); -+ *porig = c; -+ ptrue = ptruePrev + wcslen(ptruePrev); -+ } -+ else if (hFind == INVALID_HANDLE_VALUE -+ && GetLastError() == ERROR_CALL_NOT_IMPLEMENTED) -+ return FAIL; -+ } -+ -+ wcscpy(name, szTrueName); -+ return OK; -+ } -+ #endif -+ - /* - * fname_case(): Set the case of the file name, if it already exists. - * When "len" is > 0, also expand short to long filenames. -+ * NOTE: much of this is identical to fname_casew(), keep in sync! - */ - void - fname_case( -*************** -*** 2520,2530 **** - int slen; - - flen = (int)STRLEN(name); -! if (flen == 0 || flen > _MAX_PATH) - return; - - slash_adjust(name); - - /* Build the new name in szTrueName[] one component at a time. */ - porig = name; - ptrue = szTrueName; ---- 2636,2679 ---- - int slen; - - flen = (int)STRLEN(name); -! if (flen == 0) - return; - - slash_adjust(name); - -+ #ifdef FEAT_MBYTE -+ if (enc_codepage >= 0 && (int)GetACP() != enc_codepage) -+ { -+ WCHAR *p = enc_to_utf16(name, NULL); -+ -+ if (p != NULL) -+ { -+ char_u *q; -+ WCHAR buf[_MAX_PATH + 2]; -+ -+ wcscpy(buf, p); -+ vim_free(p); -+ -+ if (fname_casew(buf, (len > 0) ? _MAX_PATH : 0) == OK) -+ { -+ q = utf16_to_enc(buf, NULL); -+ if (q != NULL) -+ { -+ vim_strncpy(name, q, (len > 0) ? len - 1 : flen); -+ vim_free(q); -+ return; -+ } -+ } -+ } -+ /* Retry with non-wide function (for Windows 98). */ -+ } -+ #endif -+ -+ /* If 'enc' is utf-8, flen can be larger than _MAX_PATH. -+ * So we should check this after calling wide function. */ -+ if (flen > _MAX_PATH) -+ return; -+ - /* Build the new name in szTrueName[] one component at a time. */ - porig = name; - ptrue = szTrueName; -*** ../vim-7.4.015/src/version.c 2013-08-30 17:11:29.000000000 +0200 ---- src/version.c 2013-08-30 17:15:06.000000000 +0200 -*************** -*** 740,741 **** ---- 740,743 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 16, - /**/ - --- -Fingers not found - Pound head on keyboard to continue. - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ -\\\ an exciting new programming language -- http://www.Zimbu.org /// - \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/pkgs/applications/editors/vim/patches/7.4.017 b/pkgs/applications/editors/vim/patches/7.4.017 deleted file mode 100644 index 7d7fad83fe7..00000000000 --- a/pkgs/applications/editors/vim/patches/7.4.017 +++ /dev/null @@ -1,78 +0,0 @@ -To: vim_dev@googlegroups.com -Subject: Patch 7.4.017 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.4.017 -Problem: ":help !!" does not find the "!!" tag in the help file. (Ben - Fritz) -Solution: When reading the start of the tags file do parse lines that are - not header lines. -Files: src/tag.c - - -*** ../vim-7.4.016/src/tag.c 2013-06-15 22:26:26.000000000 +0200 ---- src/tag.c 2013-09-05 12:03:38.000000000 +0200 -*************** -*** 1797,1809 **** - */ - if (state == TS_START) - { -! /* The header ends when the line sorts below "!_TAG_". -! * There may be non-header items before the header though, -! * e.g. "!" itself. When case is folded lower case letters -! * sort before "_". */ - if (STRNCMP(lbuf, "!_TAG_", 6) <= 0 - || (lbuf[0] == '!' && ASCII_ISLOWER(lbuf[1]))) - { - /* - * Read header line. - */ ---- 1797,1812 ---- - */ - if (state == TS_START) - { -! /* The header ends when the line sorts below "!_TAG_". When -! * case is folded lower case letters sort before "_". */ - if (STRNCMP(lbuf, "!_TAG_", 6) <= 0 - || (lbuf[0] == '!' && ASCII_ISLOWER(lbuf[1]))) - { -+ if (STRNCMP(lbuf, "!_TAG_", 6) != 0) -+ /* Non-header item before the header, e.g. "!" itself. -+ */ -+ goto parse_line; -+ - /* - * Read header line. - */ -*************** -*** 1898,1903 **** ---- 1901,1907 ---- - #endif - } - -+ parse_line: - /* - * Figure out where the different strings are in this line. - * For "normal" tags: Do a quick check if the tag matches. -*** ../vim-7.4.016/src/version.c 2013-08-30 17:29:10.000000000 +0200 ---- src/version.c 2013-09-05 12:02:01.000000000 +0200 -*************** -*** 740,741 **** ---- 740,743 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 17, - /**/ - --- -An error has occurred. Hit any user to continue. - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ -\\\ an exciting new programming language -- http://www.Zimbu.org /// - \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/pkgs/applications/editors/vim/patches/7.4.018 b/pkgs/applications/editors/vim/patches/7.4.018 deleted file mode 100644 index 2214c30b2b8..00000000000 --- a/pkgs/applications/editors/vim/patches/7.4.018 +++ /dev/null @@ -1,45 +0,0 @@ -To: vim_dev@googlegroups.com -Subject: Patch 7.4.018 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.4.018 -Problem: When completing item becomes unselected. (Shougo Matsu) -Solution: Revert patch 7.3.1269. -Files: src/edit.c - - -*** ../vim-7.4.017/src/edit.c 2013-07-04 20:22:25.000000000 +0200 ---- src/edit.c 2013-09-05 12:39:53.000000000 +0200 -*************** -*** 3467,3473 **** - } - - compl_enter_selects = !compl_used_match; -- compl_shown_match = compl_curr_match = compl_first_match; - - /* Show the popup menu with a different set of matches. */ - ins_compl_show_pum(); ---- 3467,3472 ---- -*** ../vim-7.4.017/src/version.c 2013-09-05 12:06:26.000000000 +0200 ---- src/version.c 2013-09-05 12:40:34.000000000 +0200 -*************** -*** 740,741 **** ---- 740,743 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 18, - /**/ - --- -hundred-and-one symptoms of being an internet addict: -169. You hire a housekeeper for your home page. - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ -\\\ an exciting new programming language -- http://www.Zimbu.org /// - \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/pkgs/applications/editors/vim/patches/7.4.019 b/pkgs/applications/editors/vim/patches/7.4.019 deleted file mode 100644 index b1532c19c81..00000000000 --- a/pkgs/applications/editors/vim/patches/7.4.019 +++ /dev/null @@ -1,61 +0,0 @@ -To: vim_dev@googlegroups.com -Subject: Patch 7.4.019 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.4.019 -Problem: MS-Windows: File name completion doesn't work properly with - Chinese characters. (Yue Wu) -Solution: Take care of multi-byte characters when looking for the start of - the file name. (Ken Takata) -Files: src/edit.c - - -*** ../vim-7.4.018/src/edit.c 2013-09-05 12:49:48.000000000 +0200 ---- src/edit.c 2013-09-05 13:45:27.000000000 +0200 -*************** -*** 5183,5190 **** - } - else if (ctrl_x_mode == CTRL_X_FILES) - { -! while (--startcol >= 0 && vim_isfilec(line[startcol])) -! ; - compl_col += ++startcol; - compl_length = (int)curs_col - startcol; - compl_pattern = addstar(line + compl_col, compl_length, ---- 5183,5196 ---- - } - else if (ctrl_x_mode == CTRL_X_FILES) - { -! char_u *p = line + startcol; -! -! /* Go back to just before the first filename character. */ -! mb_ptr_back(line, p); -! while (vim_isfilec(PTR2CHAR(p)) && p >= line) -! mb_ptr_back(line, p); -! startcol = p - line; -! - compl_col += ++startcol; - compl_length = (int)curs_col - startcol; - compl_pattern = addstar(line + compl_col, compl_length, -*** ../vim-7.4.018/src/version.c 2013-09-05 12:49:48.000000000 +0200 ---- src/version.c 2013-09-05 13:41:47.000000000 +0200 -*************** -*** 740,741 **** ---- 740,743 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 19, - /**/ - --- - Very funny, Scotty. Now beam down my clothes. - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ -\\\ an exciting new programming language -- http://www.Zimbu.org /// - \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/pkgs/applications/editors/vim/patches/7.4.020 b/pkgs/applications/editors/vim/patches/7.4.020 deleted file mode 100644 index 942d82fe255..00000000000 --- a/pkgs/applications/editors/vim/patches/7.4.020 +++ /dev/null @@ -1,82 +0,0 @@ -To: vim_dev@googlegroups.com -Subject: Patch 7.4.020 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.4.020 -Problem: NFA engine matches too much with \@>. (John McGowan) -Solution: When a whole pattern match is found stop searching. -Files: src/regexp_nfa.c, src/testdir/test64.in, src/testdir/test64.ok - - -*** ../vim-7.4.019/src/regexp_nfa.c 2013-08-25 17:01:36.000000000 +0200 ---- src/regexp_nfa.c 2013-09-05 15:59:44.000000000 +0200 -*************** -*** 5322,5328 **** - log_subsexpr(m); - #endif - nfa_match = TRUE; -! break; - - case NFA_START_INVISIBLE: - case NFA_START_INVISIBLE_FIRST: ---- 5322,5331 ---- - log_subsexpr(m); - #endif - nfa_match = TRUE; -! /* See comment above at "goto nextchar". */ -! if (nextlist->n == 0) -! clen = 0; -! goto nextchar; - - case NFA_START_INVISIBLE: - case NFA_START_INVISIBLE_FIRST: -*** ../vim-7.4.019/src/testdir/test64.in 2013-08-14 13:31:03.000000000 +0200 ---- src/testdir/test64.in 2013-09-05 15:35:44.000000000 +0200 -*************** -*** 427,432 **** ---- 427,433 ---- - :""""" \@> - :call add(tl, [2, '\(a*\)\@>a', 'aaaa']) - :call add(tl, [2, '\(a*\)\@>b', 'aaab', 'aaab', 'aaa']) -+ :call add(tl, [2, '^\(.\{-}b\)\@>.', ' abcbd', ' abc', ' ab']) - :" TODO: BT engine does not restore submatch after failure - :call add(tl, [1, '\(a*\)\@>a\|a\+', 'aaaa', 'aaaa']) - :" -*** ../vim-7.4.019/src/testdir/test64.ok 2013-08-14 13:31:03.000000000 +0200 ---- src/testdir/test64.ok 2013-09-05 16:03:34.000000000 +0200 -*************** -*** 983,988 **** ---- 983,991 ---- - OK 0 - \(a*\)\@>b - OK 1 - \(a*\)\@>b - OK 2 - \(a*\)\@>b -+ OK 0 - ^\(.\{-}b\)\@>. -+ OK 1 - ^\(.\{-}b\)\@>. -+ OK 2 - ^\(.\{-}b\)\@>. - OK 0 - \(a*\)\@>a\|a\+ - OK 2 - \(a*\)\@>a\|a\+ - OK 0 - \_[^8-9]\+ -*** ../vim-7.4.019/src/version.c 2013-09-05 13:50:49.000000000 +0200 ---- src/version.c 2013-09-05 16:04:32.000000000 +0200 -*************** -*** 740,741 **** ---- 740,743 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 20, - /**/ - --- -hundred-and-one symptoms of being an internet addict: -173. You keep tracking down the email addresses of all your friends - (even childhood friends). - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ -\\\ an exciting new programming language -- http://www.Zimbu.org /// - \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/pkgs/applications/editors/vim/patches/7.4.021 b/pkgs/applications/editors/vim/patches/7.4.021 deleted file mode 100644 index 0936d9a194b..00000000000 --- a/pkgs/applications/editors/vim/patches/7.4.021 +++ /dev/null @@ -1,86 +0,0 @@ -To: vim_dev@googlegroups.com -Subject: Patch 7.4.021 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.4.021 -Problem: NFA regexp: Using \ze in one branch which doesn't match may cause - end of another branch to be wrong. (William Fugh) -Solution: Set end position if it wasn't set yet. -Files: src/regexp_nfa.c, src/testdir/test64.in, src/testdir/test64.ok - - -*** ../vim-7.4.020/src/regexp_nfa.c 2013-09-05 16:05:32.000000000 +0200 ---- src/regexp_nfa.c 2013-09-05 20:56:25.000000000 +0200 -*************** -*** 4209,4218 **** - break; - - case NFA_MCLOSE: -! if (nfa_has_zend) - { -! /* Do not overwrite the position set by \ze. If no \ze -! * encountered end will be set in nfa_regtry(). */ - subs = addstate(l, state->out, subs, pim, off); - break; - } ---- 4209,4219 ---- - break; - - case NFA_MCLOSE: -! if (nfa_has_zend && (REG_MULTI -! ? subs->norm.list.multi[0].end.lnum >= 0 -! : subs->norm.list.line[0].end != NULL)) - { -! /* Do not overwrite the position set by \ze. */ - subs = addstate(l, state->out, subs, pim, off); - break; - } -*** ../vim-7.4.020/src/testdir/test64.in 2013-09-05 16:05:32.000000000 +0200 ---- src/testdir/test64.in 2013-09-05 20:55:18.000000000 +0200 -*************** -*** 328,333 **** ---- 328,334 ---- - :call add(tl, [2, 'abc \zsmatch\ze abc', 'abc abc abc match abc abc', 'match']) - :call add(tl, [2, '\v(a \zsif .*){2}', 'a if then a if last', 'if last', 'a if last']) - :call add(tl, [2, '\>\zs.', 'aword. ', '.']) -+ :call add(tl, [2, '\s\+\ze\[/\|\s\zs\s\+', 'is [a t', ' ']) - :" - :"""" Tests for \@= and \& features - :call add(tl, [2, 'abc\@=', 'abc', 'ab']) -*** ../vim-7.4.020/src/testdir/test64.ok 2013-09-05 16:05:32.000000000 +0200 ---- src/testdir/test64.ok 2013-09-05 21:09:56.000000000 +0200 -*************** -*** 752,757 **** ---- 752,760 ---- - OK 0 - \>\zs. - OK 1 - \>\zs. - OK 2 - \>\zs. -+ OK 0 - \s\+\ze\[/\|\s\zs\s\+ -+ OK 1 - \s\+\ze\[/\|\s\zs\s\+ -+ OK 2 - \s\+\ze\[/\|\s\zs\s\+ - OK 0 - abc\@= - OK 1 - abc\@= - OK 2 - abc\@= -*** ../vim-7.4.020/src/version.c 2013-09-05 16:05:32.000000000 +0200 ---- src/version.c 2013-09-05 21:11:38.000000000 +0200 -*************** -*** 740,741 **** ---- 740,743 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 21, - /**/ - --- -hundred-and-one symptoms of being an internet addict: -174. You know what a listserv is. - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ -\\\ an exciting new programming language -- http://www.Zimbu.org /// - \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/pkgs/applications/editors/vim/patches/7.4.022 b/pkgs/applications/editors/vim/patches/7.4.022 deleted file mode 100644 index 81a0901f5b5..00000000000 --- a/pkgs/applications/editors/vim/patches/7.4.022 +++ /dev/null @@ -1,148 +0,0 @@ -To: vim_dev@googlegroups.com -Subject: Patch 7.4.022 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.4.022 -Problem: Deadlock while exiting, because of allocating memory. -Solution: Do not use gettext() in deathtrap(). (James McCoy) -Files: src/os_unix.c, src/misc1.c - - -*** ../vim-7.4.021/src/os_unix.c 2013-07-03 16:32:32.000000000 +0200 ---- src/os_unix.c 2013-09-05 21:40:06.000000000 +0200 -*************** -*** 957,964 **** - - /* - * This function handles deadly signals. -! * It tries to preserve any swap file and exit properly. - * (partly from Elvis). - */ - static RETSIGTYPE - deathtrap SIGDEFARG(sigarg) ---- 957,966 ---- - - /* - * This function handles deadly signals. -! * It tries to preserve any swap files and exit properly. - * (partly from Elvis). -+ * NOTE: Avoid unsafe functions, such as allocating memory, they can result in -+ * a deadlock. - */ - static RETSIGTYPE - deathtrap SIGDEFARG(sigarg) -*************** -*** 1090,1107 **** - } - if (entered == 2) - { -! OUT_STR(_("Vim: Double signal, exiting\n")); - out_flush(); - getout(1); - } - - #ifdef SIGHASARG -! sprintf((char *)IObuff, _("Vim: Caught deadly signal %s\n"), - signal_info[i].name); - #else -! sprintf((char *)IObuff, _("Vim: Caught deadly signal\n")); - #endif -! preserve_exit(); /* preserve files and exit */ - - #ifdef NBDEBUG - reset_signals(); ---- 1092,1114 ---- - } - if (entered == 2) - { -! /* No translation, it may call malloc(). */ -! OUT_STR("Vim: Double signal, exiting\n"); - out_flush(); - getout(1); - } - -+ /* No translation, it may call malloc(). */ - #ifdef SIGHASARG -! sprintf((char *)IObuff, "Vim: Caught deadly signal %s\n", - signal_info[i].name); - #else -! sprintf((char *)IObuff, "Vim: Caught deadly signal\n"); - #endif -! -! /* Preserve files and exit. This sets the really_exiting flag to prevent -! * calling free(). */ -! preserve_exit(); - - #ifdef NBDEBUG - reset_signals(); -*** ../vim-7.4.021/src/misc1.c 2013-08-03 17:29:33.000000000 +0200 ---- src/misc1.c 2013-09-05 21:34:04.000000000 +0200 -*************** -*** 9174,9179 **** ---- 9174,9181 ---- - /* - * Preserve files and exit. - * When called IObuff must contain a message. -+ * NOTE: This may be called from deathtrap() in a signal handler, avoid unsafe -+ * functions, such as allocating memory. - */ - void - preserve_exit() -*************** -*** 9196,9202 **** - { - if (buf->b_ml.ml_mfp != NULL && buf->b_ml.ml_mfp->mf_fname != NULL) - { -! OUT_STR(_("Vim: preserving files...\n")); - screen_start(); /* don't know where cursor is now */ - out_flush(); - ml_sync_all(FALSE, FALSE); /* preserve all swap files */ ---- 9198,9204 ---- - { - if (buf->b_ml.ml_mfp != NULL && buf->b_ml.ml_mfp->mf_fname != NULL) - { -! OUT_STR("Vim: preserving files...\n"); - screen_start(); /* don't know where cursor is now */ - out_flush(); - ml_sync_all(FALSE, FALSE); /* preserve all swap files */ -*************** -*** 9206,9212 **** - - ml_close_all(FALSE); /* close all memfiles, without deleting */ - -! OUT_STR(_("Vim: Finished.\n")); - - getout(1); - } ---- 9208,9214 ---- - - ml_close_all(FALSE); /* close all memfiles, without deleting */ - -! OUT_STR("Vim: Finished.\n"); - - getout(1); - } -*** ../vim-7.4.021/src/version.c 2013-09-05 21:15:38.000000000 +0200 ---- src/version.c 2013-09-05 21:30:18.000000000 +0200 -*************** -*** 740,741 **** ---- 740,743 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 22, - /**/ - --- -hundred-and-one symptoms of being an internet addict: -175. You send yourself e-mail before you go to bed to remind you - what to do when you wake up. - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ -\\\ an exciting new programming language -- http://www.Zimbu.org /// - \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/pkgs/applications/editors/vim/patches/7.4.023 b/pkgs/applications/editors/vim/patches/7.4.023 deleted file mode 100644 index 03005213ea4..00000000000 --- a/pkgs/applications/editors/vim/patches/7.4.023 +++ /dev/null @@ -1,53 +0,0 @@ -To: vim_dev@googlegroups.com -Subject: Patch 7.4.023 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.4.023 -Problem: Compiler warning on 64 bit windows. -Solution: Add type cast. (Mike Williams) -Files: src/edit.c - - -*** ../vim-7.4.022/src/edit.c 2013-09-05 13:50:49.000000000 +0200 ---- src/edit.c 2013-09-06 17:32:55.000000000 +0200 -*************** -*** 5189,5195 **** - mb_ptr_back(line, p); - while (vim_isfilec(PTR2CHAR(p)) && p >= line) - mb_ptr_back(line, p); -! startcol = p - line; - - compl_col += ++startcol; - compl_length = (int)curs_col - startcol; ---- 5189,5195 ---- - mb_ptr_back(line, p); - while (vim_isfilec(PTR2CHAR(p)) && p >= line) - mb_ptr_back(line, p); -! startcol = (int)(p - line); - - compl_col += ++startcol; - compl_length = (int)curs_col - startcol; -*** ../vim-7.4.022/src/version.c 2013-09-05 21:41:35.000000000 +0200 ---- src/version.c 2013-09-06 17:33:41.000000000 +0200 -*************** -*** 740,741 **** ---- 740,743 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 23, - /**/ - --- -Wizards had always known that the act of observation changed the thing that -was observed, and sometimes forgot that it also changed the observer too. - Terry Pratchett - Interesting times - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ -\\\ an exciting new programming language -- http://www.Zimbu.org /// - \\\ help me help AIDS victims -- http://ICCF-Holland.org ///