From 28cfff5ba936961a5b2c3e4f5610d634f6e784ab Mon Sep 17 00:00:00 2001 From: Marco Hinz Date: Fri, 6 Jan 2017 00:32:14 +0100 Subject: [PATCH] Sessions: filter foox.vim only if foo.vim exists We used to filter all sessions ending with "x.vim", because of session extra files. (See 10. in `:h :mks`.) To avoid false positives, we now only filter a session "foox.vim", if there is also an accompanying session "foo.vim". References #259. --- autoload/startify.vim | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/autoload/startify.vim b/autoload/startify.vim index 34bff70..b073154 100644 --- a/autoload/startify.vim +++ b/autoload/startify.vim @@ -569,8 +569,10 @@ endfunction " Function: s:show_sessions {{{1 function! s:show_sessions() abort - let sfiles = filter(split(globpath(s:session_dir, '*'), '\n'), - \ 'v:val !~# "x\.vim$" && v:val !~# "__LAST__$"') + let sfiles = split(globpath(s:session_dir, '*'), '\n') + let sfiles = filter(sfiles, 'v:val !~# "__LAST__$"') + let sfiles = filter(sfiles, + \ '!(v:val =~# "x\.vim$" && index(sfiles, v:val[:-6].".vim") >= 0)') if empty(sfiles) if exists('s:last_message') unlet s:last_message