diff options
Diffstat (limited to 'source/ap/vim/patches/7.3.028')
-rw-r--r-- | source/ap/vim/patches/7.3.028 | 179 |
1 files changed, 0 insertions, 179 deletions
diff --git a/source/ap/vim/patches/7.3.028 b/source/ap/vim/patches/7.3.028 deleted file mode 100644 index a4f987c6..00000000 --- a/source/ap/vim/patches/7.3.028 +++ /dev/null @@ -1,179 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.3.028 -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.3.028 (after 7.3.024) -Problem: Signs don't show up. (Charles Campbell) -Solution: Don't use negative numbers. Also assign a number to signs that - have a name of all digits to avoid using a sign number twice. -Files: src/ex_cmds.c - - -*** ../vim-7.3.027/src/ex_cmds.c 2010-10-13 16:44:17.000000000 +0200 ---- src/ex_cmds.c 2010-10-14 20:59:04.000000000 +0200 -*************** -*** 6569,6575 **** - }; - - static sign_T *first_sign = NULL; -! static int last_sign_typenr = MAX_TYPENR; /* is decremented */ - - static int sign_cmd_idx __ARGS((char_u *begin_cmd, char_u *end_cmd)); - static void sign_list_defined __ARGS((sign_T *sp)); ---- 6569,6575 ---- - }; - - static sign_T *first_sign = NULL; -! static int next_sign_typenr = 1; - - static int sign_cmd_idx __ARGS((char_u *begin_cmd, char_u *end_cmd)); - static void sign_list_defined __ARGS((sign_T *sp)); -*************** -*** 6651,6659 **** ---- 6651,6664 ---- - EMSG(_("E156: Missing sign name")); - else - { -+ /* Isolate the sign name. If it's a number skip leading zeroes, -+ * so that "099" and "99" are the same sign. But keep "0". */ - p = skiptowhite(arg); - if (*p != NUL) - *p++ = NUL; -+ while (arg[0] == '0' && arg[1] != NUL) -+ ++arg; -+ - sp_prev = NULL; - for (sp = first_sign; sp != NULL; sp = sp->sn_next) - { -*************** -*** 6666,6706 **** - /* ":sign define {name} ...": define a sign */ - if (sp == NULL) - { - /* Allocate a new sign. */ - sp = (sign_T *)alloc_clear((unsigned)sizeof(sign_T)); - if (sp == NULL) - return; - -! /* If the name is a number use that for the typenr, -! * otherwise use a negative number. */ -! if (VIM_ISDIGIT(*arg)) -! sp->sn_typenr = atoi((char *)arg); -! else - { -! sign_T *lp; -! int start = last_sign_typenr; -! -! for (lp = first_sign; lp != NULL; lp = lp->sn_next) - { -! if (lp->sn_typenr == -last_sign_typenr) - { -! --last_sign_typenr; -! if (last_sign_typenr == 0) -! last_sign_typenr = MAX_TYPENR; -! if (last_sign_typenr == start) -! { -! vim_free(sp); -! EMSG(_("E612: Too many signs defined")); -! return; -! } -! lp = first_sign; -! continue; - } - } - -! sp->sn_typenr = -last_sign_typenr; -! if (--last_sign_typenr == 0) -! last_sign_typenr = MAX_TYPENR; /* wrap around */ - } - - /* add the new sign to the list of signs */ ---- 6671,6715 ---- - /* ":sign define {name} ...": define a sign */ - if (sp == NULL) - { -+ sign_T *lp; -+ int start = next_sign_typenr; -+ - /* Allocate a new sign. */ - sp = (sign_T *)alloc_clear((unsigned)sizeof(sign_T)); - if (sp == NULL) - return; - -! /* Check that next_sign_typenr is not already being used. -! * This only happens after wrapping around. Hopefully -! * another one got deleted and we can use its number. */ -! for (lp = first_sign; lp != NULL; ) - { -! if (lp->sn_typenr == next_sign_typenr) - { -! ++next_sign_typenr; -! if (next_sign_typenr == MAX_TYPENR) -! next_sign_typenr = 1; -! if (next_sign_typenr == start) - { -! vim_free(sp); -! EMSG(_("E612: Too many signs defined")); -! return; - } -+ lp = first_sign; /* start all over */ -+ continue; - } -+ lp = lp->sn_next; -+ } -+ -+ sp->sn_typenr = next_sign_typenr; -+ if (++next_sign_typenr == MAX_TYPENR) -+ next_sign_typenr = 1; /* wrap around */ - -! sp->sn_name = vim_strsave(arg); -! if (sp->sn_name == NULL) /* out of memory */ -! { -! vim_free(sp); -! return; - } - - /* add the new sign to the list of signs */ -*************** -*** 6708,6714 **** - first_sign = sp; - else - sp_prev->sn_next = sp; -- sp->sn_name = vim_strnsave(arg, (int)(p - arg)); - } - - /* set values for a defined sign. */ ---- 6717,6722 ---- -*************** -*** 6886,6891 **** ---- 6894,6901 ---- - arg = skiptowhite(arg); - if (*arg != NUL) - *arg++ = NUL; -+ while (sign_name[0] == '0' && sign_name[1] != NUL) -+ ++sign_name; - } - else if (STRNCMP(arg, "file=", 5) == 0) - { -*** ../vim-7.3.027/src/version.c 2010-10-13 20:37:37.000000000 +0200 ---- src/version.c 2010-10-14 20:50:54.000000000 +0200 -*************** -*** 716,717 **** ---- 716,719 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 28, - /**/ - --- -This is an airconditioned room, do not open Windows. - - /// 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 /// |