mirror of
https://github.com/vim/vim.git
synced 2025-07-26 11:04:33 -04:00
patch 8.2.4980: when 'shortmess' contains 'A' loading session may still warn
Problem: When 'shortmess' contains 'A' loading a session may still warn for an existing swap file. (Melker Österberg) Solution: Keep the 'A' flag to 'shortmess' in the session file. (closes #10443)
This commit is contained in:
parent
28d032cc68
commit
aaadb5b6f7
@ -692,10 +692,15 @@ makeopens(
|
||||
&& put_line(fd, "let s:shortmess_save = &shortmess") == FAIL)
|
||||
goto fail;
|
||||
|
||||
// Now save the current files, current buffer first.
|
||||
if (put_line(fd, "set shortmess=aoO") == FAIL)
|
||||
// set 'shortmess' for the following. Add the 'A' flag if it was there
|
||||
if (put_line(fd, "if &shortmess =~ 'A'") == FAIL
|
||||
|| put_line(fd, " set shortmess=aoOA") == FAIL
|
||||
|| put_line(fd, "else") == FAIL
|
||||
|| put_line(fd, " set shortmess=aoO") == FAIL
|
||||
|| put_line(fd, "endif") == FAIL)
|
||||
goto fail;
|
||||
|
||||
// Now save the current files, current buffer first.
|
||||
// Put all buffers into the buffer list.
|
||||
// Do it very early to preserve buffer order after loading session (which
|
||||
// can be disrupted by prior `edit` or `tabedit` calls).
|
||||
|
@ -1078,6 +1078,28 @@ func Test_mksession_shortmess()
|
||||
set sessionoptions&
|
||||
endfunc
|
||||
|
||||
" Test that when Vim loading session has 'A' in 'shortmess' it does not
|
||||
" complain about an existing swapfile.
|
||||
func Test_mksession_shortmess_with_A()
|
||||
edit Xtestfile
|
||||
write
|
||||
let fname = swapname('%')
|
||||
let cont = readblob(fname)
|
||||
set sessionoptions-=options
|
||||
mksession Xtestsession
|
||||
bwipe!
|
||||
|
||||
" Recreate the swap file to pretend the file is being edited
|
||||
call writefile(cont, fname)
|
||||
set shortmess+=A
|
||||
source Xtestsession
|
||||
|
||||
set shortmess&
|
||||
set sessionoptions&
|
||||
call delete('Xtestsession')
|
||||
call delete(fname)
|
||||
endfunc
|
||||
|
||||
" Test for mksession with 'compatible' option
|
||||
func Test_mksession_compatible()
|
||||
mksession! Xtest_mks1.out
|
||||
|
@ -746,6 +746,8 @@ static char *(features[]) =
|
||||
|
||||
static int included_patches[] =
|
||||
{ /* Add new patch number below this line */
|
||||
/**/
|
||||
4980,
|
||||
/**/
|
||||
4979,
|
||||
/**/
|
||||
|
Loading…
x
Reference in New Issue
Block a user