diff options
Diffstat (limited to 'meta-oe/recipes-support/vim')
-rw-r--r-- | meta-oe/recipes-support/vim/files/401-446.diff | 5426 | ||||
-rw-r--r-- | meta-oe/recipes-support/vim/vim.inc | 10 | ||||
-rw-r--r-- | meta-oe/recipes-support/vim/vim_7.2.446.bb | 28 | ||||
-rw-r--r-- | meta-oe/recipes-support/vim/vim_7.3.905.bb | 7 |
4 files changed, 10 insertions, 5461 deletions
diff --git a/meta-oe/recipes-support/vim/files/401-446.diff b/meta-oe/recipes-support/vim/files/401-446.diff deleted file mode 100644 index fa163fc75f..0000000000 --- a/meta-oe/recipes-support/vim/files/401-446.diff +++ /dev/null @@ -1,5426 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.401 -Fcc: outbox -From: Bram Moolenaar <Bram@moolenaar.net> -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.401 -Problem: ":e dir<Tab>" with 'wildmode' set to "list" doesn't highlight - directory names with a space. (Alexandre Provencio) -Solution: Remove the backslash before checking if the name is a directory. - (Dominique Pelle) -Files: src/ex_getln.c - - -*** ../vim-7.2.400/src/ex_getln.c 2010-03-02 17:23:10.000000000 +0100 ---- src/ex_getln.c 2010-03-17 19:00:54.000000000 +0100 -*************** -*** 3948,3955 **** - || xp->xp_context == EXPAND_SHELLCMD - || xp->xp_context == EXPAND_BUFFERS) - { -! /* highlight directories */ -! j = (mch_isdir(files_found[k])); - if (showtail) - p = L_SHOWFILE(k); - else ---- 3948,3959 ---- - || xp->xp_context == EXPAND_SHELLCMD - || xp->xp_context == EXPAND_BUFFERS) - { -! char_u *halved_slash; -! -! /* highlight directories */ -! halved_slash = backslash_halve_save(files_found[k]); -! j = mch_isdir(halved_slash); -! vim_free(halved_slash); - if (showtail) - p = L_SHOWFILE(k); - else -*** ../vim-7.2.400/src/version.c 2010-03-17 18:15:17.000000000 +0100 ---- src/version.c 2010-03-17 19:12:22.000000000 +0100 -*************** -*** 683,684 **** ---- 683,686 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 401, - /**/ - --- -Two cows are standing together in a field. One asks the other: -"So what do you think about this Mad Cow Disease?" -The other replies: "That doesn't concern me. I'm a helicopter." - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ -\\\ download, build and distribute -- http://www.A-A-P.org /// - \\\ help me help AIDS victims -- http://ICCF-Holland.org /// -To: vim-dev@vim.org -Subject: Patch 7.2.402 -Fcc: outbox -From: Bram Moolenaar <Bram@moolenaar.net> -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.402 -Problem: This gives a #705 error: let X = function('haslocaldir') - let X = function('getcwd') -Solution: Don't give E705 when the name is found in the hashtab. (Sergey - Khorev) -Files: src/eval.c - - -*** ../vim-7.2.401/src/eval.c 2010-03-10 13:43:22.000000000 +0100 ---- src/eval.c 2010-03-17 19:35:01.000000000 +0100 -*************** -*** 19103,19108 **** ---- 19103,19116 ---- - hashtab_T *ht; - char_u *p; - -+ ht = find_var_ht(name, &varname); -+ if (ht == NULL || *varname == NUL) -+ { -+ EMSG2(_(e_illvar), name); -+ return; -+ } -+ v = find_var_in_ht(ht, varname, TRUE); -+ - if (tv->v_type == VAR_FUNC) - { - if (!(vim_strchr((char_u *)"wbs", name[0]) != NULL && name[1] == ':') -*************** -*** 19112,19118 **** - EMSG2(_("E704: Funcref variable name must start with a capital: %s"), name); - return; - } -! if (function_exists(name)) - { - EMSG2(_("E705: Variable name conflicts with existing function: %s"), - name); ---- 19120,19129 ---- - EMSG2(_("E704: Funcref variable name must start with a capital: %s"), name); - return; - } -! /* Don't allow hiding a function. When "v" is not NULL we migth be -! * assigning another function to the same var, the type is checked -! * below. */ -! if (v == NULL && function_exists(name)) - { - EMSG2(_("E705: Variable name conflicts with existing function: %s"), - name); -*************** -*** 19120,19133 **** - } - } - -- ht = find_var_ht(name, &varname); -- if (ht == NULL || *varname == NUL) -- { -- EMSG2(_(e_illvar), name); -- return; -- } -- -- v = find_var_in_ht(ht, varname, TRUE); - if (v != NULL) - { - /* existing variable, need to clear the value */ ---- 19131,19136 ---- -*** ../vim-7.2.401/src/version.c 2010-03-17 19:13:19.000000000 +0100 ---- src/version.c 2010-03-17 19:36:09.000000000 +0100 -*************** -*** 683,684 **** ---- 683,686 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 402, - /**/ - --- -Michael: There is no such thing as a dump question. -Bernard: Sure there is. For example "what is a core dump?" - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ -\\\ download, build and distribute -- http://www.A-A-P.org /// - \\\ help me help AIDS victims -- http://ICCF-Holland.org /// -To: vim-dev@vim.org -Subject: Patch 7.2.403 -Fcc: outbox -From: Bram Moolenaar <Bram@moolenaar.net> -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.403 (after 7.2.400) -Problem: Compiler warning for pointer type. (Tony Mechelynck) -Solution: Move type cast to the right place. -Files: src/if_ruby.c - - -*** ../vim-7.2.402/src/if_ruby.c 2010-03-17 18:15:17.000000000 +0100 ---- src/if_ruby.c 2010-03-19 23:08:06.000000000 +0100 -*************** -*** 722,729 **** - - if (tv->v_type == VAR_STRING) - { -! result = rb_str_new2((char *)(tv->vval.v_string == NULL -! ? "" : tv->vval.v_string)); - } - else if (tv->v_type == VAR_NUMBER) - { ---- 722,729 ---- - - if (tv->v_type == VAR_STRING) - { -! result = rb_str_new2(tv->vval.v_string == NULL -! ? "" : (char *)(tv->vval.v_string)); - } - else if (tv->v_type == VAR_NUMBER) - { -*** ../vim-7.2.402/src/version.c 2010-03-17 19:53:44.000000000 +0100 ---- src/version.c 2010-03-19 23:07:13.000000000 +0100 -*************** -*** 683,684 **** ---- 683,686 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 403, - /**/ - --- -If "R" is Reverse, how come "D" is FORWARD? - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ -\\\ download, build and distribute -- http://www.A-A-P.org /// - \\\ help me help AIDS victims -- http://ICCF-Holland.org /// -To: vim-dev@vim.org -Subject: Patch 7.2.404 -Fcc: outbox -From: Bram Moolenaar <Bram@moolenaar.net> -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.404 -Problem: Pointers for composing characters are not properly initialized. -Solution: Compute the size of the pointer, not what it points to. (Yukihiro - Nakadaira) -Files: src/screen.c - - -*** ../vim-7.2.403/src/screen.c 2010-02-03 15:47:59.000000000 +0100 ---- src/screen.c 2010-03-23 13:48:05.000000000 +0100 -*************** -*** 7536,7542 **** - new_ScreenLines = (schar_T *)lalloc((long_u)( - (Rows + 1) * Columns * sizeof(schar_T)), FALSE); - #ifdef FEAT_MBYTE -! vim_memset(new_ScreenLinesC, 0, sizeof(u8char_T) * MAX_MCO); - if (enc_utf8) - { - new_ScreenLinesUC = (u8char_T *)lalloc((long_u)( ---- 7536,7542 ---- - new_ScreenLines = (schar_T *)lalloc((long_u)( - (Rows + 1) * Columns * sizeof(schar_T)), FALSE); - #ifdef FEAT_MBYTE -! vim_memset(new_ScreenLinesC, 0, sizeof(u8char_T *) * MAX_MCO); - if (enc_utf8) - { - new_ScreenLinesUC = (u8char_T *)lalloc((long_u)( -*** ../vim-7.2.403/src/version.c 2010-03-19 23:08:22.000000000 +0100 ---- src/version.c 2010-03-23 13:54:47.000000000 +0100 -*************** -*** 683,684 **** ---- 683,686 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 404, - /**/ - --- -LAUNCELOT: Isn't there a St. Aaaaarrrrrrggghhh's in Cornwall? -ARTHUR: No, that's Saint Ives. - "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ -\\\ download, build and distribute -- http://www.A-A-P.org /// - \\\ help me help AIDS victims -- http://ICCF-Holland.org /// -To: vim-dev@vim.org -Subject: Patch 7.2.405 -Fcc: outbox -From: Bram Moolenaar <Bram@moolenaar.net> -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.405 -Problem: When built with small features the matching text is not - highlighted for ":s/pat/repl/c". -Solution: Remove the #ifdef for IncSearch. (James Vega) -Files: src/syntax.c - - -*** ../vim-7.2.404/src/syntax.c 2010-03-10 13:43:22.000000000 +0100 ---- src/syntax.c 2010-03-23 14:36:10.000000000 +0100 -*************** -*** 6205,6214 **** - { - CENT("ErrorMsg term=standout ctermbg=DarkRed ctermfg=White", - "ErrorMsg term=standout ctermbg=DarkRed ctermfg=White guibg=Red guifg=White"), -- #ifdef FEAT_SEARCH_EXTRA - CENT("IncSearch term=reverse cterm=reverse", - "IncSearch term=reverse cterm=reverse gui=reverse"), -- #endif - CENT("ModeMsg term=bold cterm=bold", - "ModeMsg term=bold cterm=bold gui=bold"), - CENT("NonText term=bold ctermfg=Blue", ---- 6205,6212 ---- -*** ../vim-7.2.404/src/version.c 2010-03-23 13:56:53.000000000 +0100 ---- src/version.c 2010-03-23 14:37:08.000000000 +0100 -*************** -*** 683,684 **** ---- 683,686 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 405, - /**/ - --- -Dreams are free, but there's a small charge for alterations. - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ -\\\ download, build and distribute -- http://www.A-A-P.org /// - \\\ help me help AIDS victims -- http://ICCF-Holland.org /// -To: vim-dev@vim.org -Subject: Patch 7.2.406 -Fcc: outbox -From: Bram Moolenaar <Bram@moolenaar.net> -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.406 -Problem: Patch 7.2.119 introduces uninit mem read. (Dominique Pelle) -Solution: Only used ScreeenLinesC when ScreeenLinesUC is not zero. (Yukihiro - Nakadaira) Also clear ScreeenLinesC when allocating. -Files: src/screen.c - - -*** ../vim-7.2.405/src/screen.c 2010-03-23 13:56:53.000000000 +0100 ---- src/screen.c 2010-03-23 15:26:44.000000000 +0100 -*************** -*** 25,34 **** - * one character which occupies two display cells. - * For UTF-8 a multi-byte character is converted to Unicode and stored in - * ScreenLinesUC[]. ScreenLines[] contains the first byte only. For an ASCII -! * character without composing chars ScreenLinesUC[] will be 0. When the -! * character occupies two display cells the next byte in ScreenLines[] is 0. - * ScreenLinesC[][] contain up to 'maxcombine' composing characters -! * (drawn on top of the first character). They are 0 when not used. - * ScreenLines2[] is only used for euc-jp to store the second byte if the - * first byte is 0x8e (single-width character). - * ---- 25,35 ---- - * one character which occupies two display cells. - * For UTF-8 a multi-byte character is converted to Unicode and stored in - * ScreenLinesUC[]. ScreenLines[] contains the first byte only. For an ASCII -! * character without composing chars ScreenLinesUC[] will be 0 and -! * ScreenLinesC[][] is not used. When the character occupies two display -! * cells the next byte in ScreenLines[] is 0. - * ScreenLinesC[][] contain up to 'maxcombine' composing characters -! * (drawn on top of the first character). There is 0 after the last one used. - * ScreenLines2[] is only used for euc-jp to store the second byte if the - * first byte is 0x8e (single-width character). - * -*************** -*** 4893,4898 **** ---- 4894,4900 ---- - - /* - * Return if the composing characters at "off_from" and "off_to" differ. -+ * Only to be used when ScreenLinesUC[off_from] != 0. - */ - static int - comp_char_differs(off_from, off_to) -*************** -*** 6281,6286 **** ---- 6283,6289 ---- - /* - * Return TRUE if composing characters for screen posn "off" differs from - * composing characters in "u8cc". -+ * Only to be used when ScreenLinesUC[off] != 0. - */ - static int - screen_comp_differs(off, u8cc) -*************** -*** 6461,6468 **** - && c == 0x8e - && ScreenLines2[off] != ptr[1]) - || (enc_utf8 -! && (ScreenLinesUC[off] != (u8char_T)(c >= 0x80 ? u8c : 0) -! || screen_comp_differs(off, u8cc))) - #endif - || ScreenAttrs[off] != attr - || exmode_active; ---- 6464,6473 ---- - && c == 0x8e - && ScreenLines2[off] != ptr[1]) - || (enc_utf8 -! && (ScreenLinesUC[off] != -! (u8char_T)(c < 0x80 && u8cc[0] == 0 ? 0 : u8c) -! || (ScreenLinesUC[off] != 0 -! && screen_comp_differs(off, u8cc)))) - #endif - || ScreenAttrs[off] != attr - || exmode_active; -*************** -*** 7542,7548 **** - new_ScreenLinesUC = (u8char_T *)lalloc((long_u)( - (Rows + 1) * Columns * sizeof(u8char_T)), FALSE); - for (i = 0; i < p_mco; ++i) -! new_ScreenLinesC[i] = (u8char_T *)lalloc((long_u)( - (Rows + 1) * Columns * sizeof(u8char_T)), FALSE); - } - if (enc_dbcs == DBCS_JPNU) ---- 7547,7553 ---- - new_ScreenLinesUC = (u8char_T *)lalloc((long_u)( - (Rows + 1) * Columns * sizeof(u8char_T)), FALSE); - for (i = 0; i < p_mco; ++i) -! new_ScreenLinesC[i] = (u8char_T *)lalloc_clear((long_u)( - (Rows + 1) * Columns * sizeof(u8char_T)), FALSE); - } - if (enc_dbcs == DBCS_JPNU) -*** ../vim-7.2.405/src/version.c 2010-03-23 14:39:07.000000000 +0100 ---- src/version.c 2010-03-23 15:34:11.000000000 +0100 -*************** -*** 683,684 **** ---- 683,686 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 406, - /**/ - --- -VOICE OVER: As the horrendous Black Beast lunged forward, escape for Arthur - and his knights seemed hopeless, when, suddenly ... the animator - suffered a fatal heart attack. -ANIMATOR: Aaaaagh! -VOICE OVER: The cartoon peril was no more ... The Quest for Holy Grail could - continue. - "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ -\\\ download, build and distribute -- http://www.A-A-P.org /// - \\\ help me help AIDS victims -- http://ICCF-Holland.org /// -To: vim-dev@vim.org -Subject: Patch 7.2.407 -Fcc: outbox -From: Bram Moolenaar <Bram@moolenaar.net> -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.407 -Problem: When using an expression in ":s" backslashes in the result are - dropped. (Sergey Goldgaber, Christian Brabandt) -Solution: Double backslashes. -Files: src/regexp.c - - -*** ../vim-7.2.406/src/regexp.c 2009-11-26 20:41:19.000000000 +0100 ---- src/regexp.c 2010-03-23 16:22:35.000000000 +0100 -*************** -*** 6963,6968 **** ---- 6963,6970 ---- - eval_result = eval_to_string(source + 2, NULL, TRUE); - if (eval_result != NULL) - { -+ int had_backslash = FALSE; -+ - for (s = eval_result; *s != NUL; mb_ptr_adv(s)) - { - /* Change NL to CR, so that it becomes a line break. -*************** -*** 6970,6976 **** ---- 6972,6991 ---- - if (*s == NL) - *s = CAR; - else if (*s == '\\' && s[1] != NUL) -+ { - ++s; -+ had_backslash = TRUE; -+ } -+ } -+ if (had_backslash && backslash) -+ { -+ /* Backslashes will be consumed, need to double them. */ -+ s = vim_strsave_escaped(eval_result, (char_u *)"\\"); -+ if (s != NULL) -+ { -+ vim_free(eval_result); -+ eval_result = s; -+ } - } - - dst += STRLEN(eval_result); -*** ../vim-7.2.406/src/version.c 2010-03-23 15:36:29.000000000 +0100 ---- src/version.c 2010-03-23 16:26:22.000000000 +0100 -*************** -*** 683,684 **** ---- 683,686 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 407, - /**/ - --- -Sorry, no fortune today. - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ -\\\ download, build and distribute -- http://www.A-A-P.org /// - \\\ help me help AIDS victims -- http://ICCF-Holland.org /// -To: vim-dev@vim.org -Subject: Patch 7.2.408 -Fcc: outbox -From: Bram Moolenaar <Bram@moolenaar.net> -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.408 -Problem: With ":g/the/s/foo/bar/" the '[ and '] marks can be set to a line - that was not changed. -Solution: Only set '[ and '] marks when a substitution was done. -Files: src/ex_cmds.c - - -*** ../vim-7.2.407/src/ex_cmds.c 2009-07-09 20:06:30.000000000 +0200 ---- src/ex_cmds.c 2010-03-23 17:31:17.000000000 +0100 -*************** -*** 4238,4243 **** ---- 4238,4244 ---- - char_u *sub_firstline; /* allocated copy of first sub line */ - int endcolumn = FALSE; /* cursor in last column when done */ - pos_T old_cursor = curwin->w_cursor; -+ int start_nsubs; - - cmd = eap->arg; - if (!global_busy) -*************** -*** 4245,4250 **** ---- 4246,4252 ---- - sub_nsubs = 0; - sub_nlines = 0; - } -+ start_nsubs = sub_nsubs; - - if (eap->cmdidx == CMD_tilde) - which_pat = RE_LAST; /* use last used regexp */ -*************** -*** 5106,5112 **** - if (do_count) - curwin->w_cursor = old_cursor; - -! if (sub_nsubs) - { - /* Set the '[ and '] marks. */ - curbuf->b_op_start.lnum = eap->line1; ---- 5108,5114 ---- - if (do_count) - curwin->w_cursor = old_cursor; - -! if (sub_nsubs > start_nsubs) - { - /* Set the '[ and '] marks. */ - curbuf->b_op_start.lnum = eap->line1; -*** ../vim-7.2.407/src/version.c 2010-03-23 16:27:15.000000000 +0100 ---- src/version.c 2010-03-23 17:35:40.000000000 +0100 -*************** -*** 683,684 **** ---- 683,686 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 408, - /**/ - --- -Permission is granted to read this message out aloud on Kings Cross Road, -London, under the condition that the orator is properly dressed. - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ -\\\ download, build and distribute -- http://www.A-A-P.org /// - \\\ help me help AIDS victims -- http://ICCF-Holland.org /// -To: vim-dev@vim.org -Subject: Patch 7.2.409 -Fcc: outbox -From: Bram Moolenaar <Bram@moolenaar.net> -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.409 -Problem: Summary of number of substitutes is incorrect for ":folddo". (Jean - Johner) -Solution: Reset sub_nsubs and sub_nlines in global_exe(). -Files: src/ex_cmds.c - - -*** ../vim-7.2.408/src/ex_cmds.c 2010-03-23 17:36:24.000000000 +0100 ---- src/ex_cmds.c 2010-03-23 17:42:49.000000000 +0100 -*************** -*** 5238,5245 **** - type = *eap->cmd; - cmd = eap->arg; - which_pat = RE_LAST; /* default: use last used regexp */ -- sub_nsubs = 0; -- sub_nlines = 0; - - /* - * undocumented vi feature: ---- 5238,5243 ---- -*************** -*** 5343,5348 **** ---- 5341,5348 ---- - /* When the command writes a message, don't overwrite the command. */ - msg_didout = TRUE; - -+ sub_nsubs = 0; -+ sub_nlines = 0; - global_need_beginline = FALSE; - global_busy = 1; - old_lcount = curbuf->b_ml.ml_line_count; -*** ../vim-7.2.408/src/version.c 2010-03-23 17:36:24.000000000 +0100 ---- src/version.c 2010-03-23 17:47:53.000000000 +0100 -*************** -*** 683,684 **** ---- 683,686 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 409, - /**/ - --- -BRIDGEKEEPER: What is your favorite colour? -LAUNCELOT: Blue. -BRIDGEKEEPER: Right. Off you go. - "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ -\\\ download, build and distribute -- http://www.A-A-P.org /// - \\\ help me help AIDS victims -- http://ICCF-Holland.org /// -To: vim-dev@vim.org -Subject: Patch 7.2.410 -Fcc: outbox -From: Bram Moolenaar <Bram@moolenaar.net> -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.410 -Problem: Highlighting directories for completion doesn't work properly. -Solution: Don't halve backslashes when not needed, expaned "~/". - (Dominique Pelle) -Files: src/ex_getln.c - - -*** ../vim-7.2.409/src/ex_getln.c 2010-03-17 19:13:19.000000000 +0100 ---- src/ex_getln.c 2010-03-23 18:00:56.000000000 +0100 -*************** -*** 3948,3959 **** - || xp->xp_context == EXPAND_SHELLCMD - || xp->xp_context == EXPAND_BUFFERS) - { -- char_u *halved_slash; -- - /* highlight directories */ -! halved_slash = backslash_halve_save(files_found[k]); -! j = mch_isdir(halved_slash); -! vim_free(halved_slash); - if (showtail) - p = L_SHOWFILE(k); - else ---- 3948,3973 ---- - || xp->xp_context == EXPAND_SHELLCMD - || xp->xp_context == EXPAND_BUFFERS) - { - /* highlight directories */ -! if (xp->xp_numfiles != -1) -! { -! char_u *halved_slash; -! char_u *exp_path; -! -! /* Expansion was done before and special characters -! * were escaped, need to halve backslashes. Also -! * $HOME has been replaced with ~/. */ -! exp_path = expand_env_save_opt(files_found[k], TRUE); -! halved_slash = backslash_halve_save( -! exp_path != NULL ? exp_path : files_found[k]); -! j = mch_isdir(halved_slash != NULL ? halved_slash -! : files_found[k]); -! vim_free(exp_path); -! vim_free(halved_slash); -! } -! else -! /* Expansion was done here, file names are literal. */ -! j = mch_isdir(files_found[k]); - if (showtail) - p = L_SHOWFILE(k); - else -*** ../vim-7.2.409/src/version.c 2010-03-23 17:49:19.000000000 +0100 ---- src/version.c 2010-03-23 18:04:25.000000000 +0100 -*************** -*** 683,684 **** ---- 683,686 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 410, - /**/ - --- -BRIDGEKEEPER: What is your favorite colour? -GAWAIN: Blue ... No yelloooooww! - "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ -\\\ download, build and distribute -- http://www.A-A-P.org /// - \\\ help me help AIDS victims -- http://ICCF-Holland.org /// -To: vim-dev@vim.org -Subject: Patch 7.2.411 -Fcc: outbox -From: Bram Moolenaar <Bram@moolenaar.net> -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.411 -Problem: When parsing 'cino' a comma isn't skipped properly. -Solution: Skip the comma. (Lech Lorens) -Files: src/misc1.c - - -*** ../vim-7.2.410/src/misc1.c 2010-03-02 12:37:01.000000000 +0100 ---- src/misc1.c 2010-03-23 18:18:15.000000000 +0100 -*************** -*** 6270,6275 **** ---- 6270,6277 ---- - case 'l': ind_keep_case_label = n; break; - case '#': ind_hash_comment = n; break; - } -+ if (*options == ',') -+ ++options; - } - - /* remember where the cursor was when we started */ -*** ../vim-7.2.410/src/version.c 2010-03-23 18:06:47.000000000 +0100 ---- src/version.c 2010-03-23 18:22:13.000000000 +0100 -*************** -*** 683,684 **** ---- 683,686 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 411, - /**/ - --- -BRIDGEKEEPER: What is your favorite editor? -GAWAIN: Emacs ... No, Viiiiiiiiiiimmmmmmm! - "Monty Python and the Holy editor wars" PYTHON (MONTY) SOFTWARE LTD - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ -\\\ download, build and distribute -- http://www.A-A-P.org /// - \\\ help me help AIDS victims -- http://ICCF-Holland.org /// -To: vim-dev@vim.org -Subject: Patch 7.2.412 -Fcc: outbox -From: Bram Moolenaar <Bram@moolenaar.net> -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.412 -Problem: [ or ] followed by mouse click doesn't work. -Solution: Reverse check for key being a mouse event. (Dominique Pelle) -Files: src/normal.c - - -*** ../vim-7.2.411/src/normal.c 2010-03-17 13:07:01.000000000 +0100 ---- src/normal.c 2010-05-07 15:46:54.000000000 +0200 -*************** -*** 3196,3202 **** - * There are a few special cases where we want certain combinations of - * characters to be considered as a single word. These are things like - * "->", "/ *", "*=", "+=", "&=", "<=", ">=", "!=" etc. Otherwise, each -! * character is in it's own class. - */ - if (c != NUL && vim_strchr((char_u *)"-+*/%<>&|^!=", c) != NULL) - return 1; ---- 3196,3202 ---- - * There are a few special cases where we want certain combinations of - * characters to be considered as a single word. These are things like - * "->", "/ *", "*=", "+=", "&=", "<=", ">=", "!=" etc. Otherwise, each -! * character is in its own class. - */ - if (c != NUL && vim_strchr((char_u *)"-+*/%<>&|^!=", c) != NULL) - return 1; -*************** -*** 4085,4091 **** - /* - * Command character that's ignored. - * Used for CTRL-Q and CTRL-S to avoid problems with terminals that use -! * xon/xoff - */ - static void - nv_ignore(cap) ---- 4085,4091 ---- - /* - * Command character that's ignored. - * Used for CTRL-Q and CTRL-S to avoid problems with terminals that use -! * xon/xoff. - */ - static void - nv_ignore(cap) -*************** -*** 6523,6529 **** - * [ or ] followed by a middle mouse click: put selected text with - * indent adjustment. Any other button just does as usual. - */ -! else if (cap->nchar >= K_LEFTMOUSE && cap->nchar <= K_RIGHTRELEASE) - { - (void)do_mouse(cap->oap, cap->nchar, - (cap->cmdchar == ']') ? FORWARD : BACKWARD, ---- 6523,6529 ---- - * [ or ] followed by a middle mouse click: put selected text with - * indent adjustment. Any other button just does as usual. - */ -! else if (cap->nchar >= K_RIGHTRELEASE && cap->nchar <= K_LEFTMOUSE) - { - (void)do_mouse(cap->oap, cap->nchar, - (cap->cmdchar == ']') ? FORWARD : BACKWARD, -*** ../vim-7.2.411/src/version.c 2010-03-23 18:22:40.000000000 +0100 ---- src/version.c 2010-05-07 15:51:35.000000000 +0200 -*************** -*** 683,684 **** ---- 683,686 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 412, - /**/ - --- -I have a drinking problem -- I don't have a drink! - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ -\\\ download, build and distribute -- http://www.A-A-P.org /// - \\\ help me help AIDS victims -- http://ICCF-Holland.org /// -To: vim-dev@vim.org -Subject: Patch 7.2.413 -Fcc: outbox -From: Bram Moolenaar <Bram@moolenaar.net> -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.413 -Problem: Large file support is incorrect. -Solution: Add AC_SYS_LARGEFILE to configure. (James Vega) -Files: src/configure.in, src/config.h.in, src/auto/configure - - -*** ../vim-7.2.412/src/configure.in 2010-03-10 16:27:27.000000000 +0100 ---- src/configure.in 2010-04-01 15:06:04.000000000 +0200 -*************** -*** 2669,2674 **** ---- 2669,2678 ---- - usleep utime utimes) - AC_FUNC_FSEEKO - -+ dnl define _LARGE_FILES, _FILE_OFFSET_BITS and _LARGEFILE_SOURCE when -+ dnl appropriate, so that off_t is 64 bits when needed. -+ AC_SYS_LARGEFILE -+ - dnl fstatfs() can take 2 to 4 arguments, try to use st_blksize if possible - AC_MSG_CHECKING(for st_blksize) - AC_TRY_COMPILE( -*** ../vim-7.2.412/src/config.h.in 2010-02-24 14:46:58.000000000 +0100 ---- src/config.h.in 2010-04-01 15:10:49.000000000 +0200 -*************** -*** 196,201 **** ---- 196,206 ---- - #undef HAVE_UTIME - #undef HAVE_BIND_TEXTDOMAIN_CODESET - -+ /* Define, if needed, for accessing large files. */ -+ #undef _LARGE_FILES -+ #undef _FILE_OFFSET_BITS -+ #undef _LARGEFILE_SOURCE -+ - /* Define if you do not have utime(), but do have the utimes() function. */ - #undef HAVE_UTIMES - -*** ../vim-7.2.412/src/auto/configure 2010-03-10 16:27:27.000000000 +0100 ---- src/auto/configure 2010-05-07 16:01:08.000000000 +0200 -*************** -*** 821,826 **** ---- 821,827 ---- - with_gnome - with_motif_lib - with_tlib -+ enable_largefile - enable_acl - enable_gpm - enable_sysmouse -*************** -*** 1485,1490 **** ---- 1486,1492 ---- - --enable-nextaw-check If auto-select GUI, check for neXtaw default=yes - --enable-carbon-check If auto-select GUI, check for Carbon default=yes - --disable-gtktest Do not try to compile and run a test GTK program -+ --disable-largefile omit support for large files - --disable-acl Don't check for ACL support. - --disable-gpm Don't use gpm (Linux mouse daemon). - --disable-sysmouse Don't use sysmouse (mouse in *BSD console). -*************** -*** 14345,14350 **** ---- 14347,14709 ---- - fi - - -+ # Check whether --enable-largefile was given. -+ if test "${enable_largefile+set}" = set; then -+ enableval=$enable_largefile; -+ fi -+ -+ if test "$enable_largefile" != no; then -+ -+ { $as_echo "$as_me:$LINENO: checking for special C compiler options needed for large files" >&5 -+ $as_echo_n "checking for special C compiler options needed for large files... " >&6; } -+ if test "${ac_cv_sys_largefile_CC+set}" = set; then -+ $as_echo_n "(cached) " >&6 -+ else -+ ac_cv_sys_largefile_CC=no -+ if test "$GCC" != yes; then -+ ac_save_CC=$CC -+ while :; do -+ # IRIX 6.2 and later do not support large files by default, -+ # so use the C compiler's -n32 option if that helps. -+ cat >conftest.$ac_ext <<_ACEOF -+ /* confdefs.h. */ -+ _ACEOF -+ cat confdefs.h >>conftest.$ac_ext -+ cat >>conftest.$ac_ext <<_ACEOF -+ /* end confdefs.h. */ -+ #include <sys/types.h> -+ /* Check that off_t can represent 2**63 - 1 correctly. -+ We can't simply define LARGE_OFF_T to be 9223372036854775807, -+ since some C++ compilers masquerading as C compilers -+ incorrectly reject 9223372036854775807. */ -+ #define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62)) -+ int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721 -+ && LARGE_OFF_T % 2147483647 == 1) -+ ? 1 : -1]; -+ int -+ main () -+ { -+ -+ ; -+ return 0; -+ } -+ _ACEOF -+ rm -f conftest.$ac_objext -+ if { (ac_try="$ac_compile" -+ case "(($ac_try" in -+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; -+ *) ac_try_echo=$ac_try;; -+ esac -+ eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -+ $as_echo "$ac_try_echo") >&5 -+ (eval "$ac_compile") 2>conftest.er1 -+ ac_status=$? -+ grep -v '^ *+' conftest.er1 >conftest.err -+ rm -f conftest.er1 -+ cat conftest.err >&5 -+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 -+ (exit $ac_status); } && { -+ test -z "$ac_c_werror_flag" || -+ test ! -s conftest.err -+ } && test -s conftest.$ac_objext; then -+ break -+ else -+ $as_echo "$as_me: failed program was:" >&5 -+ sed 's/^/| /' conftest.$ac_ext >&5 -+ -+ -+ fi -+ -+ rm -f core conftest.err conftest.$ac_objext -+ CC="$CC -n32" -+ rm -f conftest.$ac_objext -+ if { (ac_try="$ac_compile" -+ case "(($ac_try" in -+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; -+ *) ac_try_echo=$ac_try;; -+ esac -+ eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -+ $as_echo "$ac_try_echo") >&5 -+ (eval "$ac_compile") 2>conftest.er1 -+ ac_status=$? -+ grep -v '^ *+' conftest.er1 >conftest.err -+ rm -f conftest.er1 -+ cat conftest.err >&5 -+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 -+ (exit $ac_status); } && { -+ test -z "$ac_c_werror_flag" || -+ test ! -s conftest.err -+ } && test -s conftest.$ac_objext; then -+ ac_cv_sys_largefile_CC=' -n32'; break -+ else -+ $as_echo "$as_me: failed program was:" >&5 -+ sed 's/^/| /' conftest.$ac_ext >&5 -+ -+ -+ fi -+ -+ rm -f core conftest.err conftest.$ac_objext -+ break -+ done -+ CC=$ac_save_CC -+ rm -f conftest.$ac_ext -+ fi -+ fi -+ { $as_echo "$as_me:$LINENO: result: $ac_cv_sys_largefile_CC" >&5 -+ $as_echo "$ac_cv_sys_largefile_CC" >&6; } -+ if test "$ac_cv_sys_largefile_CC" != no; then -+ CC=$CC$ac_cv_sys_largefile_CC -+ fi -+ -+ { $as_echo "$as_me:$LINENO: checking for _FILE_OFFSET_BITS value needed for large files" >&5 -+ $as_echo_n "checking for _FILE_OFFSET_BITS value needed for large files... " >&6; } -+ if test "${ac_cv_sys_file_offset_bits+set}" = set; then -+ $as_echo_n "(cached) " >&6 -+ else -+ while :; do -+ cat >conftest.$ac_ext <<_ACEOF -+ /* confdefs.h. */ -+ _ACEOF -+ cat confdefs.h >>conftest.$ac_ext -+ cat >>conftest.$ac_ext <<_ACEOF -+ /* end confdefs.h. */ -+ #include <sys/types.h> -+ /* Check that off_t can represent 2**63 - 1 correctly. -+ We can't simply define LARGE_OFF_T to be 9223372036854775807, -+ since some C++ compilers masquerading as C compilers -+ incorrectly reject 9223372036854775807. */ -+ #define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62)) -+ int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721 -+ && LARGE_OFF_T % 2147483647 == 1) -+ ? 1 : -1]; -+ int -+ main () -+ { -+ -+ ; -+ return 0; -+ } -+ _ACEOF -+ rm -f conftest.$ac_objext -+ if { (ac_try="$ac_compile" -+ case "(($ac_try" in -+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; -+ *) ac_try_echo=$ac_try;; -+ esac -+ eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -+ $as_echo "$ac_try_echo") >&5 -+ (eval "$ac_compile") 2>conftest.er1 -+ ac_status=$? -+ grep -v '^ *+' conftest.er1 >conftest.err -+ rm -f conftest.er1 -+ cat conftest.err >&5 -+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 -+ (exit $ac_status); } && { -+ test -z "$ac_c_werror_flag" || -+ test ! -s conftest.err -+ } && test -s conftest.$ac_objext; then -+ ac_cv_sys_file_offset_bits=no; break -+ else -+ $as_echo "$as_me: failed program was:" >&5 -+ sed 's/^/| /' conftest.$ac_ext >&5 -+ -+ -+ fi -+ -+ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -+ cat >conftest.$ac_ext <<_ACEOF -+ /* confdefs.h. */ -+ _ACEOF -+ cat confdefs.h >>conftest.$ac_ext -+ cat >>conftest.$ac_ext <<_ACEOF -+ /* end confdefs.h. */ -+ #define _FILE_OFFSET_BITS 64 -+ #include <sys/types.h> -+ /* Check that off_t can represent 2**63 - 1 correctly. -+ We can't simply define LARGE_OFF_T to be 9223372036854775807, -+ since some C++ compilers masquerading as C compilers -+ incorrectly reject 9223372036854775807. */ -+ #define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62)) -+ int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721 -+ && LARGE_OFF_T % 2147483647 == 1) -+ ? 1 : -1]; -+ int -+ main () -+ { -+ -+ ; -+ return 0; -+ } -+ _ACEOF -+ rm -f conftest.$ac_objext -+ if { (ac_try="$ac_compile" -+ case "(($ac_try" in -+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; -+ *) ac_try_echo=$ac_try;; -+ esac -+ eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -+ $as_echo "$ac_try_echo") >&5 -+ (eval "$ac_compile") 2>conftest.er1 -+ ac_status=$? -+ grep -v '^ *+' conftest.er1 >conftest.err -+ rm -f conftest.er1 -+ cat conftest.err >&5 -+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 -+ (exit $ac_status); } && { -+ test -z "$ac_c_werror_flag" || -+ test ! -s conftest.err -+ } && test -s conftest.$ac_objext; then -+ ac_cv_sys_file_offset_bits=64; break -+ else -+ $as_echo "$as_me: failed program was:" >&5 -+ sed 's/^/| /' conftest.$ac_ext >&5 -+ -+ -+ fi -+ -+ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -+ ac_cv_sys_file_offset_bits=unknown -+ break -+ done -+ fi -+ { $as_echo "$as_me:$LINENO: result: $ac_cv_sys_file_offset_bits" >&5 -+ $as_echo "$ac_cv_sys_file_offset_bits" >&6; } -+ case $ac_cv_sys_file_offset_bits in #( -+ no | unknown) ;; -+ *) -+ cat >>confdefs.h <<_ACEOF -+ #define _FILE_OFFSET_BITS $ac_cv_sys_file_offset_bits -+ _ACEOF -+ ;; -+ esac -+ rm -rf conftest* -+ if test $ac_cv_sys_file_offset_bits = unknown; then -+ { $as_echo "$as_me:$LINENO: checking for _LARGE_FILES value needed for large files" >&5 -+ $as_echo_n "checking for _LARGE_FILES value needed for large files... " >&6; } -+ if test "${ac_cv_sys_large_files+set}" = set; then -+ $as_echo_n "(cached) " >&6 -+ else -+ while :; do -+ cat >conftest.$ac_ext <<_ACEOF -+ /* confdefs.h. */ -+ _ACEOF -+ cat confdefs.h >>conftest.$ac_ext -+ cat >>conftest.$ac_ext <<_ACEOF -+ /* end confdefs.h. */ -+ #include <sys/types.h> -+ /* Check that off_t can represent 2**63 - 1 correctly. -+ We can't simply define LARGE_OFF_T to be 9223372036854775807, -+ since some C++ compilers masquerading as C compilers -+ incorrectly reject 9223372036854775807. */ -+ #define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62)) -+ int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721 -+ && LARGE_OFF_T % 2147483647 == 1) -+ ? 1 : -1]; -+ int -+ main () -+ { -+ -+ ; -+ return 0; -+ } -+ _ACEOF -+ rm -f conftest.$ac_objext -+ if { (ac_try="$ac_compile" -+ case "(($ac_try" in -+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; -+ *) ac_try_echo=$ac_try;; -+ esac -+ eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -+ $as_echo "$ac_try_echo") >&5 -+ (eval "$ac_compile") 2>conftest.er1 -+ ac_status=$? -+ grep -v '^ *+' conftest.er1 >conftest.err -+ rm -f conftest.er1 -+ cat conftest.err >&5 -+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 -+ (exit $ac_status); } && { -+ test -z "$ac_c_werror_flag" || -+ test ! -s conftest.err -+ } && test -s conftest.$ac_objext; then -+ ac_cv_sys_large_files=no; break -+ else -+ $as_echo "$as_me: failed program was:" >&5 -+ sed 's/^/| /' conftest.$ac_ext >&5 -+ -+ -+ fi -+ -+ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -+ cat >conftest.$ac_ext <<_ACEOF -+ /* confdefs.h. */ -+ _ACEOF -+ cat confdefs.h >>conftest.$ac_ext -+ cat >>conftest.$ac_ext <<_ACEOF -+ /* end confdefs.h. */ -+ #define _LARGE_FILES 1 -+ #include <sys/types.h> -+ /* Check that off_t can represent 2**63 - 1 correctly. -+ We can't simply define LARGE_OFF_T to be 9223372036854775807, -+ since some C++ compilers masquerading as C compilers -+ incorrectly reject 9223372036854775807. */ -+ #define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62)) -+ int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721 -+ && LARGE_OFF_T % 2147483647 == 1) -+ ? 1 : -1]; -+ int -+ main () -+ { -+ -+ ; -+ return 0; -+ } -+ _ACEOF -+ rm -f conftest.$ac_objext -+ if { (ac_try="$ac_compile" -+ case "(($ac_try" in -+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; -+ *) ac_try_echo=$ac_try;; -+ esac -+ eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -+ $as_echo "$ac_try_echo") >&5 -+ (eval "$ac_compile") 2>conftest.er1 -+ ac_status=$? -+ grep -v '^ *+' conftest.er1 >conftest.err -+ rm -f conftest.er1 -+ cat conftest.err >&5 -+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 -+ (exit $ac_status); } && { -+ test -z "$ac_c_werror_flag" || -+ test ! -s conftest.err -+ } && test -s conftest.$ac_objext; then -+ ac_cv_sys_large_files=1; break -+ else -+ $as_echo "$as_me: failed program was:" >&5 -+ sed 's/^/| /' conftest.$ac_ext >&5 -+ -+ -+ fi -+ -+ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -+ ac_cv_sys_large_files=unknown -+ break -+ done -+ fi -+ { $as_echo "$as_me:$LINENO: result: $ac_cv_sys_large_files" >&5 -+ $as_echo "$ac_cv_sys_large_files" >&6; } -+ case $ac_cv_sys_large_files in #( -+ no | unknown) ;; -+ *) -+ cat >>confdefs.h <<_ACEOF -+ #define _LARGE_FILES $ac_cv_sys_large_files -+ _ACEOF -+ ;; -+ esac -+ rm -rf conftest* -+ fi -+ fi -+ -+ - { $as_echo "$as_me:$LINENO: checking for st_blksize" >&5 - $as_echo_n "checking for st_blksize... " >&6; } - cat >conftest.$ac_ext <<_ACEOF -*** ../vim-7.2.412/src/version.c 2010-05-07 15:51:59.000000000 +0200 ---- src/version.c 2010-05-07 16:04:29.000000000 +0200 -*************** -*** 683,684 **** ---- 683,686 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 413, - /**/ - --- -How To Keep A Healthy Level Of Insanity: -2. Page yourself over the intercom. Don't disguise your voice. - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ -\\\ download, build and distribute -- http://www.A-A-P.org /// - \\\ help me help AIDS victims -- http://ICCF-Holland.org /// -To: vim-dev@vim.org -Subject: Patch 7.2.414 -Fcc: outbox -From: Bram Moolenaar <Bram@moolenaar.net> -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.414 -Problem: CTRK-K <space> <space> does not produce 0xa0 as expected. (Tony - Mechelynck) -Solution: Remove the Unicode range 0xe000 - 0xefff from digraphs, these are - not valid characters. -Files: src/digraph.c - - -*** ../vim-7.2.413/src/digraph.c 2009-05-13 14:12:14.000000000 +0200 ---- src/digraph.c 2010-04-11 17:28:22.000000000 +0200 -*************** -*** 1933,1977 **** - {'7', 'c', 0x3226}, - {'8', 'c', 0x3227}, - {'9', 'c', 0x3228}, -! {' ', ' ', 0xe000}, -! {'/', 'c', 0xe001}, -! {'U', 'A', 0xe002}, -! {'U', 'B', 0xe003}, -! {'"', '3', 0xe004}, -! {'"', '1', 0xe005}, -! {'"', '!', 0xe006}, -! {'"', '\'', 0xe007}, -! {'"', '>', 0xe008}, -! {'"', '?', 0xe009}, -! {'"', '-', 0xe00a}, -! {'"', '(', 0xe00b}, -! {'"', '.', 0xe00c}, -! {'"', ':', 0xe00d}, -! {'"', '0', 0xe00e}, -! {'"', '"', 0xe00f}, -! {'"', '<', 0xe010}, -! {'"', ',', 0xe011}, -! {'"', ';', 0xe012}, -! {'"', '_', 0xe013}, -! {'"', '=', 0xe014}, -! {'"', '/', 0xe015}, -! {'"', 'i', 0xe016}, -! {'"', 'd', 0xe017}, -! {'"', 'p', 0xe018}, -! {';', ';', 0xe019}, -! {',', ',', 0xe01a}, -! {'b', '3', 0xe01b}, -! {'C', 'i', 0xe01c}, -! {'f', '(', 0xe01d}, -! {'e', 'd', 0xe01e}, -! {'a', 'm', 0xe01f}, -! {'p', 'm', 0xe020}, -! {'F', 'l', 0xe023}, -! {'G', 'F', 0xe024}, -! {'>', 'V', 0xe025}, -! {'!', '*', 0xe026}, -! {'?', '*', 0xe027}, -! {'J', '<', 0xe028}, - {'f', 'f', 0xfb00}, - {'f', 'i', 0xfb01}, - {'f', 'l', 0xfb02}, ---- 1933,1940 ---- - {'7', 'c', 0x3226}, - {'8', 'c', 0x3227}, - {'9', 'c', 0x3228}, -! /* code points 0xe000 - 0xefff excluded, they have no assigned -! * characters, only used in proposals. */ - {'f', 'f', 0xfb00}, - {'f', 'i', 0xfb01}, - {'f', 'l', 0xfb02}, -*** ../vim-7.2.413/src/version.c 2010-05-07 16:05:48.000000000 +0200 ---- src/version.c 2010-05-07 16:17:26.000000000 +0200 -*************** -*** 683,684 **** ---- 683,686 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 414, - /**/ - --- -How To Keep A Healthy Level Of Insanity: -4. Put your garbage can on your desk and label it "in". - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ -\\\ download, build and distribute -- http://www.A-A-P.org /// - \\\ help me help AIDS victims -- http://ICCF-Holland.org /// -To: vim-dev@vim.org -Subject: Patch 7.2.415 -Fcc: outbox -From: Bram Moolenaar <Bram@moolenaar.net> -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.415 -Problem: Win32: Can't open a remote file when starting Vim. -Solution: Don't invoke cygwin_conv_path() for URLs. (Tomoya Adachi) -Files: src/main.c - - -*** ../vim-7.2.414/src/main.c 2009-12-16 18:27:29.000000000 +0100 ---- src/main.c 2010-04-12 20:57:44.000000000 +0200 -*************** -*** 1477,1483 **** - ++initstr; - } - -! /* Avoid using evim mode for "editor". */ - if (TOLOWER_ASC(initstr[0]) == 'e' - && (TOLOWER_ASC(initstr[1]) == 'v' - || TOLOWER_ASC(initstr[1]) == 'g')) ---- 1477,1483 ---- - ++initstr; - } - -! /* Use evim mode for "evim" and "egvim", not for "editor". */ - if (TOLOWER_ASC(initstr[0]) == 'e' - && (TOLOWER_ASC(initstr[1]) == 'v' - || TOLOWER_ASC(initstr[1]) == 'g')) -*************** -*** 2262,2268 **** - * Look for evidence of non-Cygwin paths before we bother. - * This is only for when using the Unix files. - */ -! if (strpbrk(p, "\\:") != NULL) - { - char posix_path[PATH_MAX]; - ---- 2262,2268 ---- - * Look for evidence of non-Cygwin paths before we bother. - * This is only for when using the Unix files. - */ -! if (strpbrk(p, "\\:") != NULL && !path_with_url(p)) - { - char posix_path[PATH_MAX]; - -*** ../vim-7.2.414/src/version.c 2010-05-07 16:18:08.000000000 +0200 ---- src/version.c 2010-05-07 16:34:22.000000000 +0200 -*************** -*** 683,684 **** ---- 683,686 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 415, - /**/ - --- -How To Keep A Healthy Level Of Insanity: -6. In the memo field of all your checks, write "for sexual favors". - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ -\\\ download, build and distribute -- http://www.A-A-P.org /// - \\\ help me help AIDS victims -- http://ICCF-Holland.org /// -To: vim-dev@vim.org -Subject: Patch 7.2.416 -Fcc: outbox -From: Bram Moolenaar <Bram@moolenaar.net> -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.416 -Problem: Logtalk.dict is not installed. -Solution: Add it to the install target. (Markus Heidelberg) -Files: src/Makefile - - -*** ../vim-7.2.415/src/Makefile 2010-05-07 16:35:12.000000000 +0200 ---- src/Makefile 2010-04-06 20:19:48.000000000 +0200 -*************** -*** 30,36 **** - # want to disable using X11 libraries. This speeds up starting Vim, - # but the window title will not be set and the X11 selection can not - # used. -! # - Uncomment the line "CONF_OPT_XSMP = --without-xsmp" if you have the - # X11 Session Management Protocol (XSMP) library (libSM) but do not - # want to use it. - # This can speedup Vim startup but Vim loses the ability to catch the ---- 30,36 ---- - # want to disable using X11 libraries. This speeds up starting Vim, - # but the window title will not be set and the X11 selection can not - # used. -! # - Uncomment the line "CONF_OPT_XSMP = --disable-xsmp" if you have the - # X11 Session Management Protocol (XSMP) library (libSM) but do not - # want to use it. - # This can speedup Vim startup but Vim loses the ability to catch the -*************** -*** 1882,1888 **** - cd $(PLUGSOURCE); $(INSTALL_DATA) *.vim README.txt $(DEST_PLUG) - cd $(DEST_PLUG); chmod $(HELPMOD) *.vim README.txt - # install the ftplugin files -! cd $(FTPLUGSOURCE); $(INSTALL_DATA) *.vim README.txt $(DEST_FTP) - cd $(DEST_FTP); chmod $(HELPMOD) *.vim README.txt - # install the compiler files - cd $(COMPSOURCE); $(INSTALL_DATA) *.vim README.txt $(DEST_COMP) ---- 1882,1888 ---- - cd $(PLUGSOURCE); $(INSTALL_DATA) *.vim README.txt $(DEST_PLUG) - cd $(DEST_PLUG); chmod $(HELPMOD) *.vim README.txt - # install the ftplugin files -! cd $(FTPLUGSOURCE); $(INSTALL_DATA) *.vim README.txt logtalk.dict $(DEST_FTP) - cd $(DEST_FTP); chmod $(HELPMOD) *.vim README.txt - # install the compiler files - cd $(COMPSOURCE); $(INSTALL_DATA) *.vim README.txt $(DEST_COMP) -*** ../vim-7.2.415/src/version.c 2010-05-07 16:34:59.000000000 +0200 ---- src/version.c 2010-05-07 16:53:17.000000000 +0200 -*************** -*** 683,684 **** ---- 683,686 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 416, - /**/ - --- -How To Keep A Healthy Level Of Insanity: -8. Don't use any punctuation marks. - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ -\\\ download, build and distribute -- http://www.A-A-P.org /// - \\\ help me help AIDS victims -- http://ICCF-Holland.org /// -To: vim-dev@vim.org -Subject: Patch 7.2.417 -Fcc: outbox -From: Bram Moolenaar <Bram@moolenaar.net> -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.417 -Problem: When 'shell' has an argument with a slash then 'shellpipe' is not - set properly. (Britton Kerin) -Solution: Assume there are no spaces in the path, arguments follow. -Files: src/option.c - - -*** ../vim-7.2.416/src/option.c 2010-02-24 14:34:10.000000000 +0100 ---- src/option.c 2010-05-13 13:05:28.000000000 +0200 -*************** -*** 3696,3704 **** ---- 3696,3727 ---- - * Isolate the name of the shell: - * - Skip beyond any path. E.g., "/usr/bin/csh -f" -> "csh -f". - * - Remove any argument. E.g., "csh -f" -> "csh". -+ * But don't allow a space in the path, so that this works: -+ * "/usr/bin/csh --rcfile ~/.cshrc" -+ * But don't do that for Windows, it's common to have a space in the path. - */ -+ #ifdef WIN3264 - p = gettail(p_sh); - p = vim_strnsave(p, (int)(skiptowhite(p) - p)); -+ #else -+ p = skiptowhite(p_sh); -+ if (*p == NUL) -+ { -+ /* No white space, use the tail. */ -+ p = vim_strsave(gettail(p_sh)); -+ } -+ else -+ { -+ char_u *p1, *p2; -+ -+ /* Find the last path separator before the space. */ -+ p1 = p_sh; -+ for (p2 = p_sh; p2 < p; mb_ptr_adv(p2)) -+ if (vim_ispathsep(*p2)) -+ p1 = p2 + 1; -+ p = vim_strnsave(p1, (int)(p - p1)); -+ } -+ #endif - if (p != NULL) - { - /* -*** ../vim-7.2.416/src/version.c 2010-05-07 16:54:32.000000000 +0200 ---- src/version.c 2010-05-13 13:11:17.000000000 +0200 -*************** -*** 683,684 **** ---- 683,686 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 417, - /**/ - --- -If you put 7 of the most talented OSS developers in a room for a week -and asked them to fix a bug in a spreadsheet program, in 1 week -you'd have 2 new mail readers and a text-based web browser. - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ -\\\ download, build and distribute -- http://www.A-A-P.org /// - \\\ help me help AIDS victims -- http://ICCF-Holland.org /// -To: vim-dev@vim.org -Subject: Patch 7.2.418 -Fcc: outbox -From: Bram Moolenaar <Bram@moolenaar.net> -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.418 -Problem: Vim tries to set the background or foreground color in a terminal - to -1. (Graywh) Happens with ":hi Normal ctermbg=NONE". -Solution: When resetting the foreground or background color don't set the - color, let the clear screen code do that. -Files: src/syntax.c - - -*** ../vim-7.2.417/src/syntax.c 2010-03-23 14:39:07.000000000 +0100 ---- src/syntax.c 2010-05-13 15:34:27.000000000 +0200 -*************** -*** 7136,7142 **** - } - } - } -! /* Add one to the argument, to avoid zero */ - if (key[5] == 'F') - { - HL_TABLE()[idx].sg_cterm_fg = color + 1; ---- 7136,7143 ---- - } - } - } -! /* Add one to the argument, to avoid zero. Zero is used for -! * "NONE", then "color" is -1. */ - if (key[5] == 'F') - { - HL_TABLE()[idx].sg_cterm_fg = color + 1; -*************** -*** 7150,7156 **** - #endif - { - must_redraw = CLEAR; -! if (termcap_active) - term_fg_color(color); - } - } ---- 7151,7157 ---- - #endif - { - must_redraw = CLEAR; -! if (termcap_active && color >= 0) - term_fg_color(color); - } - } -*************** -*** 7167,7182 **** - #endif - { - must_redraw = CLEAR; -! if (termcap_active) -! term_bg_color(color); -! if (t_colors < 16) -! i = (color == 0 || color == 4); -! else -! i = (color < 7 || color == 8); -! /* Set the 'background' option if the value is wrong. */ -! if (i != (*p_bg == 'd')) -! set_option_value((char_u *)"bg", 0L, -! i ? (char_u *)"dark" : (char_u *)"light", 0); - } - } - } ---- 7168,7188 ---- - #endif - { - must_redraw = CLEAR; -! if (color >= 0) -! { -! if (termcap_active) -! term_bg_color(color); -! if (t_colors < 16) -! i = (color == 0 || color == 4); -! else -! i = (color < 7 || color == 8); -! /* Set the 'background' option if the value is -! * wrong. */ -! if (i != (*p_bg == 'd')) -! set_option_value((char_u *)"bg", 0L, -! i ? (char_u *)"dark" -! : (char_u *)"light", 0); -! } - } - } - } -*** ../vim-7.2.417/src/version.c 2010-05-13 13:12:01.000000000 +0200 ---- src/version.c 2010-05-13 14:29:59.000000000 +0200 -*************** -*** 683,684 **** ---- 683,686 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 418, - /**/ - --- -hundred-and-one symptoms of being an internet addict: -30. Even though you died last week, you've managed to retain OPS on your - favorite IRC channel. - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ -\\\ download, build and distribute -- http://www.A-A-P.org /// - \\\ help me help AIDS victims -- http://ICCF-Holland.org /// -To: vim-dev@vim.org -Subject: Patch 7.2.419 -Fcc: outbox -From: Bram Moolenaar <Bram@moolenaar.net> -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.419 -Problem: Memory leak in Motif when clicking on "Search Vim Help". -Solution: Free string returned by XmTextGetString(). (Dominique Pelle) -Files: src/gui_motif.c - - -*** ../vim-7.2.418/src/gui_motif.c 2009-05-21 23:25:38.000000000 +0200 ---- src/gui_motif.c 2010-05-13 16:08:14.000000000 +0200 -*************** -*** 2917,2922 **** ---- 2917,2923 ---- - *textfield = NUL; - else - vim_strncpy(textfield, p, IOSIZE - 1); -+ XtFree((char *)p); - } - - suppress_dialog_mnemonics(dialogform); -*** ../vim-7.2.418/src/version.c 2010-05-13 15:40:23.000000000 +0200 ---- src/version.c 2010-05-13 16:09:28.000000000 +0200 -*************** -*** 683,684 **** ---- 683,686 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 419, - /**/ - --- -hundred-and-one symptoms of being an internet addict: -32. You don't know what sex three of your closest friends are, because they - have neutral nicknames and you never bothered to ask. - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ -\\\ download, build and distribute -- http://www.A-A-P.org /// - \\\ help me help AIDS victims -- http://ICCF-Holland.org /// -To: vim-dev@vim.org -Subject: Patch 7.2.420 -Fcc: outbox -From: Bram Moolenaar <Bram@moolenaar.net> -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.420 -Problem: ":argedit" does not accept "++enc=utf8" as documented. (Dominique - Pelle) -Solution: Add the ARGOPT flag to ":argedit". -Files: src/ex_cmds.h - - -*** ../vim-7.2.419/src/ex_cmds.h 2009-07-09 15:55:34.000000000 +0200 ---- src/ex_cmds.h 2010-05-13 16:18:38.000000000 +0200 -*************** -*** 52,58 **** - #define ARGOPT 0x40000L /* allow "++opt=val" argument */ - #define SBOXOK 0x80000L /* allowed in the sandbox */ - #define CMDWIN 0x100000L /* allowed in cmdline window */ -! #define MODIFY 0x200000L /* forbidden in non-'modifiable' buffer */ - #define EXFLAGS 0x400000L /* allow flags after count in argument */ - #define FILES (XFILE | EXTRA) /* multiple extra files allowed */ - #define WORD1 (EXTRA | NOSPC) /* one extra word allowed */ ---- 52,58 ---- - #define ARGOPT 0x40000L /* allow "++opt=val" argument */ - #define SBOXOK 0x80000L /* allowed in the sandbox */ - #define CMDWIN 0x100000L /* allowed in cmdline window */ -! #define MODIFY 0x200000L /* forbidden in non-'modifiable' buffer */ - #define EXFLAGS 0x400000L /* allow flags after count in argument */ - #define FILES (XFILE | EXTRA) /* multiple extra files allowed */ - #define WORD1 (EXTRA | NOSPC) /* one extra word allowed */ -*************** -*** 116,122 **** - EX(CMD_argdo, "argdo", ex_listdo, - BANG|NEEDARG|EXTRA|NOTRLCOM), - EX(CMD_argedit, "argedit", ex_argedit, -! BANG|NEEDARG|RANGE|NOTADR|FILE1|EDITCMD|TRLBAR), - EX(CMD_argglobal, "argglobal", ex_args, - BANG|FILES|EDITCMD|ARGOPT|TRLBAR), - EX(CMD_arglocal, "arglocal", ex_args, ---- 116,122 ---- - EX(CMD_argdo, "argdo", ex_listdo, - BANG|NEEDARG|EXTRA|NOTRLCOM), - EX(CMD_argedit, "argedit", ex_argedit, -! BANG|NEEDARG|RANGE|NOTADR|FILE1|EDITCMD|ARGOPT|TRLBAR), - EX(CMD_argglobal, "argglobal", ex_args, - BANG|FILES|EDITCMD|ARGOPT|TRLBAR), - EX(CMD_arglocal, "arglocal", ex_args, -*** ../vim-7.2.419/src/version.c 2010-05-13 16:31:15.000000000 +0200 ---- src/version.c 2010-05-13 16:43:30.000000000 +0200 -*************** -*** 683,684 **** ---- 683,686 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 420, - /**/ - --- -hundred-and-one symptoms of being an internet addict: -33. You name your children Eudora, Mozilla and Dotcom. - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ -\\\ download, build and distribute -- http://www.A-A-P.org /// - \\\ help me help AIDS victims -- http://ICCF-Holland.org /// -To: vim-dev@vim.org -Subject: Patch 7.2.421 -Fcc: outbox -From: Bram Moolenaar <Bram@moolenaar.net> -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.421 -Problem: Folds are sometimes not updated properly and there is no way to - force an update. -Solution: Make "zx" and "zX" recompute folds (suggested by Christian - Brabandt) -Files: src/normal.c - - -*** ../vim-7.2.420/src/normal.c 2010-05-07 15:51:59.000000000 +0200 ---- src/normal.c 2010-05-13 16:43:05.000000000 +0200 -*************** -*** 4936,4948 **** - - /* "zx": re-apply 'foldlevel' and open folds at the cursor */ - case 'x': curwin->w_p_fen = TRUE; -! newFoldLevel(); /* update right now */ - foldOpenCursor(); - break; - - /* "zX": undo manual opens/closes, re-apply 'foldlevel' */ - case 'X': curwin->w_p_fen = TRUE; -! old_fdl = -1; /* force an update */ - break; - - /* "zm": fold more */ ---- 4936,4950 ---- - - /* "zx": re-apply 'foldlevel' and open folds at the cursor */ - case 'x': curwin->w_p_fen = TRUE; -! curwin->w_foldinvalid = TRUE; /* recompute folds */ -! newFoldLevel(); /* update right now */ - foldOpenCursor(); - break; - - /* "zX": undo manual opens/closes, re-apply 'foldlevel' */ - case 'X': curwin->w_p_fen = TRUE; -! curwin->w_foldinvalid = TRUE; /* recompute folds */ -! old_fdl = -1; /* force an update */ - break; - - /* "zm": fold more */ -*** ../vim-7.2.420/src/version.c 2010-05-13 16:46:16.000000000 +0200 ---- src/version.c 2010-05-13 17:33:34.000000000 +0200 -*************** -*** 683,684 **** ---- 683,686 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 421, - /**/ - --- -My sister Cecilia opened a computer store in Hawaii. -She sells C shells by the seashore. - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ -\\\ download, build and distribute -- http://www.A-A-P.org /// - \\\ help me help AIDS victims -- http://ICCF-Holland.org /// -To: vim-dev@vim.org -Subject: Patch 7.2.422 -Fcc: outbox -From: Bram Moolenaar <Bram@moolenaar.net> -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.422 -Problem: May get E763 when using spell dictionaries. -Solution: Avoid utf-8 case folded character to be truncated to 8 bits and - differ from latin1. (Dominique Pelle) -Files: src/spell.c - - -*** ../vim-7.2.421/src/spell.c 2010-01-19 13:06:42.000000000 +0100 ---- src/spell.c 2010-05-13 17:29:28.000000000 +0200 -*************** -*** 9780,9789 **** - { - for (i = 128; i < 256; ++i) - { - spelltab.st_isu[i] = utf_isupper(i); - spelltab.st_isw[i] = spelltab.st_isu[i] || utf_islower(i); -! spelltab.st_fold[i] = utf_fold(i); -! spelltab.st_upper[i] = utf_toupper(i); - } - } - else ---- 9780,9795 ---- - { - for (i = 128; i < 256; ++i) - { -+ int f = utf_fold(i); -+ int u = utf_toupper(i); -+ - spelltab.st_isu[i] = utf_isupper(i); - spelltab.st_isw[i] = spelltab.st_isu[i] || utf_islower(i); -! /* The folded/upper-cased value is different between latin1 and -! * utf8 for 0xb5, causing E763 for no good reason. Use the latin1 -! * value for utf-8 to avoid this. */ -! spelltab.st_fold[i] = (f < 256) ? f : i; -! spelltab.st_upper[i] = (u < 256) ? u : i; - } - } - else -*** ../vim-7.2.421/src/version.c 2010-05-13 17:35:52.000000000 +0200 ---- src/version.c 2010-05-13 17:46:03.000000000 +0200 -*************** -*** 683,684 **** ---- 683,686 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 422, - /**/ - --- -Q. What happens to programmers when they die? -A: MS-Windows programmers are reinstalled. C++ programmers become undefined, - anyone who refers to them will die as well. Java programmers reincarnate - after being garbage collected. - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ -\\\ download, build and distribute -- http://www.A-A-P.org /// - \\\ help me help AIDS victims -- http://ICCF-Holland.org /// -To: vim-dev@vim.org -Subject: Patch 7.2.423 -Fcc: outbox -From: Bram Moolenaar <Bram@moolenaar.net> -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.423 -Problem: Crash when assigning s: to variable. (Yukihiro Nakadaira) -Solution: Make ga_scripts contain pointer to scriptvar_T instead of - scriptvar_T itself. (Dominique Pelle) -Files: src/eval.c - - -*** ../vim-7.2.422/src/eval.c 2010-03-17 19:53:44.000000000 +0100 ---- src/eval.c 2010-05-14 12:02:16.000000000 +0200 -*************** -*** 145,153 **** - dict_T sv_dict; - } scriptvar_T; - -! static garray_T ga_scripts = {0, 0, sizeof(scriptvar_T), 4, NULL}; -! #define SCRIPT_SV(id) (((scriptvar_T *)ga_scripts.ga_data)[(id) - 1]) -! #define SCRIPT_VARS(id) (SCRIPT_SV(id).sv_dict.dv_hashtab) - - static int echo_attr = 0; /* attributes used for ":echo" */ - ---- 145,153 ---- - dict_T sv_dict; - } scriptvar_T; - -! static garray_T ga_scripts = {0, 0, sizeof(scriptvar_T *), 4, NULL}; -! #define SCRIPT_SV(id) (((scriptvar_T **)ga_scripts.ga_data)[(id) - 1]) -! #define SCRIPT_VARS(id) (SCRIPT_SV(id)->sv_dict.dv_hashtab) - - static int echo_attr = 0; /* attributes used for ":echo" */ - -*************** -*** 866,875 **** - hash_init(&vimvarht); /* garbage_collect() will access it */ - hash_clear(&compat_hashtab); - -- /* script-local variables */ -- for (i = 1; i <= ga_scripts.ga_len; ++i) -- vars_clear(&SCRIPT_VARS(i)); -- ga_clear(&ga_scripts); - free_scriptnames(); - - /* global variables */ ---- 866,871 ---- -*************** -*** 878,883 **** ---- 874,887 ---- - /* autoloaded script names */ - ga_clear_strings(&ga_loaded); - -+ /* script-local variables */ -+ for (i = 1; i <= ga_scripts.ga_len; ++i) -+ { -+ vars_clear(&SCRIPT_VARS(i)); -+ vim_free(SCRIPT_SV(i)); -+ } -+ ga_clear(&ga_scripts); -+ - /* unreferenced lists and dicts */ - (void)garbage_collect(); - -*************** -*** 18803,18809 **** - /* Must be something like "s:", otherwise "ht" would be NULL. */ - switch (varname[-2]) - { -! case 's': return &SCRIPT_SV(current_SID).sv_var; - case 'g': return &globvars_var; - case 'v': return &vimvars_var; - case 'b': return &curbuf->b_bufvar; ---- 18807,18813 ---- - /* Must be something like "s:", otherwise "ht" would be NULL. */ - switch (varname[-2]) - { -! case 's': return &SCRIPT_SV(current_SID)->sv_var; - case 'g': return &globvars_var; - case 'v': return &vimvars_var; - case 'b': return &curbuf->b_bufvar; -*************** -*** 18928,18940 **** - ht = &SCRIPT_VARS(i); - if (ht->ht_mask == HT_INIT_SIZE - 1) - ht->ht_array = ht->ht_smallarray; -! sv = &SCRIPT_SV(i); - sv->sv_var.di_tv.vval.v_dict = &sv->sv_dict; - } - - while (ga_scripts.ga_len < id) - { -! sv = &SCRIPT_SV(ga_scripts.ga_len + 1); - init_var_dict(&sv->sv_dict, &sv->sv_var); - ++ga_scripts.ga_len; - } ---- 18932,18945 ---- - ht = &SCRIPT_VARS(i); - if (ht->ht_mask == HT_INIT_SIZE - 1) - ht->ht_array = ht->ht_smallarray; -! sv = SCRIPT_SV(i); - sv->sv_var.di_tv.vval.v_dict = &sv->sv_dict; - } - - while (ga_scripts.ga_len < id) - { -! sv = SCRIPT_SV(ga_scripts.ga_len + 1) = -! (scriptvar_T *)alloc_clear(sizeof(scriptvar_T)); - init_var_dict(&sv->sv_dict, &sv->sv_var); - ++ga_scripts.ga_len; - } -*************** -*** 21931,21937 **** - if (find_viminfo_parameter('!') == NULL) - return; - -! fprintf(fp, _("\n# global variables:\n")); - - todo = (int)globvarht.ht_used; - for (hi = globvarht.ht_array; todo > 0; ++hi) ---- 21936,21942 ---- - if (find_viminfo_parameter('!') == NULL) - return; - -! fputs(_("\n# global variables:\n"), fp); - - todo = (int)globvarht.ht_used; - for (hi = globvarht.ht_array; todo > 0; ++hi) -*** ../vim-7.2.422/src/version.c 2010-05-13 17:46:53.000000000 +0200 ---- src/version.c 2010-05-14 12:13:19.000000000 +0200 -*************** -*** 683,684 **** ---- 683,686 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 423, - /**/ - --- -He who laughs last, thinks slowest. - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ -\\\ download, build and distribute -- http://www.A-A-P.org /// - \\\ help me help AIDS victims -- http://ICCF-Holland.org /// -To: vim-dev@vim.org -Subject: Patch 7.2.424 -Fcc: outbox -From: Bram Moolenaar <Bram@moolenaar.net> -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.424 -Problem: ":colorscheme" without an argument doesn't do anything. -Solution: Make it echo the current color scheme name. (partly by Christian - Brabandt) -Files: runtime/doc/syntax.txt, src/ex_cmds.h, src/ex_docmd.c - - -*** ../vim-7.2.423/runtime/doc/syntax.txt 2008-08-09 19:36:52.000000000 +0200 ---- runtime/doc/syntax.txt 2010-05-14 15:27:47.000000000 +0200 -*************** -*** 113,118 **** ---- 113,121 ---- - :syntax off $VIMRUNTIME/syntax/nosyntax.vim - Also see |syntax-loading|. - -+ NOTE: If displaying long lines is slow and switching off syntax highlighting -+ makes it fast, consider setting the 'synmaxcol' option to a lower value. -+ - ============================================================================== - 2. Syntax files *:syn-files* - -*************** -*** 3829,3841 **** - in their own color. - - *:colo* *:colorscheme* *E185* - :colo[rscheme] {name} Load color scheme {name}. This searches 'runtimepath' - for the file "colors/{name}.vim. The first one that - is found is loaded. -! To see the name of the currently active color scheme -! (if there is one): > -! :echo g:colors_name -! < Doesn't work recursively, thus you can't use - ":colorscheme" in a color scheme script. - After the color scheme has been loaded the - |ColorScheme| autocommand event is triggered. ---- 3871,3890 ---- - in their own color. - - *:colo* *:colorscheme* *E185* -+ :colo[rscheme] Output the name of the currently active color scheme. -+ This is basically the same as > -+ :echo g:colors_name -+ < In case g:colors_name has not been defined :colo will -+ output "default". When compiled without the |+eval| -+ feature it will output "unknown". -+ - :colo[rscheme] {name} Load color scheme {name}. This searches 'runtimepath' - for the file "colors/{name}.vim. The first one that - is found is loaded. -! To see the name of the currently active color scheme: > -! :colo -! < The name is also stored in the g:colors_name variable. -! Doesn't work recursively, thus you can't use - ":colorscheme" in a color scheme script. - After the color scheme has been loaded the - |ColorScheme| autocommand event is triggered. -*************** -*** 4032,4038 **** - colors. - When a colorscheme is being used, changing 'background' causes it to - be reloaded, which may reset all colors (including Normal). First -! delete the "colors_name" variable when you don't want this. - - When you have set "ctermfg" or "ctermbg" for the Normal group, Vim - needs to reset the color when exiting. This is done with the "op" ---- 4081,4087 ---- - colors. - When a colorscheme is being used, changing 'background' causes it to - be reloaded, which may reset all colors (including Normal). First -! delete the "g:colors_name" variable when you don't want this. - - When you have set "ctermfg" or "ctermbg" for the Normal group, Vim - needs to reset the color when exiting. This is done with the "op" -*** ../vim-7.2.423/src/ex_cmds.h 2010-05-13 16:46:16.000000000 +0200 ---- src/ex_cmds.h 2010-05-14 13:08:45.000000000 +0200 -*************** -*** 256,262 **** - EX(CMD_colder, "colder", qf_age, - RANGE|NOTADR|COUNT|TRLBAR), - EX(CMD_colorscheme, "colorscheme", ex_colorscheme, -! NEEDARG|WORD1|TRLBAR|CMDWIN), - EX(CMD_command, "command", ex_command, - EXTRA|BANG|NOTRLCOM|USECTRLV|CMDWIN), - EX(CMD_comclear, "comclear", ex_comclear, ---- 256,262 ---- - EX(CMD_colder, "colder", qf_age, - RANGE|NOTADR|COUNT|TRLBAR), - EX(CMD_colorscheme, "colorscheme", ex_colorscheme, -! WORD1|TRLBAR|CMDWIN), - EX(CMD_command, "command", ex_command, - EXTRA|BANG|NOTRLCOM|USECTRLV|CMDWIN), - EX(CMD_comclear, "comclear", ex_comclear, -*** ../vim-7.2.423/src/ex_docmd.c 2010-03-02 15:55:51.000000000 +0100 ---- src/ex_docmd.c 2010-05-14 15:26:14.000000000 +0200 -*************** -*** 6226,6232 **** - ex_colorscheme(eap) - exarg_T *eap; - { -! if (load_colors(eap->arg) == FAIL) - EMSG2(_("E185: Cannot find color scheme %s"), eap->arg); - } - ---- 6226,6256 ---- - ex_colorscheme(eap) - exarg_T *eap; - { -! if (*eap->arg == NUL) -! { -! #ifdef FEAT_EVAL -! char_u *expr = vim_strsave((char_u *)"g:colors_name"); -! char_u *p = NULL; -! -! if (expr != NULL) -! { -! ++emsg_off; -! p = eval_to_string(expr, NULL, FALSE); -! --emsg_off; -! vim_free(expr); -! } -! if (p != NULL) -! { -! MSG(p); -! vim_free(p); -! } -! else -! MSG("default"); -! #else -! MSG(_("unknown")); -! #endif -! } -! else if (load_colors(eap->arg) == FAIL) - EMSG2(_("E185: Cannot find color scheme %s"), eap->arg); - } - -*** ../vim-7.2.423/src/version.c 2010-05-14 12:16:19.000000000 +0200 ---- src/version.c 2010-05-14 15:23:20.000000000 +0200 -*************** -*** 683,684 **** ---- 683,686 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 424, - /**/ - --- -Everyone has a photographic memory. Some don't have film. - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ -\\\ download, build and distribute -- http://www.A-A-P.org /// - \\\ help me help AIDS victims -- http://ICCF-Holland.org /// -To: vim-dev@vim.org -Subject: Patch 7.2.425 -Fcc: outbox -From: Bram Moolenaar <Bram@moolenaar.net> -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.425 -Problem: Some compilers complain about fourth EX() argument. -Solution: Add cast to long_u. -Files: src/ex_cmds.h - - -*** ../vim-7.2.424/src/ex_cmds.h 2010-05-14 15:28:37.000000000 +0200 ---- src/ex_cmds.h 2010-05-14 13:08:45.000000000 +0200 -*************** -*** 74,80 **** - # undef EX /* just in case */ - #endif - #ifdef DO_DECLARE_EXCMD -! # define EX(a, b, c, d) {(char_u *)b, c, d} - - typedef void (*ex_func_T) __ARGS((exarg_T *eap)); - ---- 74,80 ---- - # undef EX /* just in case */ - #endif - #ifdef DO_DECLARE_EXCMD -! # define EX(a, b, c, d) {(char_u *)b, c, (long_u)(d)} - - typedef void (*ex_func_T) __ARGS((exarg_T *eap)); - -*** ../vim-7.2.424/src/version.c 2010-05-14 15:28:37.000000000 +0200 ---- src/version.c 2010-05-14 15:42:23.000000000 +0200 -*************** -*** 683,684 **** ---- 683,686 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 425, - /**/ - --- -The users that I support would double-click on a landmine to find out -what happens. -- A system administrator - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ -\\\ download, build and distribute -- http://www.A-A-P.org /// - \\\ help me help AIDS victims -- http://ICCF-Holland.org /// -To: vim-dev@vim.org -Subject: Patch 7.2.426 -Fcc: outbox -From: Bram Moolenaar <Bram@moolenaar.net> -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.426 -Problem: Commas in 'langmap' are not always handled correctly. -Solution: Require commas to be backslash escaped. (James Vega) -Files: src/option.c - - -*** ../vim-7.2.425/src/option.c 2010-05-13 13:12:01.000000000 +0200 ---- src/option.c 2010-05-14 16:04:21.000000000 +0200 -*************** -*** 10432,10437 **** ---- 10432,10442 ---- - p2 = NULL; /* aAbBcCdD form, p2 is NULL */ - while (p[0]) - { -+ if (p[0] == ',') -+ { -+ ++p; -+ break; -+ } - if (p[0] == '\\' && p[1] != NUL) - ++p; - #ifdef FEAT_MBYTE -*************** -*** 10439,10464 **** - #else - from = p[0]; - #endif - if (p2 == NULL) - { - mb_ptr_adv(p); -! if (p[0] == '\\') -! ++p; - #ifdef FEAT_MBYTE -! to = (*mb_ptr2char)(p); - #else -! to = p[0]; - #endif - } - else - { -! if (p2[0] == '\\') -! ++p2; - #ifdef FEAT_MBYTE -! to = (*mb_ptr2char)(p2); - #else -! to = p2[0]; - #endif - } - if (to == NUL) - { ---- 10444,10476 ---- - #else - from = p[0]; - #endif -+ to = NUL; - if (p2 == NULL) - { - mb_ptr_adv(p); -! if (p[0] != ',') -! { -! if (p[0] == '\\') -! ++p; - #ifdef FEAT_MBYTE -! to = (*mb_ptr2char)(p); - #else -! to = p[0]; - #endif -+ } - } - else - { -! if (p2[0] != ',') -! { -! if (p2[0] == '\\') -! ++p2; - #ifdef FEAT_MBYTE -! to = (*mb_ptr2char)(p2); - #else -! to = p2[0]; - #endif -+ } - } - if (to == NUL) - { -*************** -*** 10476,10490 **** - - /* Advance to next pair */ - mb_ptr_adv(p); -! if (p2 == NULL) -! { -! if (p[0] == ',') -! { -! ++p; -! break; -! } -! } -! else - { - mb_ptr_adv(p2); - if (*p == ';') ---- 10488,10494 ---- - - /* Advance to next pair */ - mb_ptr_adv(p); -! if (p2 != NULL) - { - mb_ptr_adv(p2); - if (*p == ';') -*** ../vim-7.2.425/src/version.c 2010-05-14 15:42:49.000000000 +0200 ---- src/version.c 2010-05-14 17:32:11.000000000 +0200 -*************** -*** 683,684 **** ---- 683,686 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 426, - /**/ - --- -On the other hand, you have different fingers. - -- Steven Wright - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ -\\\ download, build and distribute -- http://www.A-A-P.org /// - \\\ help me help AIDS victims -- http://ICCF-Holland.org /// -To: vim-dev@vim.org -Subject: Patch 7.2.427 -Fcc: outbox -From: Bram Moolenaar <Bram@moolenaar.net> -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.427 -Problem: The swapfile is created using the destination of a symlink, but - recovery doesn't follow symlinks. -Solution: When recovering, resolve symlinks. (James Vega) -Files: src/memline.c - - -*** ../vim-7.2.426/src/memline.c 2010-03-10 14:46:21.000000000 +0100 ---- src/memline.c 2010-05-14 17:28:29.000000000 +0200 -*************** -*** 245,250 **** ---- 245,253 ---- - #ifdef FEAT_BYTEOFF - static void ml_updatechunk __ARGS((buf_T *buf, long line, long len, int updtype)); - #endif -+ #ifdef HAVE_READLINK -+ static int resolve_symlink __ARGS((char_u *fname, char_u *buf)); -+ #endif - - /* - * Open a new memline for "buf". -*************** -*** 1401,1410 **** - int i; - char_u *dirp; - char_u *dir_name; - - if (list) - { -! /* use msg() to start the scrolling properly */ - msg((char_u *)_("Swap files found:")); - msg_putchar('\n'); - } ---- 1404,1422 ---- - int i; - char_u *dirp; - char_u *dir_name; -+ char_u *fname_res = *fname; -+ #ifdef HAVE_READLINK -+ char_u fname_buf[MAXPATHL]; -+ -+ /* Expand symlink in the file name, because the swap file is created with -+ * the actual file instead of with the symlink. */ -+ if (resolve_symlink(*fname, fname_buf) == OK) -+ fname_res = fname_buf; -+ #endif - - if (list) - { -! /* use msg() to start the scrolling properly */ - msg((char_u *)_("Swap files found:")); - msg_putchar('\n'); - } -*************** -*** 1453,1459 **** - #endif - } - else -! num_names = recov_file_names(names, *fname, TRUE); - } - else /* check directory dir_name */ - { ---- 1465,1471 ---- - #endif - } - else -! num_names = recov_file_names(names, fname_res, TRUE); - } - else /* check directory dir_name */ - { -*************** -*** 1490,1501 **** - if (after_pathsep(dir_name, p) && p[-1] == p[-2]) - { - /* Ends with '//', Use Full path for swap name */ -! tail = make_percent_swname(dir_name, *fname); - } - else - #endif - { -! tail = gettail(*fname); - tail = concat_fnames(dir_name, tail, TRUE); - } - if (tail == NULL) ---- 1502,1513 ---- - if (after_pathsep(dir_name, p) && p[-1] == p[-2]) - { - /* Ends with '//', Use Full path for swap name */ -! tail = make_percent_swname(dir_name, fname_res); - } - else - #endif - { -! tail = gettail(fname_res); - tail = concat_fnames(dir_name, tail, TRUE); - } - if (tail == NULL) -*************** -*** 1535,1545 **** - struct stat st; - char_u *swapname; - - #if defined(VMS) || defined(RISCOS) -! swapname = modname(*fname, (char_u *)"_swp", FALSE); - #else -! swapname = modname(*fname, (char_u *)".swp", TRUE); - #endif - if (swapname != NULL) - { - if (mch_stat((char *)swapname, &st) != -1) /* It exists! */ ---- 1547,1559 ---- - struct stat st; - char_u *swapname; - -+ swapname = modname(fname_res, - #if defined(VMS) || defined(RISCOS) -! (char_u *)"_swp", FALSE - #else -! (char_u *)".swp", TRUE - #endif -+ ); - if (swapname != NULL) - { - if (mch_stat((char *)swapname, &st) != -1) /* It exists! */ -*************** -*** 3508,3515 **** - } - - #ifdef HAVE_READLINK -- static int resolve_symlink __ARGS((char_u *fname, char_u *buf)); -- - /* - * Resolve a symlink in the last component of a file name. - * Note that f_resolve() does it for every part of the path, we don't do that ---- 3522,3527 ---- -*************** -*** 3601,3609 **** - char_u *dir_name; - { - char_u *r, *s; - #ifdef HAVE_READLINK - char_u fname_buf[MAXPATHL]; -- char_u *fname_res; - #endif - - #if defined(UNIX) || defined(WIN3264) /* Need _very_ long file names */ ---- 3613,3621 ---- - char_u *dir_name; - { - char_u *r, *s; -+ char_u *fname_res = fname; - #ifdef HAVE_READLINK - char_u fname_buf[MAXPATHL]; - #endif - - #if defined(UNIX) || defined(WIN3264) /* Need _very_ long file names */ -*************** -*** 3625,3632 **** - * actual file instead of with the symlink. */ - if (resolve_symlink(fname, fname_buf) == OK) - fname_res = fname_buf; -- else -- fname_res = fname; - #endif - - r = buf_modname( ---- 3637,3642 ---- -*************** -*** 3639,3649 **** - /* Avoid problems if fname has special chars, eg <Wimp$Scrap> */ - ffname, - #else -- # ifdef HAVE_READLINK - fname_res, -- # else -- fname, -- # endif - #endif - (char_u *) - #if defined(VMS) || defined(RISCOS) ---- 3649,3655 ---- -*** ../vim-7.2.426/src/version.c 2010-05-14 17:32:53.000000000 +0200 ---- src/version.c 2010-05-14 17:50:43.000000000 +0200 -*************** -*** 683,684 **** ---- 683,686 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 427, - /**/ - --- -Change is inevitable, except from a vending machine. - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ -\\\ download, build and distribute -- http://www.A-A-P.org /// - \\\ help me help AIDS victims -- http://ICCF-Holland.org /// -To: vim-dev@vim.org -Subject: Patch 7.2.428 -Fcc: outbox -From: Bram Moolenaar <Bram@moolenaar.net> -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.428 -Problem: Using setqflist([]) to clear the error list doesn't work properly. -Solution: Set qf_nonevalid to TRUE when appropriate. (Christian Brabandt) -Files: src/quickfix.c - - -*** ../vim-7.2.427/src/quickfix.c 2010-01-19 14:59:14.000000000 +0100 ---- src/quickfix.c 2010-05-14 18:06:27.000000000 +0200 -*************** -*** 3654,3660 **** - } - } - -! qi->qf_lists[qi->qf_curlist].qf_nonevalid = FALSE; - qi->qf_lists[qi->qf_curlist].qf_ptr = qi->qf_lists[qi->qf_curlist].qf_start; - qi->qf_lists[qi->qf_curlist].qf_index = 1; - ---- 3654,3664 ---- - } - } - -! if (qi->qf_lists[qi->qf_curlist].qf_index == 0) -! /* empty list or no valid entry */ -! qi->qf_lists[qi->qf_curlist].qf_nonevalid = TRUE; -! else -! qi->qf_lists[qi->qf_curlist].qf_nonevalid = FALSE; - qi->qf_lists[qi->qf_curlist].qf_ptr = qi->qf_lists[qi->qf_curlist].qf_start; - qi->qf_lists[qi->qf_curlist].qf_index = 1; - -*** ../vim-7.2.427/src/version.c 2010-05-14 17:52:35.000000000 +0200 ---- src/version.c 2010-05-14 18:09:32.000000000 +0200 -*************** -*** 683,684 **** ---- 683,686 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 428, - /**/ - --- -Seen it all, done it all, can't remember most of it. - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ -\\\ download, build and distribute -- http://www.A-A-P.org /// - \\\ help me help AIDS victims -- http://ICCF-Holland.org /// -To: vim-dev@vim.org -Subject: Patch 7.2.429 -Fcc: outbox -From: Bram Moolenaar <Bram@moolenaar.net> -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.429 -Problem: A file that exists but access is denied may result in a "new file" - message. E.g. when its directory is unreadable. -Solution: Specifically check for ENOENT to decide a file doesn't exist. - (partly by James Vega) -Files: src/fileio.c - - -*** ../vim-7.2.428/src/fileio.c 2010-03-02 12:47:58.000000000 +0100 ---- src/fileio.c 2010-05-14 18:30:09.000000000 +0200 -*************** -*** 595,601 **** - #endif - if (newfile) - { -! if (perm < 0) - { - /* - * Set the 'new-file' flag, so that when the file has ---- 595,605 ---- - #endif - if (newfile) - { -! if (perm < 0 -! #ifdef ENOENT -! && errno == ENOENT -! #endif -! ) - { - /* - * Set the 'new-file' flag, so that when the file has -*************** -*** 664,669 **** ---- 668,676 ---- - # ifdef EFBIG - (errno == EFBIG) ? _("[File too big]") : - # endif -+ # ifdef EOVERFLOW -+ (errno == EOVERFLOW) ? _("[File too big]") : -+ # endif - _("[Permission Denied]")), 0); - curbuf->b_p_ro = TRUE; /* must use "w!" now */ - } -*** ../vim-7.2.428/src/version.c 2010-05-14 18:10:23.000000000 +0200 ---- src/version.c 2010-05-14 18:55:11.000000000 +0200 -*************** -*** 683,684 **** ---- 683,686 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 429, - /**/ - --- -Those who live by the sword get shot by those who don't. - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ -\\\ download, build and distribute -- http://www.A-A-P.org /// - \\\ help me help AIDS victims -- http://ICCF-Holland.org /// -To: vim-dev@vim.org -Subject: Patch 7.2.430 -Fcc: outbox -From: Bram Moolenaar <Bram@moolenaar.net> -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.430 -Problem: The ++bad argument is handled wrong, resulting in an invalid - memory access. -Solution: Use the bad_char field only for the replacement character, add - bad_char_idx to store the position. (Dominique Pelle) -Files: src/eval.c, src/ex_cmds.h, src/ex_docmd.c - - -*** ../vim-7.2.429/src/eval.c 2010-05-14 12:16:19.000000000 +0200 ---- src/eval.c 2010-05-14 19:04:53.000000000 +0200 -*************** -*** 18309,18316 **** - # ifdef FEAT_MBYTE - if (eap->force_enc != 0) - len += (unsigned)STRLEN(eap->cmd + eap->force_enc) + 7; -! if (eap->bad_char != 0) -! len += (unsigned)STRLEN(eap->cmd + eap->bad_char) + 7; - # endif - - newval = alloc(len + 1); ---- 18309,18316 ---- - # ifdef FEAT_MBYTE - if (eap->force_enc != 0) - len += (unsigned)STRLEN(eap->cmd + eap->force_enc) + 7; -! if (eap->bad_char_idx != 0) -! len += (unsigned)STRLEN(eap->cmd + eap->bad_char_idx) + 7; - # endif - - newval = alloc(len + 1); -*************** -*** 18334,18342 **** - if (eap->force_enc != 0) - sprintf((char *)newval + STRLEN(newval), " ++enc=%s", - eap->cmd + eap->force_enc); -! if (eap->bad_char != 0) - sprintf((char *)newval + STRLEN(newval), " ++bad=%s", -! eap->cmd + eap->bad_char); - # endif - vimvars[VV_CMDARG].vv_str = newval; - return oldval; ---- 18334,18342 ---- - if (eap->force_enc != 0) - sprintf((char *)newval + STRLEN(newval), " ++enc=%s", - eap->cmd + eap->force_enc); -! if (eap->bad_char_idx != 0) - sprintf((char *)newval + STRLEN(newval), " ++bad=%s", -! eap->cmd + eap->bad_char_idx); - # endif - vimvars[VV_CMDARG].vv_str = newval; - return oldval; -*** ../vim-7.2.429/src/ex_cmds.h 2010-05-14 15:42:49.000000000 +0200 ---- src/ex_cmds.h 2010-05-14 20:23:20.000000000 +0200 -*************** -*** 1152,1158 **** - int force_ff; /* ++ff= argument (index in cmd[]) */ - #ifdef FEAT_MBYTE - int force_enc; /* ++enc= argument (index in cmd[]) */ -! int bad_char; /* ++bad= argument (index in cmd[]) */ - #endif - #ifdef FEAT_USR_CMDS - int useridx; /* user command index */ ---- 1152,1159 ---- - int force_ff; /* ++ff= argument (index in cmd[]) */ - #ifdef FEAT_MBYTE - int force_enc; /* ++enc= argument (index in cmd[]) */ -! int bad_char_idx; /* ++bad= argument (index in cmd[]) */ -! int bad_char; /* BAD_KEEP, BAD_DROP or replacement char */ - #endif - #ifdef FEAT_USR_CMDS - int useridx; /* user command index */ -*** ../vim-7.2.429/src/ex_docmd.c 2010-05-14 15:28:37.000000000 +0200 ---- src/ex_docmd.c 2010-05-14 19:04:53.000000000 +0200 -*************** -*** 4739,4745 **** - else if (STRNCMP(arg, "bad", 3) == 0) - { - arg += 3; -! pp = &eap->bad_char; - } - #endif - ---- 4739,4745 ---- - else if (STRNCMP(arg, "bad", 3) == 0) - { - arg += 3; -! pp = &eap->bad_char_idx; - } - #endif - -*************** -*** 4770,4776 **** - { - /* Check ++bad= argument. Must be a single-byte character, "keep" or - * "drop". */ -! p = eap->cmd + eap->bad_char; - if (STRICMP(p, "keep") == 0) - eap->bad_char = BAD_KEEP; - else if (STRICMP(p, "drop") == 0) ---- 4770,4776 ---- - { - /* Check ++bad= argument. Must be a single-byte character, "keep" or - * "drop". */ -! p = eap->cmd + eap->bad_char_idx; - if (STRICMP(p, "keep") == 0) - eap->bad_char = BAD_KEEP; - else if (STRICMP(p, "drop") == 0) -*** ../vim-7.2.429/src/version.c 2010-05-14 18:56:33.000000000 +0200 ---- src/version.c 2010-05-14 20:39:38.000000000 +0200 -*************** -*** 683,684 **** ---- 683,686 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 430, - /**/ - --- -You have the right to remain silent. Anything you say will be -misquoted, then used against you. - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ -\\\ download, build and distribute -- http://www.A-A-P.org /// - \\\ help me help AIDS victims -- http://ICCF-Holland.org /// -To: vim-dev@vim.org -Subject: Patch 7.2.431 -Fcc: outbox -From: Bram Moolenaar <Bram@moolenaar.net> -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.431 -Problem: ":amenu" moves the cursor when in Insert mode. -Solution: Use CTRL-\ CTRL-O instead of CTRL-O. (Christian Brabandt) -Files: src/menu.c - - -*** ../vim-7.2.430/src/menu.c 2009-05-17 13:30:58.000000000 +0200 ---- src/menu.c 2010-05-14 21:18:00.000000000 +0200 -*************** -*** 490,495 **** ---- 490,496 ---- - char_u *next_name; - int i; - int c; -+ int d; - #ifdef FEAT_GUI - int idx; - int new_idx; -*************** -*** 746,751 **** ---- 747,753 ---- - * Don't do this if adding a tearbar (addtearoff == FALSE). - * Don't do this for "<Nop>". */ - c = 0; -+ d = 0; - if (amenu && call_data != NULL && *call_data != NUL - #ifdef FEAT_GUI_W32 - && addtearoff -*************** -*** 761,778 **** - c = Ctrl_C; - break; - case MENU_INSERT_MODE: -! c = Ctrl_O; - break; - } - } - -! if (c) - { -! menu->strings[i] = alloc((unsigned)(STRLEN(call_data) + 4)); - if (menu->strings[i] != NULL) - { - menu->strings[i][0] = c; -! STRCPY(menu->strings[i] + 1, call_data); - if (c == Ctrl_C) - { - int len = (int)STRLEN(menu->strings[i]); ---- 763,787 ---- - c = Ctrl_C; - break; - case MENU_INSERT_MODE: -! c = Ctrl_BSL; -! d = Ctrl_O; - break; - } - } - -! if (c != 0) - { -! menu->strings[i] = alloc((unsigned)(STRLEN(call_data) + 5 )); - if (menu->strings[i] != NULL) - { - menu->strings[i][0] = c; -! if (d == 0) -! STRCPY(menu->strings[i] + 1, call_data); -! else -! { -! menu->strings[i][1] = d; -! STRCPY(menu->strings[i] + 2, call_data); -! } - if (c == Ctrl_C) - { - int len = (int)STRLEN(menu->strings[i]); -*** ../vim-7.2.430/src/version.c 2010-05-14 20:41:00.000000000 +0200 ---- src/version.c 2010-05-14 21:11:40.000000000 +0200 -*************** -*** 683,684 **** ---- 683,686 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 431, - /**/ - --- -Despite the cost of living, have you noticed how it remains so popular? - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ -\\\ download, build and distribute -- http://www.A-A-P.org /// - \\\ help me help AIDS victims -- http://ICCF-Holland.org /// -To: vim-dev@vim.org -Subject: Patch 7.2.432 -Fcc: outbox -From: Bram Moolenaar <Bram@moolenaar.net> -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.432 -Problem: When menus are translated they can only be found by the translated - name. That makes ":emenu" difficult to use. -Solution: Store the untranslated name and use it for completion and :emenu. - (Edward L. Fox / Liang Peng / Bezetek James) -Files: src/menu.c, src/structs.h - - -*** ../vim-7.2.431/src/menu.c 2010-05-14 21:19:16.000000000 +0200 ---- src/menu.c 2010-05-14 21:52:58.000000000 +0200 -*************** -*** 58,63 **** ---- 58,66 ---- - static char_u *menutrans_lookup __ARGS((char_u *name, int len)); - #endif - -+ static char_u *menu_translate_tab_and_shift __ARGS((char_u *arg_start)); -+ static void menu_unescape_name __ARGS((char_u *p)); -+ - /* The character for each menu mode */ - static char_u menu_mode_chars[] = {'n', 'v', 's', 'o', 'i', 'c', 't'}; - -*************** -*** 106,115 **** - int pri_tab[MENUDEPTH + 1]; - int enable = MAYBE; /* TRUE for "menu enable", FALSE for "menu - * disable */ -- #ifdef FEAT_MULTI_LANG -- char_u *tofree = NULL; -- char_u *new_cmd; -- #endif - #ifdef FEAT_TOOLBAR - char_u *icon = NULL; - #endif ---- 109,114 ---- -*************** -*** 251,291 **** - } - #endif - -- #ifdef FEAT_MULTI_LANG -- /* -- * Translate menu names as specified with ":menutrans" commands. -- */ -- menu_path = arg; -- while (*menu_path) -- { -- /* find the end of one part and check if it should be translated */ -- p = menu_skip_part(menu_path); -- map_to = menutrans_lookup(menu_path, (int)(p - menu_path)); -- if (map_to != NULL) -- { -- /* found a match: replace with the translated part */ -- i = (int)STRLEN(map_to); -- new_cmd = alloc((unsigned)STRLEN(arg) + i + 1); -- if (new_cmd == NULL) -- break; -- mch_memmove(new_cmd, arg, menu_path - arg); -- mch_memmove(new_cmd + (menu_path - arg), map_to, (size_t)i); -- STRCPY(new_cmd + (menu_path - arg) + i, p); -- p = new_cmd + (menu_path - arg) + i; -- vim_free(tofree); -- tofree = new_cmd; -- arg = new_cmd; -- } -- if (*p != '.') -- break; -- menu_path = p + 1; -- } -- #endif -- -- /* -- * Isolate the menu name. -- * Skip the menu name, and translate <Tab> into a real TAB. -- */ - menu_path = arg; - if (*menu_path == '.') - { ---- 250,255 ---- -*************** -*** 293,313 **** - goto theend; - } - -! while (*arg && !vim_iswhite(*arg)) -! { -! if ((*arg == '\\' || *arg == Ctrl_V) && arg[1] != NUL) -! arg++; -! else if (STRNICMP(arg, "<TAB>", 5) == 0) -! { -! *arg = TAB; -! STRMOVE(arg + 1, arg + 5); -! } -! arg++; -! } -! if (*arg != NUL) -! *arg++ = NUL; -! arg = skipwhite(arg); -! map_to = arg; - - /* - * If there is only a menu name, display menus with that name. ---- 257,263 ---- - goto theend; - } - -! map_to = menu_translate_tab_and_shift(arg); - - /* - * If there is only a menu name, display menus with that name. -*************** -*** 453,463 **** - #endif - - theend: -- #ifdef FEAT_MULTI_LANG -- vim_free(tofree); -- #else - ; -- #endif - } - - /* ---- 403,409 ---- -*************** -*** 498,503 **** ---- 444,453 ---- - int pri_idx = 0; - int old_modes = 0; - int amenu; -+ #ifdef FEAT_MULTI_LANG -+ char_u *en_name; -+ char_u *map_to = NULL; -+ #endif - - /* Make a copy so we can stuff around with it, since it could be const */ - path_name = vim_strsave(menu_path); -*************** -*** 511,516 **** ---- 461,476 ---- - /* Get name of this element in the menu hierarchy, and the simplified - * name (without mnemonic and accelerator text). */ - next_name = menu_name_skip(name); -+ #ifdef FEAT_MULTI_LANG -+ map_to = menutrans_lookup(name,STRLEN(name)); -+ if (map_to != NULL) -+ { -+ en_name = name; -+ name = map_to; -+ } -+ else -+ en_name = NULL; -+ #endif - dname = menu_text(name, NULL, NULL); - if (dname == NULL) - goto erret; -*************** -*** 594,599 **** ---- 554,571 ---- - menu->name = vim_strsave(name); - /* separate mnemonic and accelerator text from actual menu name */ - menu->dname = menu_text(name, &menu->mnemonic, &menu->actext); -+ #ifdef FEAT_MULTI_LANG -+ if (en_name != NULL) -+ { -+ menu->en_name = vim_strsave(en_name); -+ menu->en_dname = menu_text(en_name, NULL, NULL); -+ } -+ else -+ { -+ menu->en_name = NULL; -+ menu->en_dname = NULL; -+ } -+ #endif - menu->priority = pri_tab[pri_idx]; - menu->parent = parent; - #ifdef FEAT_GUI_MOTIF -*************** -*** 1040,1045 **** ---- 1012,1021 ---- - *menup = menu->next; - vim_free(menu->name); - vim_free(menu->dname); -+ #ifdef FEAT_MULTI_LANG -+ vim_free(menu->en_name); -+ vim_free(menu->en_dname); -+ #endif - vim_free(menu->actext); - #ifdef FEAT_TOOLBAR - vim_free(menu->iconfile); -*************** -*** 1357,1365 **** ---- 1333,1347 ---- - { - static vimmenu_T *menu = NULL; - char_u *str; -+ #ifdef FEAT_MULTI_LANG -+ static int should_advance = FALSE; -+ #endif - - if (idx == 0) /* first call: start at first item */ -+ { - menu = expand_menu; -+ should_advance = FALSE; -+ } - - /* Skip PopUp[nvoci]. */ - while (menu != NULL && (menu_is_hidden(menu->dname) -*************** -*** 1372,1383 **** - return NULL; - - if (menu->modes & expand_modes) -! str = menu->dname; - else - str = (char_u *)""; - -! /* Advance to next menu entry. */ -! menu = menu->next; - - return str; - } ---- 1354,1383 ---- - return NULL; - - if (menu->modes & expand_modes) -! #ifdef FEAT_MULTI_LANG -! if (should_advance) -! str = menu->en_dname; -! else -! { -! #endif -! str = menu->dname; -! #ifdef FEAT_MULTI_LANG -! if (menu->en_dname == NULL) -! should_advance = TRUE; -! } -! #endif - else - str = (char_u *)""; - -! #ifdef FEAT_MULTI_LANG -! if (should_advance) -! #endif -! /* Advance to next menu entry. */ -! menu = menu->next; -! -! #ifdef FEAT_MULTI_LANG -! should_advance = !should_advance; -! #endif - - return str; - } -*************** -*** 1394,1402 **** ---- 1394,1408 ---- - static vimmenu_T *menu = NULL; - static char_u tbuffer[256]; /*hack*/ - char_u *str; -+ #ifdef FEAT_MULTI_LANG -+ static int should_advance = FALSE; -+ #endif - - if (idx == 0) /* first call: start at first item */ -+ { - menu = expand_menu; -+ should_advance = FALSE; -+ } - - /* Skip Browse-style entries, popup menus and separators. */ - while (menu != NULL -*************** -*** 1416,1435 **** - { - if (menu->children != NULL) - { -! STRCPY(tbuffer, menu->dname); - /* hack on menu separators: use a 'magic' char for the separator - * so that '.' in names gets escaped properly */ - STRCAT(tbuffer, "\001"); - str = tbuffer; - } - else -! str = menu->dname; - } - else - str = (char_u *)""; - -! /* Advance to next menu entry. */ -! menu = menu->next; - - return str; - } ---- 1422,1472 ---- - { - if (menu->children != NULL) - { -! #ifdef FEAT_MULTI_LANG -! if (should_advance) -! STRCPY(tbuffer, menu->en_dname); -! else -! { -! #endif -! STRCPY(tbuffer, menu->dname); -! #ifdef FEAT_MULTI_LANG -! if (menu->en_dname == NULL) -! should_advance = TRUE; -! } -! #endif - /* hack on menu separators: use a 'magic' char for the separator - * so that '.' in names gets escaped properly */ - STRCAT(tbuffer, "\001"); - str = tbuffer; - } - else -! #ifdef FEAT_MULTI_LANG -! { -! if (should_advance) -! str = menu->en_dname; -! else -! { -! #endif -! str = menu->dname; -! #ifdef FEAT_MULTI_LANG -! if (menu->en_dname == NULL) -! should_advance = TRUE; -! } -! } -! #endif - } - else - str = (char_u *)""; - -! #ifdef FEAT_MULTI_LANG -! if (should_advance) -! #endif -! /* Advance to next menu entry. */ -! menu = menu->next; -! -! #ifdef FEAT_MULTI_LANG -! should_advance = !should_advance; -! #endif - - return str; - } -*************** -*** 1469,1475 **** - char_u *name; - vimmenu_T *menu; - { -! return (menu_namecmp(name, menu->name) || menu_namecmp(name, menu->dname)); - } - - static int ---- 1506,1516 ---- - char_u *name; - vimmenu_T *menu; - { -! if (menu->en_name != NULL -! && (menu_namecmp(name,menu->en_name) -! || menu_namecmp(name,menu->en_dname))) -! return TRUE; -! return menu_namecmp(name, menu->name) || menu_namecmp(name, menu->dname); - } - - static int -*************** -*** 2402,2407 **** ---- 2443,2452 ---- - to = vim_strnsave(to, (int)(arg - to)); - if (from_noamp != NULL && to != NULL) - { -+ menu_translate_tab_and_shift(from); -+ menu_translate_tab_and_shift(to); -+ menu_unescape_name(from); -+ menu_unescape_name(to); - tp[menutrans_ga.ga_len].from = from; - tp[menutrans_ga.ga_len].from_noamp = from_noamp; - tp[menutrans_ga.ga_len].to = to; -*************** -*** 2476,2479 **** ---- 2521,2566 ---- - } - #endif /* FEAT_MULTI_LANG */ - -+ /* -+ * Unescape the name in the translate dictionary table. -+ */ -+ static void -+ menu_unescape_name(name) -+ char_u *name; -+ { -+ char_u *p; -+ -+ for (p = name; *p && *p != '.'; mb_ptr_adv(p)) -+ if (*p == '\\') -+ STRMOVE(p, p + 1); -+ } -+ -+ /* -+ * Isolate the menu name. -+ * Skip the menu name, and translate <Tab> into a real TAB. -+ */ -+ static char_u * -+ menu_translate_tab_and_shift(arg_start) -+ char_u *arg_start; -+ { -+ char_u *arg = arg_start; -+ -+ while (*arg && !vim_iswhite(*arg)) -+ { -+ if ((*arg == '\\' || *arg == Ctrl_V) && arg[1] != NUL) -+ arg++; -+ else if (STRNICMP(arg, "<TAB>", 5) == 0) -+ { -+ *arg = TAB; -+ STRMOVE(arg + 1, arg + 5); -+ } -+ arg++; -+ } -+ if (*arg != NUL) -+ *arg++ = NUL; -+ arg = skipwhite(arg); -+ -+ return arg; -+ } -+ - #endif /* FEAT_MENU */ -*** ../vim-7.2.431/src/structs.h 2009-09-18 17:24:54.000000000 +0200 ---- src/structs.h 2010-05-14 22:21:50.000000000 +0200 -*************** -*** 232,238 **** - { - wininfo_T *wi_next; /* next entry or NULL for last entry */ - wininfo_T *wi_prev; /* previous entry or NULL for first entry */ -! win_T *wi_win; /* pointer to window that did set wi_lnum */ - pos_T wi_fpos; /* last cursor position in the file */ - int wi_optset; /* TRUE when wi_opt has useful values */ - winopt_T wi_opt; /* local window options */ ---- 232,238 ---- - { - wininfo_T *wi_next; /* next entry or NULL for last entry */ - wininfo_T *wi_prev; /* previous entry or NULL for first entry */ -! win_T *wi_win; /* pointer to window that did set wi_fpos */ - pos_T wi_fpos; /* last cursor position in the file */ - int wi_optset; /* TRUE when wi_opt has useful values */ - winopt_T wi_opt; /* local window options */ -*************** -*** 2207,2214 **** - { - int modes; /* Which modes is this menu visible for? */ - int enabled; /* for which modes the menu is enabled */ -! char_u *name; /* Name of menu */ -! char_u *dname; /* Displayed Name (without '&') */ - int mnemonic; /* mnemonic key (after '&') */ - char_u *actext; /* accelerator text (after TAB) */ - int priority; /* Menu order priority */ ---- 2207,2220 ---- - { - int modes; /* Which modes is this menu visible for? */ - int enabled; /* for which modes the menu is enabled */ -! char_u *name; /* Name of menu, possibly translated */ -! char_u *dname; /* Displayed Name ("name" without '&') */ -! #ifdef FEAT_MULTI_LANG -! char_u *en_name; /* "name" untranslated, NULL when "name" -! * was not translated */ -! char_u *en_dname; /* "dname" untranslated, NULL when "dname" -! * was not translated */ -! #endif - int mnemonic; /* mnemonic key (after '&') */ - char_u *actext; /* accelerator text (after TAB) */ - int priority; /* Menu order priority */ -*** ../vim-7.2.431/src/version.c 2010-05-14 21:19:16.000000000 +0200 ---- src/version.c 2010-05-14 22:19:39.000000000 +0200 -*************** -*** 683,684 **** ---- 683,686 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 432, - /**/ - --- -It is hard to understand how a cemetery raised its burial -cost and blamed it on the cost of living. - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ -\\\ download, build and distribute -- http://www.A-A-P.org /// - \\\ help me help AIDS victims -- http://ICCF-Holland.org /// -To: vim-dev@vim.org -Subject: Patch 7.2.433 -Fcc: outbox -From: Bram Moolenaar <Bram@moolenaar.net> -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.433 -Problem: Can't use cscope with QuickFixCmdPre and QuickFixCmdPost. -Solution: Add cscope support for these autocmd events. (Bryan Venteicher) -Files: runtime/doc/autocmd.txt, src/if_cscope.c - - -*** ../vim-7.2.432/runtime/doc/autocmd.txt 2009-06-24 17:51:01.000000000 +0200 ---- runtime/doc/autocmd.txt 2010-05-14 22:48:43.000000000 +0200 -*************** -*** 678,687 **** - QuickFixCmdPre Before a quickfix command is run (|:make|, - |:lmake|, |:grep|, |:lgrep|, |:grepadd|, - |:lgrepadd|, |:vimgrep|, |:lvimgrep|, -! |:vimgrepadd|, |:lvimgrepadd|). The pattern is -! matched against the command being run. When -! |:grep| is used but 'grepprg' is set to -! "internal" it still matches "grep". - This command cannot be used to set the - 'makeprg' and 'grepprg' variables. - If this command causes an error, the quickfix ---- 678,687 ---- - QuickFixCmdPre Before a quickfix command is run (|:make|, - |:lmake|, |:grep|, |:lgrep|, |:grepadd|, - |:lgrepadd|, |:vimgrep|, |:lvimgrep|, -! |:vimgrepadd|, |:lvimgrepadd|, |:cscope|). -! The pattern is matched against the command -! being run. When |:grep| is used but 'grepprg' -! is set to "internal" it still matches "grep". - This command cannot be used to set the - 'makeprg' and 'grepprg' variables. - If this command causes an error, the quickfix -*** ../vim-7.2.432/src/if_cscope.c 2010-02-24 14:46:58.000000000 +0100 ---- src/if_cscope.c 2010-05-14 23:10:39.000000000 +0200 -*************** -*** 1113,1118 **** ---- 1113,1182 ---- - #ifdef FEAT_QUICKFIX - char cmdletter; - char *qfpos; -+ -+ /* get cmd letter */ -+ switch (opt[0]) -+ { -+ case '0' : -+ cmdletter = 's'; -+ break; -+ case '1' : -+ cmdletter = 'g'; -+ break; -+ case '2' : -+ cmdletter = 'd'; -+ break; -+ case '3' : -+ cmdletter = 'c'; -+ break; -+ case '4' : -+ cmdletter = 't'; -+ break; -+ case '6' : -+ cmdletter = 'e'; -+ break; -+ case '7' : -+ cmdletter = 'f'; -+ break; -+ case '8' : -+ cmdletter = 'i'; -+ break; -+ default : -+ cmdletter = opt[0]; -+ } -+ -+ qfpos = (char *)vim_strchr(p_csqf, cmdletter); -+ if (qfpos != NULL) -+ { -+ qfpos++; -+ /* next symbol must be + or - */ -+ if (strchr(CSQF_FLAGS, *qfpos) == NULL) -+ { -+ char *nf = _("E469: invalid cscopequickfix flag %c for %c"); -+ char *buf = (char *)alloc((unsigned)strlen(nf)); -+ -+ /* strlen will be enough because we use chars */ -+ if (buf != NULL) -+ { -+ sprintf(buf, nf, *qfpos, *(qfpos-1)); -+ (void)EMSG(buf); -+ vim_free(buf); -+ } -+ return FALSE; -+ } -+ -+ # ifdef FEAT_AUTOCMD -+ if (*qfpos != '0') -+ { -+ apply_autocmds(EVENT_QUICKFIXCMDPRE, (char_u *)"cscope", -+ curbuf->b_fname, TRUE, curbuf); -+ # ifdef FEAT_EVAL -+ if (did_throw || force_abort) -+ return FALSE; -+ # endif -+ } -+ # endif -+ } - #endif - - /* create the actual command to send to cscope */ -*************** -*** 1174,1231 **** - } - - #ifdef FEAT_QUICKFIX -- /* get cmd letter */ -- switch (opt[0]) -- { -- case '0' : -- cmdletter = 's'; -- break; -- case '1' : -- cmdletter = 'g'; -- break; -- case '2' : -- cmdletter = 'd'; -- break; -- case '3' : -- cmdletter = 'c'; -- break; -- case '4' : -- cmdletter = 't'; -- break; -- case '6' : -- cmdletter = 'e'; -- break; -- case '7' : -- cmdletter = 'f'; -- break; -- case '8' : -- cmdletter = 'i'; -- break; -- default : -- cmdletter = opt[0]; -- } -- -- qfpos = (char *)vim_strchr(p_csqf, cmdletter); -- if (qfpos != NULL) -- { -- qfpos++; -- /* next symbol must be + or - */ -- if (strchr(CSQF_FLAGS, *qfpos) == NULL) -- { -- char *nf = _("E469: invalid cscopequickfix flag %c for %c"); -- char *buf = (char *)alloc((unsigned)strlen(nf)); -- -- /* strlen will be enough because we use chars */ -- if (buf != NULL) -- { -- sprintf(buf, nf, *qfpos, *(qfpos-1)); -- (void)EMSG(buf); -- vim_free(buf); -- } -- vim_free(nummatches); -- return FALSE; -- } -- } - if (qfpos != NULL && *qfpos != '0' && totmatches > 0) - { - /* fill error list */ ---- 1238,1243 ---- -*************** -*** 1258,1263 **** ---- 1270,1280 ---- - postponed_split = 0; - } - # endif -+ -+ # ifdef FEAT_AUTOCMD -+ apply_autocmds(EVENT_QUICKFIXCMDPOST, (char_u *)"cscope", -+ curbuf->b_fname, TRUE, curbuf); -+ # endif - if (use_ll) - /* - * In the location list window, use the displayed location -*** ../vim-7.2.432/src/version.c 2010-05-14 22:24:31.000000000 +0200 ---- src/version.c 2010-05-14 23:13:27.000000000 +0200 -*************** -*** 683,684 **** ---- 683,686 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 433, - /**/ - --- -The 50-50-90 rule: Anytime you have a 50-50 chance of getting -something right, there's a 90% probability you'll get it wrong. - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ -\\\ download, build and distribute -- http://www.A-A-P.org /// - \\\ help me help AIDS victims -- http://ICCF-Holland.org /// -To: vim-dev@vim.org -Subject: Patch 7.2.434 -Fcc: outbox -From: Bram Moolenaar <Bram@moolenaar.net> -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.434 (after 7.2.432) -Problem: Compilation fails without the multi-lang feature. -Solution: Add #ifdefs. (Johm Marriott) -Files: src/menu.c - - -*** ../vim-7.2.433/src/menu.c 2010-05-14 22:24:31.000000000 +0200 ---- src/menu.c 2010-05-16 12:28:21.000000000 +0200 -*************** -*** 1340,1346 **** ---- 1340,1348 ---- - if (idx == 0) /* first call: start at first item */ - { - menu = expand_menu; -+ #ifdef FEAT_MULTI_LANG - should_advance = FALSE; -+ #endif - } - - /* Skip PopUp[nvoci]. */ -*************** -*** 1401,1407 **** ---- 1403,1411 ---- - if (idx == 0) /* first call: start at first item */ - { - menu = expand_menu; -+ #ifdef FEAT_MULTI_LANG - should_advance = FALSE; -+ #endif - } - - /* Skip Browse-style entries, popup menus and separators. */ -*************** -*** 1506,1515 **** ---- 1510,1521 ---- - char_u *name; - vimmenu_T *menu; - { -+ #ifdef FEAT_MULTI_LANG - if (menu->en_name != NULL - && (menu_namecmp(name,menu->en_name) - || menu_namecmp(name,menu->en_dname))) - return TRUE; -+ #endif - return menu_namecmp(name, menu->name) || menu_namecmp(name, menu->dname); - } - -*** ../vim-7.2.433/src/version.c 2010-05-14 23:14:37.000000000 +0200 ---- src/version.c 2010-05-16 12:29:40.000000000 +0200 -*************** -*** 683,684 **** ---- 683,686 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 434, - /**/ - --- -hundred-and-one symptoms of being an internet addict: -43. You tell the kids they can't use the computer because "Daddy's got work to - do" and you don't even have a job. - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ -\\\ download, build and distribute -- http://www.A-A-P.org /// - \\\ help me help AIDS victims -- http://ICCF-Holland.org /// -To: vim-dev@vim.org -Subject: Patch 7.2.435 -Fcc: outbox -From: Bram Moolenaar <Bram@moolenaar.net> -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.435 (after 7.2.430) -Problem: Crash when using bad_char_idx uninitialized. (Patrick Texier) -Solution: Don't use bad_char_idx, reproduce the ++bad argument from bad_char. -Files: src/eval.c, src/ex_cmds.h, src/ex_docmd.c - - -*** ../vim-7.2.434/src/eval.c 2010-05-14 20:41:00.000000000 +0200 ---- src/eval.c 2010-05-16 13:19:04.000000000 +0200 -*************** -*** 18309,18316 **** - # ifdef FEAT_MBYTE - if (eap->force_enc != 0) - len += (unsigned)STRLEN(eap->cmd + eap->force_enc) + 7; -! if (eap->bad_char_idx != 0) -! len += (unsigned)STRLEN(eap->cmd + eap->bad_char_idx) + 7; - # endif - - newval = alloc(len + 1); ---- 18309,18316 ---- - # ifdef FEAT_MBYTE - if (eap->force_enc != 0) - len += (unsigned)STRLEN(eap->cmd + eap->force_enc) + 7; -! if (eap->bad_char != 0) -! len += 7 + 4; /* " ++bad=" + "keep" or "drop" */ - # endif - - newval = alloc(len + 1); -*************** -*** 18334,18342 **** - if (eap->force_enc != 0) - sprintf((char *)newval + STRLEN(newval), " ++enc=%s", - eap->cmd + eap->force_enc); -! if (eap->bad_char_idx != 0) -! sprintf((char *)newval + STRLEN(newval), " ++bad=%s", -! eap->cmd + eap->bad_char_idx); - # endif - vimvars[VV_CMDARG].vv_str = newval; - return oldval; ---- 18334,18345 ---- - if (eap->force_enc != 0) - sprintf((char *)newval + STRLEN(newval), " ++enc=%s", - eap->cmd + eap->force_enc); -! if (eap->bad_char == BAD_KEEP) -! STRCPY(newval + STRLEN(newval), " ++bad=keep"); -! else if (eap->bad_char == BAD_DROP) -! STRCPY(newval + STRLEN(newval), " ++bad=drop"); -! else if (eap->bad_char != 0) -! sprintf((char *)newval + STRLEN(newval), " ++bad=%c", eap->bad_char); - # endif - vimvars[VV_CMDARG].vv_str = newval; - return oldval; -*** ../vim-7.2.434/src/ex_cmds.h 2010-05-14 20:41:00.000000000 +0200 ---- src/ex_cmds.h 2010-05-16 13:03:53.000000000 +0200 -*************** -*** 1152,1159 **** - int force_ff; /* ++ff= argument (index in cmd[]) */ - #ifdef FEAT_MBYTE - int force_enc; /* ++enc= argument (index in cmd[]) */ -! int bad_char_idx; /* ++bad= argument (index in cmd[]) */ -! int bad_char; /* BAD_KEEP, BAD_DROP or replacement char */ - #endif - #ifdef FEAT_USR_CMDS - int useridx; /* user command index */ ---- 1152,1158 ---- - int force_ff; /* ++ff= argument (index in cmd[]) */ - #ifdef FEAT_MBYTE - int force_enc; /* ++enc= argument (index in cmd[]) */ -! int bad_char; /* BAD_KEEP, BAD_DROP or replacement byte */ - #endif - #ifdef FEAT_USR_CMDS - int useridx; /* user command index */ -*** ../vim-7.2.434/src/ex_docmd.c 2010-05-14 20:41:00.000000000 +0200 ---- src/ex_docmd.c 2010-05-16 13:13:30.000000000 +0200 -*************** -*** 4688,4693 **** ---- 4688,4694 ---- - char_u *arg = eap->arg + 2; - int *pp = NULL; - #ifdef FEAT_MBYTE -+ int bad_char_idx; - char_u *p; - #endif - -*************** -*** 4739,4745 **** - else if (STRNCMP(arg, "bad", 3) == 0) - { - arg += 3; -! pp = &eap->bad_char_idx; - } - #endif - ---- 4740,4746 ---- - else if (STRNCMP(arg, "bad", 3) == 0) - { - arg += 3; -! pp = &bad_char_idx; - } - #endif - -*************** -*** 4770,4776 **** - { - /* Check ++bad= argument. Must be a single-byte character, "keep" or - * "drop". */ -! p = eap->cmd + eap->bad_char_idx; - if (STRICMP(p, "keep") == 0) - eap->bad_char = BAD_KEEP; - else if (STRICMP(p, "drop") == 0) ---- 4771,4777 ---- - { - /* Check ++bad= argument. Must be a single-byte character, "keep" or - * "drop". */ -! p = eap->cmd + bad_char_idx; - if (STRICMP(p, "keep") == 0) - eap->bad_char = BAD_KEEP; - else if (STRICMP(p, "drop") == 0) -*** ../vim-7.2.434/src/version.c 2010-05-16 12:32:37.000000000 +0200 ---- src/version.c 2010-05-16 13:24:39.000000000 +0200 -*************** -*** 683,684 **** ---- 683,686 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 435, - /**/ - --- -hundred-and-one symptoms of being an internet addict: -45. You buy a Captain Kirk chair with a built-in keyboard and mouse. - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ -\\\ download, build and distribute -- http://www.A-A-P.org /// - \\\ help me help AIDS victims -- http://ICCF-Holland.org /// -To: vim-dev@vim.org -Subject: Patch 7.2.436 -Fcc: outbox -From: Bram Moolenaar <Bram@moolenaar.net> -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.436 -Problem: Reproducible crash in syntax HL. (George Reilly, Dominique Pelle) -Solution: Make sst_stacksize an int instead of short. (Dominique Pelle) -Files: src/structs.h - - -*** ../vim-7.2.435/src/structs.h 2010-05-14 22:24:31.000000000 +0200 ---- src/structs.h 2010-05-16 13:48:26.000000000 +0200 -*************** -*** 327,333 **** - typedef struct m_info minfo_T; - - /* -! * stucture used to link chunks in one of the free chunk lists. - */ - struct m_info - { ---- 327,333 ---- - typedef struct m_info minfo_T; - - /* -! * structure used to link chunks in one of the free chunk lists. - */ - struct m_info - { -*************** -*** 795,803 **** - garray_T sst_ga; /* growarray for long state stack */ - } sst_union; - int sst_next_flags; /* flags for sst_next_list */ - short *sst_next_list; /* "nextgroup" list in this state - * (this is a copy, don't free it! */ -- short sst_stacksize; /* number of states on the stack */ - disptick_T sst_tick; /* tick when last displayed */ - linenr_T sst_change_lnum;/* when non-zero, change in this line - * may have made the state invalid */ ---- 795,803 ---- - garray_T sst_ga; /* growarray for long state stack */ - } sst_union; - int sst_next_flags; /* flags for sst_next_list */ -+ int sst_stacksize; /* number of states on the stack */ - short *sst_next_list; /* "nextgroup" list in this state - * (this is a copy, don't free it! */ - disptick_T sst_tick; /* tick when last displayed */ - linenr_T sst_change_lnum;/* when non-zero, change in this line - * may have made the state invalid */ -*************** -*** 2138,2144 **** - #define SHAPE_IDX_CI 5 /* Command line Insert mode */ - #define SHAPE_IDX_CR 6 /* Command line Replace mode */ - #define SHAPE_IDX_O 7 /* Operator-pending mode */ -! #define SHAPE_IDX_VE 8 /* Visual mode with 'seleciton' exclusive */ - #define SHAPE_IDX_CLINE 9 /* On command line */ - #define SHAPE_IDX_STATUS 10 /* A status line */ - #define SHAPE_IDX_SDRAG 11 /* dragging a status line */ ---- 2138,2144 ---- - #define SHAPE_IDX_CI 5 /* Command line Insert mode */ - #define SHAPE_IDX_CR 6 /* Command line Replace mode */ - #define SHAPE_IDX_O 7 /* Operator-pending mode */ -! #define SHAPE_IDX_VE 8 /* Visual mode with 'selection' exclusive */ - #define SHAPE_IDX_CLINE 9 /* On command line */ - #define SHAPE_IDX_STATUS 10 /* A status line */ - #define SHAPE_IDX_SDRAG 11 /* dragging a status line */ -*************** -*** 2267,2273 **** - /* short index; */ /* the item index within the father menu */ - short menu_id; /* the menu id to which this item belong */ - short submenu_id; /* the menu id of the children (could be -! get throught some tricks) */ - MenuHandle menu_handle; - MenuHandle submenu_handle; - #endif ---- 2267,2273 ---- - /* short index; */ /* the item index within the father menu */ - short menu_id; /* the menu id to which this item belong */ - short submenu_id; /* the menu id of the children (could be -! get through some tricks) */ - MenuHandle menu_handle; - MenuHandle submenu_handle; - #endif -*** ../vim-7.2.435/src/version.c 2010-05-16 13:26:19.000000000 +0200 ---- src/version.c 2010-05-16 13:54:30.000000000 +0200 -*************** -*** 683,684 **** ---- 683,686 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 436, - /**/ - --- -hundred-and-one symptoms of being an internet addict: -47. You are so familiar with the WWW that you find the search engines useless. - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ -\\\ download, build and distribute -- http://www.A-A-P.org /// - \\\ help me help AIDS victims -- http://ICCF-Holland.org /// -To: vim-dev@vim.org -Subject: Patch 7.2.437 -Fcc: outbox -From: Bram Moolenaar <Bram@moolenaar.net> -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.437 (after 7.2.407) -Problem: When "\\\n" appears in the expression result the \n doesn't result - in a line break. (Andy Wokula) -Solution: Also replace a \n after a backslash into \r. -Files: src/regexp.c - - -*** ../vim-7.2.436/src/regexp.c 2010-03-23 16:27:15.000000000 +0100 ---- src/regexp.c 2010-05-21 13:06:00.000000000 +0200 -*************** -*** 6974,6979 **** ---- 6974,6986 ---- - else if (*s == '\\' && s[1] != NUL) - { - ++s; -+ /* Change NL to CR here too, so that this works: -+ * :s/abc\\\ndef/\="aaa\\\nbbb"/ on text: -+ * abc\ -+ * def -+ */ -+ if (*s == NL) -+ *s = CAR; - had_backslash = TRUE; - } - } -*** ../vim-7.2.436/src/version.c 2010-05-16 13:56:01.000000000 +0200 ---- src/version.c 2010-05-21 13:07:50.000000000 +0200 -*************** -*** 683,684 **** ---- 683,686 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 437, - /**/ - --- -hundred-and-one symptoms of being an internet addict: -89. In addition to your e-mail address being on your business - cards you even have your own domain. - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ -\\\ download, build and distribute -- http://www.A-A-P.org /// - \\\ help me help AIDS victims -- http://ICCF-Holland.org /// -To: vim-dev@vim.org -Subject: Patch 7.2.438 -Fcc: outbox -From: Bram Moolenaar <Bram@moolenaar.net> -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.438 (after 7.2.427) -Problem: "vim -r" crashes. -Solution: Don't use NULL pointer argument. -Files: src/memline.c - - -*** ../vim-7.2.437/src/memline.c 2010-05-14 17:52:35.000000000 +0200 ---- src/memline.c 2010-05-25 21:36:01.000000000 +0200 -*************** -*** 1404,1418 **** - int i; - char_u *dirp; - char_u *dir_name; -! char_u *fname_res = *fname; - #ifdef HAVE_READLINK - char_u fname_buf[MAXPATHL]; - - /* Expand symlink in the file name, because the swap file is created with - * the actual file instead of with the symlink. */ - if (resolve_symlink(*fname, fname_buf) == OK) - fname_res = fname_buf; - #endif - - if (list) - { ---- 1404,1425 ---- - int i; - char_u *dirp; - char_u *dir_name; -! char_u *fname_res = NULL; - #ifdef HAVE_READLINK - char_u fname_buf[MAXPATHL]; -+ #endif - -+ if (fname != NULL) -+ { -+ #ifdef HAVE_READLINK - /* Expand symlink in the file name, because the swap file is created with - * the actual file instead of with the symlink. */ - if (resolve_symlink(*fname, fname_buf) == OK) - fname_res = fname_buf; -+ else - #endif -+ fname_res = *fname; -+ } - - if (list) - { -*** ../vim-7.2.437/src/version.c 2010-05-21 13:08:51.000000000 +0200 ---- src/version.c 2010-05-25 21:30:12.000000000 +0200 -*************** -*** 683,684 **** ---- 683,686 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 438, - /**/ - --- -A fool learns from his mistakes, a wise man from someone else's. - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ -\\\ download, build and distribute -- http://www.A-A-P.org /// - \\\ help me help AIDS victims -- http://ICCF-Holland.org /// -To: vim-dev@vim.org -Subject: Patch 7.2.439 -Fcc: outbox -From: Bram Moolenaar <Bram@moolenaar.net> -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.439 -Problem: Invalid memory access when doing thesaurus completion and - 'infercase' is set. -Solution: Use the minimal length of completed word and replacement. - (Dominique Pelle) -Files: src/edit.c - - -*** ../vim-7.2.438/src/edit.c 2010-03-10 14:15:28.000000000 +0100 ---- src/edit.c 2010-05-28 21:20:29.000000000 +0200 -*************** -*** 2164,2169 **** ---- 2164,2170 ---- - int i, c; - int actual_len; /* Take multi-byte characters */ - int actual_compl_length; /* into account. */ -+ int min_len; - int *wca; /* Wide character array. */ - int has_lower = FALSE; - int was_letter = FALSE; -*************** -*** 2204,2209 **** ---- 2205,2215 ---- - #endif - actual_compl_length = compl_length; - -+ /* "actual_len" may be smaller than "actual_compl_length" when using -+ * thesaurus, only use the minimum when comparing. */ -+ min_len = actual_len < actual_compl_length -+ ? actual_len : actual_compl_length; -+ - /* Allocate wide character array for the completion and fill it. */ - wca = (int *)alloc((unsigned)(actual_len * sizeof(int))); - if (wca != NULL) -*************** -*** 2219,2225 **** - - /* Rule 1: Were any chars converted to lower? */ - p = compl_orig_text; -! for (i = 0; i < actual_compl_length; ++i) - { - #ifdef FEAT_MBYTE - if (has_mbyte) ---- 2225,2231 ---- - - /* Rule 1: Were any chars converted to lower? */ - p = compl_orig_text; -! for (i = 0; i < min_len; ++i) - { - #ifdef FEAT_MBYTE - if (has_mbyte) -*************** -*** 2247,2253 **** - if (!has_lower) - { - p = compl_orig_text; -! for (i = 0; i < actual_compl_length; ++i) - { - #ifdef FEAT_MBYTE - if (has_mbyte) ---- 2253,2259 ---- - if (!has_lower) - { - p = compl_orig_text; -! for (i = 0; i < min_len; ++i) - { - #ifdef FEAT_MBYTE - if (has_mbyte) -*************** -*** 2268,2274 **** - - /* Copy the original case of the part we typed. */ - p = compl_orig_text; -! for (i = 0; i < actual_compl_length; ++i) - { - #ifdef FEAT_MBYTE - if (has_mbyte) ---- 2274,2280 ---- - - /* Copy the original case of the part we typed. */ - p = compl_orig_text; -! for (i = 0; i < min_len; ++i) - { - #ifdef FEAT_MBYTE - if (has_mbyte) -*** ../vim-7.2.438/src/version.c 2010-05-25 21:37:12.000000000 +0200 ---- src/version.c 2010-05-28 21:30:53.000000000 +0200 -*************** -*** 683,684 **** ---- 683,686 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 439, - /**/ - --- -Corduroy pillows: They're making headlines! - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ -\\\ download, build and distribute -- http://www.A-A-P.org /// - \\\ help me help AIDS victims -- http://ICCF-Holland.org /// -To: vim-dev@vim.org -Subject: Patch 7.2.440 -Fcc: outbox -From: Bram Moolenaar <Bram@moolenaar.net> -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.440 -Problem: Calling a function through a funcref, where the function deletes - the funcref, leads to an invalid memory access. -Solution: Make a copy of the function name. (Lech Lorens) -Files: src/eval.c, src/testdir/test34.in, src/testdir/test34.ok - - -*** ../vim-7.2.439/src/eval.c 2010-05-16 13:26:19.000000000 +0200 ---- src/eval.c 2010-05-28 22:01:07.000000000 +0200 -*************** -*** 464,470 **** - static int find_internal_func __ARGS((char_u *name)); - static char_u *deref_func_name __ARGS((char_u *name, int *lenp)); - static int get_func_tv __ARGS((char_u *name, int len, typval_T *rettv, char_u **arg, linenr_T firstline, linenr_T lastline, int *doesrange, int evaluate, dict_T *selfdict)); -! static int call_func __ARGS((char_u *name, int len, typval_T *rettv, int argcount, typval_T *argvars, linenr_T firstline, linenr_T lastline, int *doesrange, int evaluate, dict_T *selfdict)); - static void emsg_funcname __ARGS((char *ermsg, char_u *name)); - static int non_zero_arg __ARGS((typval_T *argvars)); - ---- 464,470 ---- - static int find_internal_func __ARGS((char_u *name)); - static char_u *deref_func_name __ARGS((char_u *name, int *lenp)); - static int get_func_tv __ARGS((char_u *name, int len, typval_T *rettv, char_u **arg, linenr_T firstline, linenr_T lastline, int *doesrange, int evaluate, dict_T *selfdict)); -! static int call_func __ARGS((char_u *func_name, int len, typval_T *rettv, int argcount, typval_T *argvars, linenr_T firstline, linenr_T lastline, int *doesrange, int evaluate, dict_T *selfdict)); - static void emsg_funcname __ARGS((char *ermsg, char_u *name)); - static int non_zero_arg __ARGS((typval_T *argvars)); - -*************** -*** 7997,8005 **** - * Also returns OK when an error was encountered while executing the function. - */ - static int -! call_func(name, len, rettv, argcount, argvars, firstline, lastline, - doesrange, evaluate, selfdict) -! char_u *name; /* name of the function */ - int len; /* length of "name" */ - typval_T *rettv; /* return value goes here */ - int argcount; /* number of "argvars" */ ---- 7997,8005 ---- - * Also returns OK when an error was encountered while executing the function. - */ - static int -! call_func(func_name, len, rettv, argcount, argvars, firstline, lastline, - doesrange, evaluate, selfdict) -! char_u *func_name; /* name of the function */ - int len; /* length of "name" */ - typval_T *rettv; /* return value goes here */ - int argcount; /* number of "argvars" */ -*************** -*** 8023,8040 **** - int i; - int llen; - ufunc_T *fp; -- int cc; - #define FLEN_FIXED 40 - char_u fname_buf[FLEN_FIXED + 1]; - char_u *fname; - - /* - * In a script change <SID>name() and s:name() to K_SNR 123_name(). - * Change <SNR>123_name() to K_SNR 123_name(). - * Use fname_buf[] when it fits, otherwise allocate memory (slow). - */ -- cc = name[len]; -- name[len] = NUL; - llen = eval_fname_script(name); - if (llen > 0) - { ---- 8023,8044 ---- - int i; - int llen; - ufunc_T *fp; - #define FLEN_FIXED 40 - char_u fname_buf[FLEN_FIXED + 1]; - char_u *fname; -+ char_u *name; -+ -+ /* Make a copy of the name, if it comes from a funcref variable it could -+ * be changed or deleted in the called function. */ -+ name = vim_strnsave(func_name, len); -+ if (name == NULL) -+ return ret; - - /* - * In a script change <SID>name() and s:name() to K_SNR 123_name(). - * Change <SNR>123_name() to K_SNR 123_name(). - * Use fname_buf[] when it fits, otherwise allocate memory (slow). - */ - llen = eval_fname_script(name); - if (llen > 0) - { -*************** -*** 8205,8213 **** - } - } - -- name[len] = cc; - if (fname != name && fname != fname_buf) - vim_free(fname); - - return ret; - } ---- 8209,8217 ---- - } - } - - if (fname != name && fname != fname_buf) - vim_free(fname); -+ vim_free(name); - - return ret; - } -*** ../vim-7.2.439/src/testdir/test34.in 2007-09-25 17:59:15.000000000 +0200 ---- src/testdir/test34.in 2010-05-28 21:54:36.000000000 +0200 -*************** -*** 35,40 **** ---- 35,45 ---- - : let g:counter = 0 - : return '' - :endfunc -+ :func FuncWithRef(a) -+ : unlet g:FuncRef -+ : return a:a -+ :endfunc -+ :let g:FuncRef=function("FuncWithRef") - :let counter = 0 - :inoremap <expr> ( ListItem() - :inoremap <expr> [ ListReset() -*************** -*** 47,52 **** ---- 52,58 ---- - =retval - =Compute(45, 5, "retval") - =retval -+ =g:FuncRef(333) - - XX+-XX - ---*--- -*** ../vim-7.2.439/src/testdir/test34.ok 2006-04-30 20:49:40.000000000 +0200 ---- src/testdir/test34.ok 2010-05-28 21:56:03.000000000 +0200 -*************** -*** 1,4 **** -! xxx4asdf fail nop ok 9 - XX111XX - ---222--- - 1. one ---- 1,4 ---- -! xxx4asdf fail nop ok 9 333 - XX111XX - ---222--- - 1. one -*** ../vim-7.2.439/src/version.c 2010-05-28 21:31:51.000000000 +0200 ---- src/version.c 2010-05-28 22:03:30.000000000 +0200 -*************** -*** 683,684 **** ---- 683,686 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 440, - /**/ - --- -Nobody will ever need more than 640 kB RAM. - -- Bill Gates, 1983 -Windows 98 requires 16 MB RAM. - -- Bill Gates, 1999 -Logical conclusion: Nobody will ever need Windows 98. - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ -\\\ download, build and distribute -- http://www.A-A-P.org /// - \\\ help me help AIDS victims -- http://ICCF-Holland.org /// -To: vim-dev@vim.org -Subject: Patch 7.2.441 -Fcc: outbox -From: Bram Moolenaar <Bram@moolenaar.net> -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.441 -Problem: When using ":earlier" undo information may be wrong. -Solution: When changing alternate branches also adjust b_u_oldhead. -Files: src/undo.c - - -*** ../vim-7.2.440/src/undo.c 2008-02-13 15:21:29.000000000 +0100 ---- src/undo.c 2010-05-30 16:52:47.000000000 +0200 -*************** -*** 242,248 **** - } - - /* -! * save the line "lnum" (used by ":s" and "~" command) - * The line is replaced, so the new bottom line is lnum + 1. - */ - int ---- 242,248 ---- - } - - /* -! * Save the line "lnum" (used by ":s" and "~" command). - * The line is replaced, so the new bottom line is lnum + 1. - */ - int -*************** -*** 256,262 **** - } - - /* -! * a new line is inserted before line "lnum" (used by :s command) - * The line is inserted, so the new bottom line is lnum + 1. - */ - int ---- 256,262 ---- - } - - /* -! * A new line is inserted before line "lnum" (used by :s command). - * The line is inserted, so the new bottom line is lnum + 1. - */ - int -*************** -*** 270,276 **** - } - - /* -! * save the lines "lnum" - "lnum" + nlines (used by delete command) - * The lines are deleted, so the new bottom line is lnum, unless the buffer - * becomes empty. - */ ---- 270,276 ---- - } - - /* -! * Save the lines "lnum" - "lnum" + nlines (used by delete command). - * The lines are deleted, so the new bottom line is lnum, unless the buffer - * becomes empty. - */ -*************** -*** 996,1001 **** ---- 996,1003 ---- - last->uh_alt_next = uhp; - uhp->uh_alt_prev = last; - -+ if (curbuf->b_u_oldhead == uhp) -+ curbuf->b_u_oldhead = last; - uhp = last; - if (uhp->uh_next != NULL) - uhp->uh_next->uh_prev = uhp; -*************** -*** 1406,1415 **** - /* - * ":undolist": List the leafs of the undo tree - */ -- /*ARGSUSED*/ - void - ex_undolist(eap) -! exarg_T *eap; - { - garray_T ga; - u_header_T *uhp; ---- 1408,1416 ---- - /* - * ":undolist": List the leafs of the undo tree - */ - void - ex_undolist(eap) -! exarg_T *eap UNUSED; - { - garray_T ga; - u_header_T *uhp; -*************** -*** 1529,1538 **** - /* - * ":undojoin": continue adding to the last entry list - */ -- /*ARGSUSED*/ - void - ex_undojoin(eap) -! exarg_T *eap; - { - if (curbuf->b_u_newhead == NULL) - return; /* nothing changed before */ ---- 1530,1538 ---- - /* - * ":undojoin": continue adding to the last entry list - */ - void - ex_undojoin(eap) -! exarg_T *eap UNUSED; - { - if (curbuf->b_u_newhead == NULL) - return; /* nothing changed before */ -*** ../vim-7.2.440/src/version.c 2010-05-28 22:06:41.000000000 +0200 ---- src/version.c 2010-05-30 16:53:56.000000000 +0200 -*************** -*** 683,684 **** ---- 683,686 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 441, - /**/ - --- -hundred-and-one symptoms of being an internet addict: -127. You bring your laptop and cellular phone to church. - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ -\\\ download, build and distribute -- http://www.A-A-P.org /// - \\\ help me help AIDS victims -- http://ICCF-Holland.org /// -To: vim-dev@vim.org -Subject: Patch 7.2.442 -Fcc: outbox -From: Bram Moolenaar <Bram@moolenaar.net> -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.442 (after 7.2.201) -Problem: Copy/paste with OpenOffice doesn't work. -Solution: Do not offer the HTML target when it is not supported. (James - Vega) -Files: src/gui_gtk_x11.c, src/option.c, src/proto/gui_gtk_x11.pro - - -*** ../vim-7.2.441/src/gui_gtk_x11.c 2010-02-11 18:19:32.000000000 +0100 ---- src/gui_gtk_x11.c 2010-06-05 12:42:23.000000000 +0200 -*************** -*** 1433,1438 **** ---- 1433,1442 ---- - } - #endif /* !HAVE_GTK2 */ - -+ /* Chop off any traiing NUL bytes. OpenOffice sends these. */ -+ while (len > 0 && text[len - 1] == NUL) -+ --len; -+ - clip_yank_selection(motion_type, text, (long)len, cbd); - received_selection = RS_OK; - vim_free(tmpbuf); -*************** -*** 3463,3468 **** ---- 3467,3532 ---- - #endif /* FEAT_GUI_TABLINE */ - - /* -+ * Add selection targets for PRIMARY and CLIPBOARD selections. -+ */ -+ void -+ gui_gtk_set_selection_targets(void) -+ { -+ int i, j = 0; -+ int n_targets = N_SELECTION_TARGETS; -+ GtkTargetEntry targets[N_SELECTION_TARGETS]; -+ -+ for (i = 0; i < (int)N_SELECTION_TARGETS; ++i) -+ { -+ #ifdef FEAT_MBYTE -+ /* OpenOffice tries to use TARGET_HTML and fails when it doesn't -+ * return something, instead of trying another target. Therefore only -+ * offer TARGET_HTML when it works. */ -+ if (!clip_html && selection_targets[i].info == TARGET_HTML) -+ n_targets--; -+ else -+ #endif -+ targets[j++] = selection_targets[i]; -+ } -+ -+ gtk_selection_clear_targets(gui.drawarea, (GdkAtom)GDK_SELECTION_PRIMARY); -+ gtk_selection_clear_targets(gui.drawarea, (GdkAtom)clip_plus.gtk_sel_atom); -+ gtk_selection_add_targets(gui.drawarea, -+ (GdkAtom)GDK_SELECTION_PRIMARY, -+ targets, n_targets); -+ gtk_selection_add_targets(gui.drawarea, -+ (GdkAtom)clip_plus.gtk_sel_atom, -+ targets, n_targets); -+ } -+ -+ /* -+ * Set up for receiving DND items. -+ */ -+ void -+ gui_gtk_set_dnd_targets(void) -+ { -+ int i, j = 0; -+ int n_targets = N_DND_TARGETS; -+ GtkTargetEntry targets[N_DND_TARGETS]; -+ -+ for (i = 0; i < (int)N_DND_TARGETS; ++i) -+ { -+ #ifdef FEAT_MBYTE -+ if (!clip_html && selection_targets[i].info == TARGET_HTML) -+ n_targets--; -+ else -+ #endif -+ targets[j++] = dnd_targets[i]; -+ } -+ -+ gtk_drag_dest_unset(gui.drawarea); -+ gtk_drag_dest_set(gui.drawarea, -+ GTK_DEST_DEFAULT_ALL, -+ targets, n_targets, -+ GDK_ACTION_COPY); -+ } -+ -+ /* - * Initialize the GUI. Create all the windows, set up all the callbacks etc. - * Returns OK for success, FAIL when the GUI can't be started. - */ -*************** -*** 3925,3939 **** - gtk_signal_connect(GTK_OBJECT(gui.drawarea), "selection_received", - GTK_SIGNAL_FUNC(selection_received_cb), NULL); - -! /* -! * Add selection targets for PRIMARY and CLIPBOARD selections. -! */ -! gtk_selection_add_targets(gui.drawarea, -! (GdkAtom)GDK_SELECTION_PRIMARY, -! selection_targets, N_SELECTION_TARGETS); -! gtk_selection_add_targets(gui.drawarea, -! (GdkAtom)clip_plus.gtk_sel_atom, -! selection_targets, N_SELECTION_TARGETS); - - gtk_signal_connect(GTK_OBJECT(gui.drawarea), "selection_get", - GTK_SIGNAL_FUNC(selection_get_cb), NULL); ---- 3989,3995 ---- - gtk_signal_connect(GTK_OBJECT(gui.drawarea), "selection_received", - GTK_SIGNAL_FUNC(selection_received_cb), NULL); - -! gui_gtk_set_selection_targets(); - - gtk_signal_connect(GTK_OBJECT(gui.drawarea), "selection_get", - GTK_SIGNAL_FUNC(selection_get_cb), NULL); -*************** -*** 4057,4063 **** - return TRUE; - } - -- - /* - * Open the GUI window which was created by a call to gui_mch_init(). - */ ---- 4113,4118 ---- -*************** -*** 4225,4237 **** - GTK_SIGNAL_FUNC(form_configure_event), NULL); - - #ifdef FEAT_DND -! /* -! * Set up for receiving DND items. -! */ -! gtk_drag_dest_set(gui.drawarea, -! GTK_DEST_DEFAULT_ALL, -! dnd_targets, N_DND_TARGETS, -! GDK_ACTION_COPY); - - gtk_signal_connect(GTK_OBJECT(gui.drawarea), "drag_data_received", - GTK_SIGNAL_FUNC(drag_data_received_cb), NULL); ---- 4280,4287 ---- - GTK_SIGNAL_FUNC(form_configure_event), NULL); - - #ifdef FEAT_DND -! /* Set up for receiving DND items. */ -! gui_gtk_set_dnd_targets(); - - gtk_signal_connect(GTK_OBJECT(gui.drawarea), "drag_data_received", - GTK_SIGNAL_FUNC(drag_data_received_cb), NULL); -*************** -*** 4428,4434 **** - /* this will cause the proper resizement to happen too */ - update_window_manager_hints(0, 0); - -! #else /* HAVE_GTK2 */ - /* this will cause the proper resizement to happen too */ - if (gtk_socket_id == 0) - update_window_manager_hints(0, 0); ---- 4478,4484 ---- - /* this will cause the proper resizement to happen too */ - update_window_manager_hints(0, 0); - -! #else - /* this will cause the proper resizement to happen too */ - if (gtk_socket_id == 0) - update_window_manager_hints(0, 0); -*************** -*** 4444,4457 **** - else - update_window_manager_hints(width, height); - -! #if 0 - if (!resize_idle_installed) - { - g_idle_add_full(GDK_PRIORITY_EVENTS + 10, - &force_shell_resize_idle, NULL, NULL); - resize_idle_installed = TRUE; - } -! #endif - /* - * Wait until all events are processed to prevent a crash because the - * real size of the drawing area doesn't reflect Vim's internal ideas. ---- 4494,4507 ---- - else - update_window_manager_hints(width, height); - -! # if 0 - if (!resize_idle_installed) - { - g_idle_add_full(GDK_PRIORITY_EVENTS + 10, - &force_shell_resize_idle, NULL, NULL); - resize_idle_installed = TRUE; - } -! # endif - /* - * Wait until all events are processed to prevent a crash because the - * real size of the drawing area doesn't reflect Vim's internal ideas. -*** ../vim-7.2.441/src/option.c 2010-05-14 17:32:53.000000000 +0200 ---- src/option.c 2010-06-05 12:19:38.000000000 +0200 -*************** -*** 7112,7117 **** ---- 7112,7124 ---- - clip_html = new_html; - vim_free(clip_exclude_prog); - clip_exclude_prog = new_exclude_prog; -+ #ifdef FEAT_GUI_GTK -+ if (gui.in_use) -+ { -+ gui_gtk_set_selection_targets(); -+ gui_gtk_set_dnd_targets(); -+ } -+ #endif - } - else - vim_free(new_exclude_prog); -*** ../vim-7.2.441/src/proto/gui_gtk_x11.pro 2009-09-23 18:14:13.000000000 +0200 ---- src/proto/gui_gtk_x11.pro 2010-06-05 12:31:22.000000000 +0200 -*************** -*** 9,14 **** ---- 9,16 ---- - int gui_mch_showing_tabline __ARGS((void)); - void gui_mch_update_tabline __ARGS((void)); - void gui_mch_set_curtab __ARGS((int nr)); -+ void gui_gtk_set_selection_targets __ARGS((void)); -+ void gui_gtk_set_dnd_targets __ARGS((void)); - int gui_mch_init __ARGS((void)); - void gui_mch_forked __ARGS((void)); - void gui_mch_new_colors __ARGS((void)); -*** ../vim-7.2.441/src/version.c 2010-05-30 16:55:17.000000000 +0200 ---- src/version.c 2010-06-05 12:48:01.000000000 +0200 -*************** -*** 683,684 **** ---- 683,686 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 442, - /**/ - --- -hundred-and-one symptoms of being an internet addict: -158. You get a tuner card so you can watch TV while surfing. - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ -\\\ download, build and distribute -- http://www.A-A-P.org /// - \\\ help me help AIDS victims -- http://ICCF-Holland.org /// -To: vim-dev@vim.org -Subject: Patch 7.2.443 -Fcc: outbox -From: Bram Moolenaar <Bram@moolenaar.net> -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.443 -Problem: Using taglist() on a tag file with duplicate fields generates an - internal error. (Peter Odding) -Solution: Check for duplicate field names. -Files: src/eval.c, src/proto/eval.pro, src/tag.c - - -*** ../vim-7.2.442/src/eval.c 2010-05-28 22:06:41.000000000 +0200 ---- src/eval.c 2010-06-12 19:59:09.000000000 +0200 -*************** -*** 451,457 **** - static void dictitem_remove __ARGS((dict_T *dict, dictitem_T *item)); - static dict_T *dict_copy __ARGS((dict_T *orig, int deep, int copyID)); - static long dict_len __ARGS((dict_T *d)); -- static dictitem_T *dict_find __ARGS((dict_T *d, char_u *key, int len)); - static char_u *dict2string __ARGS((typval_T *tv, int copyID)); - static int get_dict_tv __ARGS((char_u **arg, typval_T *rettv, int evaluate)); - static char_u *echo_string __ARGS((typval_T *tv, char_u **tofree, char_u *numbuf, int copyID)); ---- 451,456 ---- -*************** -*** 7012,7018 **** - * If "len" is negative use strlen(key). - * Returns NULL when not found. - */ -! static dictitem_T * - dict_find(d, key, len) - dict_T *d; - char_u *key; ---- 7011,7017 ---- - * If "len" is negative use strlen(key). - * Returns NULL when not found. - */ -! dictitem_T * - dict_find(d, key, len) - dict_T *d; - char_u *key; -*** ../vim-7.2.442/src/proto/eval.pro 2010-01-19 15:51:29.000000000 +0100 ---- src/proto/eval.pro 2010-06-12 19:59:13.000000000 +0200 -*************** -*** 56,61 **** ---- 56,62 ---- - void dictitem_free __ARGS((dictitem_T *item)); - int dict_add __ARGS((dict_T *d, dictitem_T *item)); - int dict_add_nr_str __ARGS((dict_T *d, char *key, long nr, char_u *str)); -+ dictitem_T *dict_find __ARGS((dict_T *d, char_u *key, int len)); - char_u *get_dict_string __ARGS((dict_T *d, char_u *key, int save)); - long get_dict_number __ARGS((dict_T *d, char_u *key)); - char_u *get_function_name __ARGS((expand_T *xp, int idx)); -*** ../vim-7.2.442/src/tag.c 2010-02-24 14:46:58.000000000 +0100 ---- src/tag.c 2010-06-12 20:01:45.000000000 +0200 -*************** -*** 3771,3777 **** - static int add_tag_field __ARGS((dict_T *dict, char *field_name, char_u *start, char_u *end)); - - /* -! * Add a tag field to the dictionary "dict" - */ - static int - add_tag_field(dict, field_name, start, end) ---- 3771,3778 ---- - static int add_tag_field __ARGS((dict_T *dict, char *field_name, char_u *start, char_u *end)); - - /* -! * Add a tag field to the dictionary "dict". -! * Return OK or FAIL. - */ - static int - add_tag_field(dict, field_name, start, end) -*************** -*** 3783,3788 **** ---- 3784,3800 ---- - char_u buf[MAXPATHL]; - int len = 0; - -+ /* check that the field name doesn't exist yet */ -+ if (dict_find(dict, (char_u *)field_name, -1) != NULL) -+ { -+ if (p_verbose > 0) -+ { -+ verbose_enter(); -+ smsg((char_u *)_("Duplicate field name: %s"), field_name); -+ verbose_leave(); -+ } -+ return FAIL; -+ } - if (start != NULL) - { - if (end == NULL) -*** ../vim-7.2.442/src/version.c 2010-06-05 12:49:40.000000000 +0200 ---- src/version.c 2010-06-12 20:05:27.000000000 +0200 -*************** -*** 683,684 **** ---- 683,686 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 443, - /**/ - --- -hundred-and-one symptoms of being an internet addict: -191. You rate eating establishments not by the quality of the food, - but by the availability of electrical outlets for your PowerBook. - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ -\\\ download, build and distribute -- http://www.A-A-P.org /// - \\\ help me help AIDS victims -- http://ICCF-Holland.org /// -To: vim-dev@vim.org -Subject: Patch 7.2.444 -Fcc: outbox -From: Bram Moolenaar <Bram@moolenaar.net> -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.444 (after 7.2.442) -Problem: Can't build with GTK 1, gtk_selection_clear_targets() is not - available. (Patrick Texier) -Solution: Don't change the targets for GTK 1, set them once. -Files: src/gui_gtk_x11.c, src/option.c - - -*** ../vim-7.2.443/src/gui_gtk_x11.c 2010-06-05 12:49:40.000000000 +0200 ---- src/gui_gtk_x11.c 2010-06-13 02:26:24.000000000 +0200 -*************** -*** 3478,3484 **** - - for (i = 0; i < (int)N_SELECTION_TARGETS; ++i) - { -! #ifdef FEAT_MBYTE - /* OpenOffice tries to use TARGET_HTML and fails when it doesn't - * return something, instead of trying another target. Therefore only - * offer TARGET_HTML when it works. */ ---- 3478,3484 ---- - - for (i = 0; i < (int)N_SELECTION_TARGETS; ++i) - { -! #if defined(FEAT_MBYTE) && defined(HAVE_GTK2) - /* OpenOffice tries to use TARGET_HTML and fails when it doesn't - * return something, instead of trying another target. Therefore only - * offer TARGET_HTML when it works. */ -*************** -*** 3489,3496 **** ---- 3489,3498 ---- - targets[j++] = selection_targets[i]; - } - -+ #ifdef HAVE_GTK2 /* GTK 1 doesn't have this function */ - gtk_selection_clear_targets(gui.drawarea, (GdkAtom)GDK_SELECTION_PRIMARY); - gtk_selection_clear_targets(gui.drawarea, (GdkAtom)clip_plus.gtk_sel_atom); -+ #endif - gtk_selection_add_targets(gui.drawarea, - (GdkAtom)GDK_SELECTION_PRIMARY, - targets, n_targets); -*** ../vim-7.2.443/src/option.c 2010-06-05 12:49:40.000000000 +0200 ---- src/option.c 2010-06-13 02:27:36.000000000 +0200 -*************** -*** 7112,7118 **** - clip_html = new_html; - vim_free(clip_exclude_prog); - clip_exclude_prog = new_exclude_prog; -! #ifdef FEAT_GUI_GTK - if (gui.in_use) - { - gui_gtk_set_selection_targets(); ---- 7112,7118 ---- - clip_html = new_html; - vim_free(clip_exclude_prog); - clip_exclude_prog = new_exclude_prog; -! #ifdef HAVE_GTK2 /* for GTK 1 we can't change the list of targets */ - if (gui.in_use) - { - gui_gtk_set_selection_targets(); -*** ../vim-7.2.443/src/version.c 2010-06-12 20:11:53.000000000 +0200 ---- src/version.c 2010-06-13 02:29:18.000000000 +0200 -*************** -*** 683,684 **** ---- 683,686 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 444, - /**/ - --- -hundred-and-one symptoms of being an internet addict: -195. Your cat has its own home page. - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ -\\\ download, build and distribute -- http://www.A-A-P.org /// - \\\ help me help AIDS victims -- http://ICCF-Holland.org /// -To: vim-dev@vim.org -Subject: Patch 7.2.445 -Fcc: outbox -From: Bram Moolenaar <Bram@moolenaar.net> -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.445 -Problem: Crash when using undo/redo and a FileChangedRO autocmd event that - reloads the buffer. (Dominique Pelle) -Solution: Do not allow autocommands while performing and undo or redo. -Files: src/misc1.c, src/undo.c - - -*** ../vim-7.2.444/src/misc1.c 2010-03-23 18:22:40.000000000 +0100 ---- src/misc1.c 2010-07-07 18:18:52.000000000 +0200 -*************** -*** 2467,2476 **** - } - - /* -! * changed() is called when something in the current buffer is changed. - * - * Most often called through changed_bytes() and changed_lines(), which also - * mark the area of the display to be redrawn. - */ - void - changed() ---- 2467,2478 ---- - } - - /* -! * Call this function when something in the current buffer is changed. - * - * Most often called through changed_bytes() and changed_lines(), which also - * mark the area of the display to be redrawn. -+ * -+ * Careful: may trigger autocommands that reload the buffer. - */ - void - changed() -*************** -*** 2536,2541 **** ---- 2538,2544 ---- - * - marks the windows on this buffer to be redisplayed - * - marks the buffer changed by calling changed() - * - invalidates cached values -+ * Careful: may trigger autocommands that reload the buffer. - */ - void - changed_bytes(lnum, col) -*************** -*** 2649,2654 **** ---- 2652,2658 ---- - * below the changed lines (BEFORE the change). - * When only inserting lines, "lnum" and "lnume" are equal. - * Takes care of calling changed() and updating b_mod_*. -+ * Careful: may trigger autocommands that reload the buffer. - */ - void - changed_lines(lnum, col, lnume, xtra) -*************** -*** 2716,2721 **** ---- 2720,2730 ---- - } - } - -+ /* -+ * Common code for when a change is was made. -+ * See changed_lines() for the arguments. -+ * Careful: may trigger autocommands that reload the buffer. -+ */ - static void - changed_common(lnum, col, lnume, xtra) - linenr_T lnum; -*************** -*** 2966,2971 **** ---- 2975,2981 ---- - * Don't use emsg(), because it flushes the macro buffer. - * If we have undone all changes b_changed will be FALSE, but "b_did_warn" - * will be TRUE. -+ * Careful: may trigger autocommands that reload the buffer. - */ - void - change_warning(col) -*** ../vim-7.2.444/src/undo.c 2010-05-30 16:55:17.000000000 +0200 ---- src/undo.c 2010-07-07 18:14:44.000000000 +0200 -*************** -*** 185,191 **** - } - } - -! void - u_check(int newhead_may_be_NULL) - { - seen_b_u_newhead = 0; ---- 185,191 ---- - } - } - -! static void - u_check(int newhead_may_be_NULL) - { - seen_b_u_newhead = 0; -*************** -*** 320,325 **** ---- 320,328 ---- - return TRUE; - } - -+ /* -+ * Common code for various ways to save text before a change. -+ */ - static int - u_savecommon(top, bot, newbot) - linenr_T top, bot; -*************** -*** 374,380 **** - size = bot - top - 1; - - /* -! * if curbuf->b_u_synced == TRUE make a new header - */ - if (curbuf->b_u_synced) - { ---- 377,383 ---- - size = bot - top - 1; - - /* -! * If curbuf->b_u_synced == TRUE make a new header. - */ - if (curbuf->b_u_synced) - { -*************** -*** 709,714 **** ---- 712,723 ---- - u_oldcount = -1; - while (count--) - { -+ /* Do the change warning now, so that it triggers FileChangedRO when -+ * needed. This may cause the file to be reloaded, that must happen -+ * before we do anything, because it may change curbuf->b_u_curhead -+ * and more. */ -+ change_warning(0); -+ - if (undo_undoes) - { - if (curbuf->b_u_curhead == NULL) /* first undo */ -*************** -*** 952,959 **** - /* - * First go up the tree as much as needed. - */ -! for (;;) - { - uhp = curbuf->b_u_curhead; - if (uhp == NULL) - uhp = curbuf->b_u_newhead; ---- 961,971 ---- - /* - * First go up the tree as much as needed. - */ -! while (!got_int) - { -+ /* Do the change warning now, for the same reason as above. */ -+ change_warning(0); -+ - uhp = curbuf->b_u_curhead; - if (uhp == NULL) - uhp = curbuf->b_u_newhead; -*************** -*** 970,978 **** - /* - * And now go down the tree (redo), branching off where needed. - */ -! uhp = curbuf->b_u_curhead; -! while (uhp != NULL) - { - /* Go back to the first branch with a mark. */ - while (uhp->uh_alt_prev != NULL - && uhp->uh_alt_prev->uh_walk == mark) ---- 982,996 ---- - /* - * And now go down the tree (redo), branching off where needed. - */ -! while (!got_int) - { -+ /* Do the change warning now, for the same reason as above. */ -+ change_warning(0); -+ -+ uhp = curbuf->b_u_curhead; -+ if (uhp == NULL) -+ break; -+ - /* Go back to the first branch with a mark. */ - while (uhp->uh_alt_prev != NULL - && uhp->uh_alt_prev->uh_walk == mark) -*************** -*** 1070,1075 **** ---- 1088,1099 ---- - int empty_buffer; /* buffer became empty */ - u_header_T *curhead = curbuf->b_u_curhead; - -+ #ifdef FEAT_AUTOCMD -+ /* Don't want autocommands using the undo structures here, they are -+ * invalid till the end. */ -+ block_autocmds(); -+ #endif -+ - #ifdef U_DEBUG - u_check(FALSE); - #endif -*************** -*** 1099,1104 **** ---- 1123,1131 ---- - if (top > curbuf->b_ml.ml_line_count || top >= bot - || bot > curbuf->b_ml.ml_line_count + 1) - { -+ #ifdef FEAT_AUTOCMD -+ unblock_autocmds(); -+ #endif - EMSG(_("E438: u_undo: line numbers wrong")); - changed(); /* don't want UNCHANGED now */ - return; -*************** -*** 1304,1309 **** ---- 1331,1340 ---- - /* The timestamp can be the same for multiple changes, just use the one of - * the undone/redone change. */ - curbuf->b_u_seq_time = curhead->uh_time; -+ -+ #ifdef FEAT_AUTOCMD -+ unblock_autocmds(); -+ #endif - #ifdef U_DEBUG - u_check(FALSE); - #endif -*** ../vim-7.2.444/src/version.c 2010-06-13 02:35:41.000000000 +0200 ---- src/version.c 2010-07-07 18:18:27.000000000 +0200 -*************** -*** 683,684 **** ---- 683,686 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 445, - /**/ - --- - A KNIGHT rides into shot and hacks him to the ground. He rides off. - We stay for a moment on the glade. A MIDDLE-AGED LADY in a C. & A. - twin-set emerges from the trees and looks in horror at the body of her - HUSBAND. -MRS HISTORIAN: FRANK! - "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ -\\\ download, build and distribute -- http://www.A-A-P.org /// - \\\ help me help AIDS victims -- http://ICCF-Holland.org /// -To: vim-dev@vim.org -Subject: Patch 7.2.446 -Fcc: outbox -From: Bram Moolenaar <Bram@moolenaar.net> -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.446 -Problem: Crash in GUI when closing the last window in a tabpage. (ryo7000) -Solution: Remove the tabpage from the list before freeing the window. -Files: src/window.c - - -*** ../vim-7.2.445/src/window.c 2010-03-17 16:54:51.000000000 +0100 ---- src/window.c 2010-07-11 13:18:31.000000000 +0200 -*************** -*** 2304,2309 **** ---- 2304,2310 ---- - win_T *wp; - int dir; - tabpage_T *ptp = NULL; -+ int free_tp = FALSE; - - /* Close the link to the buffer. */ - close_buffer(win, win->w_buffer, free_buf ? DOBUF_UNLOAD : 0); -*************** -*** 2321,2331 **** - if (wp == NULL) - return; - -- /* Free the memory used for the window. */ -- wp = win_free_mem(win, &dir, tp); -- - /* When closing the last window in a tab page remove the tab page. */ -! if (wp == NULL) - { - if (tp == first_tabpage) - first_tabpage = tp->tp_next; ---- 2322,2329 ---- - if (wp == NULL) - return; - - /* When closing the last window in a tab page remove the tab page. */ -! if (tp == NULL ? firstwin == lastwin : tp->tp_firstwin == tp->tp_lastwin) - { - if (tp == first_tabpage) - first_tabpage = tp->tp_next; -*************** -*** 2341,2348 **** - } - ptp->tp_next = tp->tp_next; - } -! free_tabpage(tp); - } - } - - /* ---- 2339,2352 ---- - } - ptp->tp_next = tp->tp_next; - } -! free_tp = TRUE; - } -+ -+ /* Free the memory used for the window. */ -+ win_free_mem(win, &dir, tp); -+ -+ if (free_tp) -+ free_tabpage(tp); - } - - /* -*** ../vim-7.2.445/src/version.c 2010-07-07 18:20:21.000000000 +0200 ---- src/version.c 2010-07-12 21:36:05.000000000 +0200 -*************** -*** 683,684 **** ---- 683,686 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 446, - /**/ - --- -Not too long ago, compress was something you did to garbage... - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ -\\\ download, build and distribute -- http://www.A-A-P.org /// - \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/meta-oe/recipes-support/vim/vim.inc b/meta-oe/recipes-support/vim/vim.inc index bb3e56aae9..12e8c1e0fe 100644 --- a/meta-oe/recipes-support/vim/vim.inc +++ b/meta-oe/recipes-support/vim/vim.inc @@ -4,20 +4,16 @@ DEPENDS = "ncurses" # vimdiff doesn't like busybox diff RSUGGESTS_${PN} = "diffutils" LICENSE = "vim" -LIC_FILES_CHKSUM = "file://../runtime/doc/uganda.txt;md5=cd49910a3dde6fe0a7e24ebe8cbf7066" +LIC_FILES_CHKSUM = "file://../runtime/doc/uganda.txt;md5=4c91d841bb7b75f68b5bb8ad7118f5b8" PV_MAJOR = "${@d.getVar('PV',1).split('.')[0]}.${@d.getVar('PV',1).split('.')[1]}" VIMDIR = "${PN}${@d.getVar('PV',1).split('.')[0]}${@d.getVar('PV',1).split('.')[1]}" INC_PR = "r13" -SRC_URI = " \ - ftp://ftp.${PN}.org/pub/${PN}/unix/${PN}-${PV_MAJOR}.tar.bz2;name=${VIMDIR} \ - ftp://ftp.${PN}.org/pub/${PN}/extra/${PN}-${PV_MAJOR}-extra.tar.gz;name=${VIMDIR}-extra \ - ftp://ftp.${PN}.org/pub/${PN}/extra/${PN}-${PV_MAJOR}-lang.tar.gz;name=${VIMDIR}-lang \ -" +SRC_URI = "hg://vim.googlecode.com/hg/;protocol=https;module=vim" -S = "${WORKDIR}/${VIMDIR}/src" +S = "${WORKDIR}/${PN}/src" inherit autotools update-alternatives diff --git a/meta-oe/recipes-support/vim/vim_7.2.446.bb b/meta-oe/recipes-support/vim/vim_7.2.446.bb deleted file mode 100644 index ef9f3c9f8c..0000000000 --- a/meta-oe/recipes-support/vim/vim_7.2.446.bb +++ /dev/null @@ -1,28 +0,0 @@ -require ${PN}.inc - -PR = "${INC_PR}.0" - -# 001-446; 401-446 are not yet available online -SRC_URI += "http://ftp.vim.org/pub/vim/patches/7.2/7.2.001-100.gz;name=p001-100;apply=yes;patchdir=..;pnum=0" -SRC_URI += "http://ftp.vim.org/pub/vim/patches/7.2/7.2.101-200.gz;name=p101-200;apply=yes;patchdir=..;pnum=0" -SRC_URI += "http://ftp.vim.org/pub/vim/patches/7.2/7.2.201-300.gz;name=p201-300;apply=yes;patchdir=..;pnum=0" -SRC_URI += "http://ftp.vim.org/pub/vim/patches/7.2/7.2.301-400.gz;name=p301-400;apply=yes;patchdir=..;pnum=0" -SRC_URI += "file://401-446.diff;patchdir=..;pnum=0" - -SRC_URI[vim72.md5sum] = "f0901284b338e448bfd79ccca0041254" -SRC_URI[vim72.sha256sum] = "914db0f2205ebd6f02878295ec2506036ea7500399db112c61a01491cd9a1d86" -SRC_URI[vim72-lang.md5sum] = "d8884786979e0e520c112faf2e176f05" -SRC_URI[vim72-lang.sha256sum] = "11607f539a4518b550bf1606b7d3a6f36c1ffdf566c058e7d94bced78034cd5b" -SRC_URI[vim72-extra.md5sum] = "35e04482f07c57221c9a751aaa3b8dac" -SRC_URI[vim72-extra.sha256sum] = "20894ac79672160bfc4f1d2f9f9775b34d944762d655307a91ca96d358faa04d" - -SRC_URI[p001-100.md5sum] = "ba91b19374cee90f71b8f4ab1d92dc0f" -SRC_URI[p001-100.sha256sum] = "519f4fea460e4f7a737ea8006c0dc1684982f8372d1581fb963a5d58f8007f67" -SRC_URI[p101-200.md5sum] = "b485233d360041d043c56cd99057dbff" -SRC_URI[p101-200.sha256sum] = "0a6e25e454706377f8a6babe4da99c6eab7e71a63d28ad9b24aa5c170522bac3" -SRC_URI[p201-300.md5sum] = "069fb537772a8e4a74119d8a6a7e61f3" -SRC_URI[p201-300.sha256sum] = "a11bad3a4e167501c62f0212d3b8935a73a1ae378c5d6ed73a477a71f57baffa" -SRC_URI[p301-400.md5sum] = "137b5821ff4a2266796d14d867be5f9f" -SRC_URI[p301-400.sha256sum] = "41f022ec829786a008685c0b00acf8be09525755a94a06236a4b879b1f84b5f4" - -SRC_URI += "file://configure.in_remove_CC_quotes.patch;patchdir=.." diff --git a/meta-oe/recipes-support/vim/vim_7.3.905.bb b/meta-oe/recipes-support/vim/vim_7.3.905.bb new file mode 100644 index 0000000000..f5b1453683 --- /dev/null +++ b/meta-oe/recipes-support/vim/vim_7.3.905.bb @@ -0,0 +1,7 @@ +require ${PN}.inc + +PR = "${INC_PR}.0" + +SRCREV = "v7-3-905" + +SRC_URI += "file://configure.in_remove_CC_quotes.patch;patchdir=.." |