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 */
|
||||
count += ts - (count % ts);
|
||||
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);
|
||||
}
|
||||
else if (*ptr == ' ')
|
||||
@@ -10767,7 +10768,7 @@ gen_expand_wildcards(num_pat, pat, num_file, file, flags)
|
||||
vim_free(p);
|
||||
ga_clear_strings(&ga);
|
||||
i = mch_expand_wildcards(num_pat, pat, num_file, file,
|
||||
flags);
|
||||
flags|EW_KEEPDOLLAR);
|
||||
recursive = FALSE;
|
||||
return i;
|
||||
}
|
||||
|
@@ -5939,10 +5939,12 @@ mch_expand_wildcards(num_pat, pat, num_file, file, flags)
|
||||
*p++ = '\\';
|
||||
++j;
|
||||
}
|
||||
else if (!intick && vim_strchr(SHELL_SPECIAL,
|
||||
pat[i][j]) != NULL)
|
||||
else if (!intick
|
||||
&& ((flags & EW_KEEPDOLLAR) == 0 || pat[i][j] != '$')
|
||||
&& vim_strchr(SHELL_SPECIAL, pat[i][j]) != NULL)
|
||||
/* Put a backslash before a special character, but not
|
||||
* when inside ``. */
|
||||
* when inside ``. And not for $var when EW_KEEPDOLLAR is
|
||||
* set. */
|
||||
*p++ = '\\';
|
||||
|
||||
/* Copy one character. */
|
||||
|
@@ -741,6 +741,8 @@ static char *(features[]) =
|
||||
|
||||
static int included_patches[] =
|
||||
{ /* Add new patch number below this line */
|
||||
/**/
|
||||
423,
|
||||
/**/
|
||||
422,
|
||||
/**/
|
||||
|
@@ -835,6 +835,7 @@ extern char *(*dyn_libintl_textdomain)(const char *domainname);
|
||||
#define EW_ICASE 0x100 /* ignore case */
|
||||
#define EW_NOERROR 0x200 /* no error for bad regexp */
|
||||
#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
|
||||
* is used when executing commands and EW_SILENT for interactive expanding. */
|
||||
|
||||
|
Reference in New Issue
Block a user