# HG changeset patch # User vimboss # Date 1216927871 0 # Node ID b2e037ed7e33b48a1feb69174850acc393254864 # Parent c7c53db66b5521d2deed3b889fbfb13030868942 updated for version 7.2b-020 diff --git a/src/charset.c b/src/charset.c --- a/src/charset.c +++ b/src/charset.c @@ -1466,9 +1466,11 @@ getvcols(wp, pos1, pos2, left, right) * skipwhite: skip over ' ' and '\t'. */ char_u * -skipwhite(p) - char_u *p; +skipwhite(q) + char_u *q; { + char_u *p = q; + while (vim_iswhite(*p)) /* skip to next non-white */ ++p; return p; @@ -1478,9 +1480,11 @@ skipwhite(p) * skip over digits */ char_u * -skipdigits(p) - char_u *p; +skipdigits(q) + char_u *q; { + char_u *p = q; + while (VIM_ISDIGIT(*p)) /* skip to next non-digit */ ++p; return p; @@ -1491,9 +1495,11 @@ skipdigits(p) * skip over digits and hex characters */ char_u * -skiphex(p) - char_u *p; +skiphex(q) + char_u *q; { + char_u *p = q; + while (vim_isxdigit(*p)) /* skip to next non-digit */ ++p; return p; @@ -1505,9 +1511,11 @@ skiphex(p) * skip to digit (or NUL after the string) */ char_u * -skiptodigit(p) - char_u *p; +skiptodigit(q) + char_u *q; { + char_u *p = q; + while (*p != NUL && !VIM_ISDIGIT(*p)) /* skip to next digit */ ++p; return p; @@ -1517,9 +1525,11 @@ skiptodigit(p) * skip to hex character (or NUL after the string) */ char_u * -skiptohex(p) - char_u *p; +skiptohex(q) + char_u *q; { + char_u *p = q; + while (*p != NUL && !vim_isxdigit(*p)) /* skip to next digit */ ++p; return p; diff --git a/src/ex_cmds.c b/src/ex_cmds.c --- a/src/ex_cmds.c +++ b/src/ex_cmds.c @@ -479,10 +479,13 @@ ex_sort(eap) c = *s2; (*s2) = 0; /* Sorting on number: Store the number itself. */ + p = s + start_col; if (sort_hex) - s = skiptohex(s + start_col); + s = skiptohex(p); else - s = skiptodigit(s + start_col); + s = skiptodigit(p); + if (s > p && s[-1] == '-') + --s; /* include preceding negative sign */ vim_str2nr(s, NULL, NULL, sort_oct, sort_hex, &nrs[lnum - eap->line1].start_col_nr, NULL); (*s2) = c; diff --git a/src/version.c b/src/version.c --- a/src/version.c +++ b/src/version.c @@ -677,6 +677,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ /**/ + 20, +/**/ 19, /**/ 18,