forked from aniani/vim
patch 7.4.1643
Problem: Terminating file name has side effects. Solution: Restore the character. (mostly by James McCoy, closes #713)
This commit is contained in:
@@ -26440,8 +26440,10 @@ repeat:
|
||||
if (src[*usedlen] == ':' && src[*usedlen + 1] == 'S')
|
||||
{
|
||||
/* vim_strsave_shellescape() needs a NUL terminated string. */
|
||||
c = (*fnamep)[*fnamelen];
|
||||
(*fnamep)[*fnamelen] = NUL;
|
||||
p = vim_strsave_shellescape(*fnamep, FALSE, FALSE);
|
||||
(*fnamep)[*fnamelen] = c;
|
||||
if (p == NULL)
|
||||
return -1;
|
||||
vim_free(*bufp);
|
||||
|
@@ -36,6 +36,7 @@ STARTTEST
|
||||
:Put fnamemodify('abc''%''def', ':S' )
|
||||
:Put fnamemodify("abc\ndef", ':S' )
|
||||
:Put expand('%:r:S') == shellescape(expand('%:r'))
|
||||
:Put join([expand('%:r'), expand('%:r:S'), expand('%')], ',')
|
||||
:set shell=tcsh
|
||||
:Put fnamemodify("abc\ndef", ':S' )
|
||||
:$put ='vim: ts=8'
|
||||
|
@@ -26,5 +26,6 @@ fnamemodify('abc'' ''def', ':S' ) '''abc''\'''' ''\''''def'''
|
||||
fnamemodify('abc''%''def', ':S' ) '''abc''\''''%''\''''def'''
|
||||
fnamemodify("abc\ndef", ':S' ) '''abc^@def'''
|
||||
expand('%:r:S') == shellescape(expand('%:r')) 1
|
||||
join([expand('%:r'), expand('%:r:S'), expand('%')], ',') 'test105,''test105'',test105.in'
|
||||
fnamemodify("abc\ndef", ':S' ) '''abc\^@def'''
|
||||
vim: ts=8
|
||||
|
@@ -748,6 +748,8 @@ static char *(features[]) =
|
||||
|
||||
static int included_patches[] =
|
||||
{ /* Add new patch number below this line */
|
||||
/**/
|
||||
1643,
|
||||
/**/
|
||||
1642,
|
||||
/**/
|
||||
|
Reference in New Issue
Block a user