0
0
mirror of https://github.com/vim/vim.git synced 2025-09-24 03:44:06 -04:00

patch 8.1.0803: session file has problem with single quote in file name

Problem:    Session file has problem with single quote in file name. (Jon
            Crowe)
Solution:   Use a double quoted string.  Add a test.
This commit is contained in:
Bram Moolenaar
2019-01-24 13:34:42 +01:00
parent a5be9b6248
commit ad36a3588d
3 changed files with 18 additions and 2 deletions

View File

@@ -11838,9 +11838,9 @@ put_view(
* edit that buffer, to not lose folding information (:edit resets
* folds in other buffers)
*/
if (fputs("if bufexists('", fd) < 0
if (fputs("if bufexists(\"", fd) < 0
|| ses_fname(fd, wp->w_buffer, flagp, FALSE) == FAIL
|| fputs("') | buffer ", fd) < 0
|| fputs("\") | buffer ", fd) < 0
|| ses_fname(fd, wp->w_buffer, flagp, FALSE) == FAIL
|| fputs(" | else | edit ", fd) < 0
|| ses_fname(fd, wp->w_buffer, flagp, FALSE) == FAIL

View File

@@ -426,5 +426,19 @@ func Test_mksession_no_errmsg()
call delete('Xtest_mks.out')
endfunc
func Test_mksession_quote_in_filename()
let v:errmsg = ''
%bwipe!
split another
split x'y\"z
mksession! Xtest_mks_quoted.out
%bwipe!
source Xtest_mks_quoted.out
call assert_true(bufexists("x'y\"z"))
%bwipe!
call delete('Xtest_mks_quoted.out')
endfunc
" vim: shiftwidth=2 sts=2 expandtab

View File

@@ -791,6 +791,8 @@ static char *(features[]) =
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
803,
/**/
802,
/**/