diff options
Diffstat (limited to 'source/ap/vim/patches/7.2.192')
-rw-r--r-- | source/ap/vim/patches/7.2.192 | 135 |
1 files changed, 0 insertions, 135 deletions
diff --git a/source/ap/vim/patches/7.2.192 b/source/ap/vim/patches/7.2.192 deleted file mode 100644 index 28cefd5b..00000000 --- a/source/ap/vim/patches/7.2.192 +++ /dev/null @@ -1,135 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.192 -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.192 (after 7.2.188) -Problem: Still a crash in the garbage collector for a very rare situation. -Solution: Make sure current_copyID is always incremented correctly. (Kent - Sibilev) -Files: src/eval.c - - -*** ../vim-7.2.191/src/eval.c 2009-05-26 22:58:43.000000000 +0200 ---- src/eval.c 2009-05-29 21:13:47.000000000 +0200 -*************** -*** 6526,6532 **** - - /* Don't free variables in the previous_funccal list unless they are only - * referenced through previous_funccal. This must be first, because if -! * the item is referenced elsewhere it must not be freed. */ - for (fc = previous_funccal; fc != NULL; fc = fc->caller) - { - set_ref_in_ht(&fc->l_vars.dv_hashtab, copyID + 1); ---- 6526,6532 ---- - - /* Don't free variables in the previous_funccal list unless they are only - * referenced through previous_funccal. This must be first, because if -! * the item is referenced elsewhere the funccal must not be freed. */ - for (fc = previous_funccal; fc != NULL; fc = fc->caller) - { - set_ref_in_ht(&fc->l_vars.dv_hashtab, copyID + 1); -*************** -*** 6564,6573 **** - /* v: vars */ - set_ref_in_ht(&vimvarht, copyID); - -! /* Free lists and dictionaries that are not referenced. */ - did_free = free_unref_items(copyID); - -! /* check if any funccal can be freed now */ - for (pfc = &previous_funccal; *pfc != NULL; ) - { - if (can_free_funccal(*pfc, copyID)) ---- 6564,6577 ---- - /* v: vars */ - set_ref_in_ht(&vimvarht, copyID); - -! /* -! * 2. Free lists and dictionaries that are not referenced. -! */ - did_free = free_unref_items(copyID); - -! /* -! * 3. Check if any funccal can be freed now. -! */ - for (pfc = &previous_funccal; *pfc != NULL; ) - { - if (can_free_funccal(*pfc, copyID)) -*************** -*** 9286,9292 **** - if (noref < 0 || noref > 1) - EMSG(_(e_invarg)); - else -! item_copy(&argvars[0], rettv, TRUE, noref == 0 ? ++current_copyID : 0); - } - - /* ---- 9290,9299 ---- - if (noref < 0 || noref > 1) - EMSG(_(e_invarg)); - else -! { -! current_copyID += COPYID_INC; -! item_copy(&argvars[0], rettv, TRUE, noref == 0 ? current_copyID : 0); -! } - } - - /* -*************** -*** 18966,18972 **** - char_u *s; - char_u numbuf[NUMBUFLEN]; - -! s = echo_string(&v->di_tv, &tofree, numbuf, ++current_copyID); - list_one_var_a(prefix, v->di_key, v->di_tv.v_type, - s == NULL ? (char_u *)"" : s, first); - vim_free(tofree); ---- 18973,18980 ---- - char_u *s; - char_u numbuf[NUMBUFLEN]; - -! current_copyID += COPYID_INC; -! s = echo_string(&v->di_tv, &tofree, numbuf, current_copyID); - list_one_var_a(prefix, v->di_key, v->di_tv.v_type, - s == NULL ? (char_u *)"" : s, first); - vim_free(tofree); -*************** -*** 19401,19407 **** - } - else if (eap->cmdidx == CMD_echo) - msg_puts_attr((char_u *)" ", echo_attr); -! p = echo_string(&rettv, &tofree, numbuf, ++current_copyID); - if (p != NULL) - for ( ; *p != NUL && !got_int; ++p) - { ---- 19409,19416 ---- - } - else if (eap->cmdidx == CMD_echo) - msg_puts_attr((char_u *)" ", echo_attr); -! current_copyID += COPYID_INC; -! p = echo_string(&rettv, &tofree, numbuf, current_copyID); - if (p != NULL) - for ( ; *p != NUL && !got_int; ++p) - { -*** ../vim-7.2.191/src/version.c 2009-05-26 22:58:43.000000000 +0200 ---- src/version.c 2009-06-03 13:21:20.000000000 +0200 -*************** -*** 678,679 **** ---- 678,681 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 192, - /**/ - --- -Imagine a world without hypothetical situations. - - /// 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 /// |