From: Bram Moolenaar Date: Sat, 1 Nov 2008 12:52:38 +0000 (+0000) Subject: updated for version 7.2-026 X-Git-Tag: v7.2.026 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=9fd01c6ab861b70735ed15149e96646381364025;p=vim updated for version 7.2-026 --- diff --git a/src/normal.c b/src/normal.c index c1e630a33..d33a63674 100644 --- a/src/normal.c +++ b/src/normal.c @@ -183,6 +183,8 @@ static void nv_drop __ARGS((cmdarg_T *cap)); static void nv_cursorhold __ARGS((cmdarg_T *cap)); #endif +static char *e_noident = N_("E349: No identifier under cursor"); + /* * Function to be called for a Normal or Visual mode command. * The argument is a cmdarg_T. @@ -3510,7 +3512,7 @@ find_ident_at_pos(wp, lnum, startcol, string, find_type) if (find_type & FIND_STRING) EMSG(_("E348: No string under cursor")); else - EMSG(_("E349: No identifier under cursor")); + EMSG(_(e_noident)); return 0; } ptr += col; @@ -5472,8 +5474,17 @@ nv_ident(cap) { /* An external command will probably use an argument starting * with "-" as an option. To avoid trouble we skip the "-". */ - while (*ptr == '-') + while (*ptr == '-' && n > 0) + { ++ptr; + --n; + } + if (n == 0) + { + EMSG(_(e_noident)); /* found dashes only */ + vim_free(buf); + return; + } /* When a count is given, turn it into a range. Is this * really what we want? */ @@ -5520,7 +5531,9 @@ nv_ident(cap) if (cmdchar == 'K' && !kp_help) { /* Escape the argument properly for a shell command */ + ptr = vim_strnsave(ptr, n); p = vim_strsave_shellescape(ptr, TRUE); + vim_free(ptr); if (p == NULL) { vim_free(buf); diff --git a/src/version.c b/src/version.c index 45bb7e5fb..5e8d3e69b 100644 --- a/src/version.c +++ b/src/version.c @@ -676,6 +676,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ +/**/ + 26, /**/ 25, /**/