mirror of
https://github.com/vim/vim.git
synced 2025-09-24 03:44:06 -04:00
updated for version 7.4.423
Problem: expand("$shell") does not work as documented. Solution: Do not escape the $ when expanding environment variables.
This commit is contained in:
@@ -78,7 +78,8 @@ get_indent_str(ptr, ts, list)
|
|||||||
if (!list || lcs_tab1) /* count a tab for what it is worth */
|
if (!list || lcs_tab1) /* count a tab for what it is worth */
|
||||||
count += ts - (count % ts);
|
count += ts - (count % ts);
|
||||||
else
|
else
|
||||||
/* in list mode, when tab is not set, count screen char width for Tab: ^I */
|
/* In list mode, when tab is not set, count screen char width
|
||||||
|
* for Tab, displays: ^I */
|
||||||
count += ptr2cells(ptr);
|
count += ptr2cells(ptr);
|
||||||
}
|
}
|
||||||
else if (*ptr == ' ')
|
else if (*ptr == ' ')
|
||||||
@@ -10767,7 +10768,7 @@ gen_expand_wildcards(num_pat, pat, num_file, file, flags)
|
|||||||
vim_free(p);
|
vim_free(p);
|
||||||
ga_clear_strings(&ga);
|
ga_clear_strings(&ga);
|
||||||
i = mch_expand_wildcards(num_pat, pat, num_file, file,
|
i = mch_expand_wildcards(num_pat, pat, num_file, file,
|
||||||
flags);
|
flags|EW_KEEPDOLLAR);
|
||||||
recursive = FALSE;
|
recursive = FALSE;
|
||||||
return i;
|
return i;
|
||||||
}
|
}
|
||||||
|
@@ -5939,10 +5939,12 @@ mch_expand_wildcards(num_pat, pat, num_file, file, flags)
|
|||||||
*p++ = '\\';
|
*p++ = '\\';
|
||||||
++j;
|
++j;
|
||||||
}
|
}
|
||||||
else if (!intick && vim_strchr(SHELL_SPECIAL,
|
else if (!intick
|
||||||
pat[i][j]) != NULL)
|
&& ((flags & EW_KEEPDOLLAR) == 0 || pat[i][j] != '$')
|
||||||
|
&& vim_strchr(SHELL_SPECIAL, pat[i][j]) != NULL)
|
||||||
/* Put a backslash before a special character, but not
|
/* Put a backslash before a special character, but not
|
||||||
* when inside ``. */
|
* when inside ``. And not for $var when EW_KEEPDOLLAR is
|
||||||
|
* set. */
|
||||||
*p++ = '\\';
|
*p++ = '\\';
|
||||||
|
|
||||||
/* Copy one character. */
|
/* Copy one character. */
|
||||||
|
@@ -741,6 +741,8 @@ static char *(features[]) =
|
|||||||
|
|
||||||
static int included_patches[] =
|
static int included_patches[] =
|
||||||
{ /* Add new patch number below this line */
|
{ /* Add new patch number below this line */
|
||||||
|
/**/
|
||||||
|
423,
|
||||||
/**/
|
/**/
|
||||||
422,
|
422,
|
||||||
/**/
|
/**/
|
||||||
|
@@ -835,6 +835,7 @@ extern char *(*dyn_libintl_textdomain)(const char *domainname);
|
|||||||
#define EW_ICASE 0x100 /* ignore case */
|
#define EW_ICASE 0x100 /* ignore case */
|
||||||
#define EW_NOERROR 0x200 /* no error for bad regexp */
|
#define EW_NOERROR 0x200 /* no error for bad regexp */
|
||||||
#define EW_NOTWILD 0x400 /* add match with literal name if exists */
|
#define EW_NOTWILD 0x400 /* add match with literal name if exists */
|
||||||
|
#define EW_KEEPDOLLAR 0x800 /* do not escape $, $var is expanded */
|
||||||
/* Note: mostly EW_NOTFOUND and EW_SILENT are mutually exclusive: EW_NOTFOUND
|
/* Note: mostly EW_NOTFOUND and EW_SILENT are mutually exclusive: EW_NOTFOUND
|
||||||
* is used when executing commands and EW_SILENT for interactive expanding. */
|
* is used when executing commands and EW_SILENT for interactive expanding. */
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user