mirror of
https://github.com/vim/vim
synced 2025-03-31 06:56:44 +02:00
updated for version 7.2-010
This commit is contained in:
parent
ccf22171f1
commit
3094a9e1a7
4 changed files with 54 additions and 33 deletions
|
@ -2540,7 +2540,6 @@ utf_head_off(base, p)
|
|||
return (int)(p - q);
|
||||
}
|
||||
|
||||
#if defined(FEAT_EVAL) || defined(PROTO)
|
||||
/*
|
||||
* Copy a character from "*fp" to "*tp" and advance the pointers.
|
||||
*/
|
||||
|
@ -2555,7 +2554,6 @@ mb_copy_char(fp, tp)
|
|||
*tp += l;
|
||||
*fp += l;
|
||||
}
|
||||
#endif
|
||||
|
||||
/*
|
||||
* Return the offset from "p" to the first byte of a character. When "p" is
|
||||
|
|
|
@ -1257,7 +1257,6 @@ vim_strsave_escaped_ext(string, esc_chars, cc, bsl)
|
|||
return escaped_string;
|
||||
}
|
||||
|
||||
#if !defined(BACKSLASH_IN_FILENAME) || defined(FEAT_EVAL) || defined(PROTO)
|
||||
/*
|
||||
* Return TRUE when 'shell' has "csh" in the tail.
|
||||
*/
|
||||
|
@ -1266,9 +1265,7 @@ csh_like_shell()
|
|||
{
|
||||
return (strstr((char *)gettail(p_sh), "csh") != NULL);
|
||||
}
|
||||
#endif
|
||||
|
||||
#if defined(FEAT_EVAL) || defined(PROTO)
|
||||
/*
|
||||
* Escape "string" for use as a shell argument with system().
|
||||
* This uses single quotes, except when we know we need to use double qoutes
|
||||
|
@ -1391,7 +1388,6 @@ vim_strsave_shellescape(string, do_special)
|
|||
|
||||
return escaped_string;
|
||||
}
|
||||
#endif
|
||||
|
||||
/*
|
||||
* Like vim_strsave(), but make all characters uppercase.
|
||||
|
|
79
src/normal.c
79
src/normal.c
|
@ -5469,6 +5469,11 @@ nv_ident(cap)
|
|||
STRCPY(buf, "he! ");
|
||||
else
|
||||
{
|
||||
/* An external command will probably use an argument starting
|
||||
* with "-" as an option. To avoid trouble we skip the "-". */
|
||||
while (*ptr == '-')
|
||||
++ptr;
|
||||
|
||||
/* When a count is given, turn it into a range. Is this
|
||||
* really what we want? */
|
||||
isman = (STRCMP(kp, "man") == 0);
|
||||
|
@ -5511,37 +5516,57 @@ nv_ident(cap)
|
|||
/*
|
||||
* Now grab the chars in the identifier
|
||||
*/
|
||||
if (cmdchar == '*')
|
||||
aux_ptr = (char_u *)(p_magic ? "/.*~[^$\\" : "/^$\\");
|
||||
else if (cmdchar == '#')
|
||||
aux_ptr = (char_u *)(p_magic ? "/?.*~[^$\\" : "/?^$\\");
|
||||
else if (cmdchar == 'K' && !kp_help)
|
||||
aux_ptr = (char_u *)" \t\\\"|!";
|
||||
else
|
||||
/* Don't escape spaces and Tabs in a tag with a backslash */
|
||||
aux_ptr = (char_u *)"\\|\"";
|
||||
|
||||
p = buf + STRLEN(buf);
|
||||
while (n-- > 0)
|
||||
if (cmdchar == 'K' && !kp_help)
|
||||
{
|
||||
/* put a backslash before \ and some others */
|
||||
if (vim_strchr(aux_ptr, *ptr) != NULL)
|
||||
*p++ = '\\';
|
||||
#ifdef FEAT_MBYTE
|
||||
/* When current byte is a part of multibyte character, copy all bytes
|
||||
* of that character. */
|
||||
if (has_mbyte)
|
||||
/* Escape the argument properly for a shell command */
|
||||
p = vim_strsave_shellescape(ptr, TRUE);
|
||||
if (p == NULL)
|
||||
{
|
||||
int i;
|
||||
int len = (*mb_ptr2len)(ptr) - 1;
|
||||
|
||||
for (i = 0; i < len && n >= 1; ++i, --n)
|
||||
*p++ = *ptr++;
|
||||
vim_free(buf);
|
||||
return;
|
||||
}
|
||||
#endif
|
||||
*p++ = *ptr++;
|
||||
buf = (char_u *)vim_realloc(buf, STRLEN(buf) + STRLEN(p) + 1);
|
||||
if (buf == NULL)
|
||||
{
|
||||
vim_free(buf);
|
||||
vim_free(p);
|
||||
return;
|
||||
}
|
||||
STRCAT(buf, p);
|
||||
vim_free(p);
|
||||
}
|
||||
else
|
||||
{
|
||||
if (cmdchar == '*')
|
||||
aux_ptr = (char_u *)(p_magic ? "/.*~[^$\\" : "/^$\\");
|
||||
else if (cmdchar == '#')
|
||||
aux_ptr = (char_u *)(p_magic ? "/?.*~[^$\\" : "/?^$\\");
|
||||
else
|
||||
/* Don't escape spaces and Tabs in a tag with a backslash */
|
||||
aux_ptr = (char_u *)"\\|\"\n*?[";
|
||||
|
||||
p = buf + STRLEN(buf);
|
||||
while (n-- > 0)
|
||||
{
|
||||
/* put a backslash before \ and some others */
|
||||
if (vim_strchr(aux_ptr, *ptr) != NULL)
|
||||
*p++ = '\\';
|
||||
#ifdef FEAT_MBYTE
|
||||
/* When current byte is a part of multibyte character, copy all
|
||||
* bytes of that character. */
|
||||
if (has_mbyte)
|
||||
{
|
||||
int i;
|
||||
int len = (*mb_ptr2len)(ptr) - 1;
|
||||
|
||||
for (i = 0; i < len && n >= 1; ++i, --n)
|
||||
*p++ = *ptr++;
|
||||
}
|
||||
#endif
|
||||
*p++ = *ptr++;
|
||||
}
|
||||
*p = NUL;
|
||||
}
|
||||
*p = NUL;
|
||||
|
||||
/*
|
||||
* Execute the command.
|
||||
|
|
|
@ -676,6 +676,8 @@ static char *(features[]) =
|
|||
|
||||
static int included_patches[] =
|
||||
{ /* Add new patch number below this line */
|
||||
/**/
|
||||
10,
|
||||
/**/
|
||||
9,
|
||||
/**/
|
||||
|
|
Loading…
Add table
Reference in a new issue