Commits

Evgeny Podjachev committed e2d8060

Updated plugins.

Comments (0)

Files changed (283)

.vim/bundle/FSwitch/.git/FETCH_HEAD

+7d84346fd8bf74e69ece195477b6c8a9c63e165e		branch 'master' of https://github.com/vim-scripts/FSwitch

.vim/bundle/FSwitch/.git/ORIG_HEAD

+7d84346fd8bf74e69ece195477b6c8a9c63e165e

.vim/bundle/FX-HLSL/.git/FETCH_HEAD

+9153721ca1ce956b978ad38ea84f648dd4db81d4		branch 'master' of https://github.com/vim-scripts/FX-HLSL

.vim/bundle/FX-HLSL/.git/ORIG_HEAD

+9153721ca1ce956b978ad38ea84f648dd4db81d4

.vim/bundle/OmniCppComplete/.git/FETCH_HEAD

+2fac015957895dffa6b298e3c028ac30560d015b		branch 'master' of https://github.com/vim-scripts/OmniCppComplete

.vim/bundle/OmniCppComplete/.git/ORIG_HEAD

+2fac015957895dffa6b298e3c028ac30560d015b

.vim/bundle/Scons-compiler-plugin/.git/FETCH_HEAD

+542c8be294fd684d72c4408765e91191cefade58		branch 'master' of https://github.com/vim-scripts/Scons-compiler-plugin

.vim/bundle/Scons-compiler-plugin/.git/ORIG_HEAD

+542c8be294fd684d72c4408765e91191cefade58

.vim/bundle/TagHighlight/.git/FETCH_HEAD

+9ee760281ab6e8443ea9bb9ae484b0233b3f0e29		branch 'master' of https://github.com/vim-scripts/TagHighlight

.vim/bundle/TagHighlight/.git/ORIG_HEAD

+9ee760281ab6e8443ea9bb9ae484b0233b3f0e29

.vim/bundle/Tagbar/.git/FETCH_HEAD

+bff765b957b44988975565272eb4f6359543b4ec		branch 'master' of https://github.com/majutsushi/tagbar
+5dfb7cc2abe8ad78d489e8da36bc3f2cb0087c92	not-for-merge	branch '70fix' of https://github.com/majutsushi/tagbar
+cd1d23edcee43a1cc2cf30df6f29da1172706797	not-for-merge	branch 'gh-pages' of https://github.com/majutsushi/tagbar
+cda6b993d2998ea53fa804febea45d8956859768	not-for-merge	branch 'stltest' of https://github.com/majutsushi/tagbar

.vim/bundle/Tagbar/.git/ORIG_HEAD

+bff765b957b44988975565272eb4f6359543b4ec

.vim/bundle/Tagbar/.git/index

Binary file modified.

.vim/bundle/Tagbar/.git/logs/HEAD

 0000000000000000000000000000000000000000 6a7f155874bfcb698ec3a08761165da98335b02c evgeny <evgeny.podjachev@gmail.com> 1342518843 +0400	clone: from https://github.com/majutsushi/tagbar.git
+6a7f155874bfcb698ec3a08761165da98335b02c bff765b957b44988975565272eb4f6359543b4ec evgeny <evgeny.podjachev@gmail.com> 1344853214 +0400	pull: Fast-forward

.vim/bundle/Tagbar/.git/logs/refs/heads/master

 0000000000000000000000000000000000000000 6a7f155874bfcb698ec3a08761165da98335b02c evgeny <evgeny.podjachev@gmail.com> 1342518843 +0400	clone: from https://github.com/majutsushi/tagbar.git
+6a7f155874bfcb698ec3a08761165da98335b02c bff765b957b44988975565272eb4f6359543b4ec evgeny <evgeny.podjachev@gmail.com> 1344853214 +0400	pull: Fast-forward

.vim/bundle/Tagbar/.git/logs/refs/remotes/origin/master

+6a7f155874bfcb698ec3a08761165da98335b02c bff765b957b44988975565272eb4f6359543b4ec unknown <podjachev@Evgeny2.eagle.ru> 1344853214 +0400	pull: fast-forward

.vim/bundle/Tagbar/.git/objects/05/2bc7972b95ae8e04278f53f732abc215a55fdd

Binary file added.

.vim/bundle/Tagbar/.git/objects/05/316502926a322bd5cfc34b2f52460a2b56625f

Binary file added.

.vim/bundle/Tagbar/.git/objects/06/a7fab100507d33f6edec1a5439c319b1babcaa

Binary file added.

.vim/bundle/Tagbar/.git/objects/17/57b33da76aec0790fff4f59b2803e3a6897eee

Binary file added.

.vim/bundle/Tagbar/.git/objects/25/f0380b9b34fb9fbab061111e475ec6fb2b0f93

Binary file added.

.vim/bundle/Tagbar/.git/objects/26/8fa9bbc74c7a48c5ae9a4500c5f03c7b590755

Binary file added.

.vim/bundle/Tagbar/.git/objects/26/fb2bf64277c5383df081050ad989ca7cb0da43

Binary file added.

.vim/bundle/Tagbar/.git/objects/27/453921c5d1aeff961bac81828e9a809f604f5e

Binary file added.

.vim/bundle/Tagbar/.git/objects/32/508aa36450f927b4fed3685472aca8e58d3f1f

Binary file added.

.vim/bundle/Tagbar/.git/objects/39/098e0a80fd812d01e992f81f76a6d651c81e1f

Binary file added.

.vim/bundle/Tagbar/.git/objects/3c/006fb968e16ecff765f68d81036292b7af3cfa

Binary file added.

.vim/bundle/Tagbar/.git/objects/3c/4da805b8c6f7d41c9ba809a60f3c7b846bf720

Binary file added.

.vim/bundle/Tagbar/.git/objects/3c/da3b5ce151b6404cf7c46d3183ee2836d3fa2e

Binary file added.

.vim/bundle/Tagbar/.git/objects/40/851490f64098a36ddd693e3a6af39e481ca41d

Binary file added.

.vim/bundle/Tagbar/.git/objects/42/7d709f610ab97111996086e3e4a35d2c42c310

+x��Kj�0��)z?��%B��@��r+�`IFn'��cr�,
+^l�d5��D'�����)����K�<�CHn0ɒذSe0a�!"�sޏ8�c��kcR@kݔ���D^Z�V�c����������ؗ�Z��@j����i�H5

.vim/bundle/Tagbar/.git/objects/43/5011a9b7e16855fc9c84ce767f1ea023941b57

Binary file added.

.vim/bundle/Tagbar/.git/objects/48/38651f2f75f2ebdf1deac37596909e48c4162a

Binary file added.

.vim/bundle/Tagbar/.git/objects/49/d39cae6cae887abd7f538344f9a556bf3068be

Binary file added.

.vim/bundle/Tagbar/.git/objects/4d/20f16e9a55b557dadfd852cd34bb54fba193f9

Binary file added.

.vim/bundle/Tagbar/.git/objects/52/b921038fdcc4d6815bdd7c37e36bac07b8b2ea

Binary file added.

.vim/bundle/Tagbar/.git/objects/52/cf8730d47326bcd502174912ecc2df54528c35

Binary file added.

.vim/bundle/Tagbar/.git/objects/64/e84b6800301e6f80fd69d69160192739e7b3d9

Binary file added.

.vim/bundle/Tagbar/.git/objects/66/6bf11be760dbd1c9df563d2026f91144fe4407

Binary file added.

.vim/bundle/Tagbar/.git/objects/6b/1e3b1e3524b58ef3ec38325cc8c0943c44620b

+x+)JMU0�`040031Q(ILOJ,�+�(ax�2�g�&�sO���_3�CF��'Gvl

.vim/bundle/Tagbar/.git/objects/6d/73d4703292404c6bde1d9a1c95123ba99deaf6

Binary file added.

.vim/bundle/Tagbar/.git/objects/6f/a18875f05bdd80eb1144a5a03f5b6527f9956e

Binary file added.

.vim/bundle/Tagbar/.git/objects/71/68b669ed29626556cc037864d9fee0ebd5ef07

Binary file added.

.vim/bundle/Tagbar/.git/objects/73/1f54d52e2e32396312c223e87815bc83a88443

Binary file added.

.vim/bundle/Tagbar/.git/objects/82/ebe8127040906fba901de651cf6ae8034f84be

Binary file added.

.vim/bundle/Tagbar/.git/objects/91/09d49a87662b032d77336bbe6bdfbb4ce13341

Binary file added.

.vim/bundle/Tagbar/.git/objects/9d/8232a9be423f1e129ecd0448fba2af41501eff

Binary file added.

.vim/bundle/Tagbar/.git/objects/a2/13c2291244af1ad890b8721718e7463d2aa0a0

Binary file added.

.vim/bundle/Tagbar/.git/objects/ad/4945be9e25b4232264e38f2b6221653492a1cf

Binary file added.

.vim/bundle/Tagbar/.git/objects/b4/c3036ad01fd9cdc4c6a04e5c313e59db3615a4

Binary file added.

.vim/bundle/Tagbar/.git/objects/b9/948c909cc97358ff126eb8411a670ce4164731

Binary file added.

.vim/bundle/Tagbar/.git/objects/bf/f765b957b44988975565272eb4f6359543b4ec

Binary file added.

.vim/bundle/Tagbar/.git/objects/c0/39eb1448806f4966c3ea1309baeec29ea76cf7

Binary file added.

.vim/bundle/Tagbar/.git/objects/c1/96a5da59c642c144a06e9f88862ae6e9fb75b1

Binary file added.

.vim/bundle/Tagbar/.git/objects/ca/294112aa56027f58483cadad0b8edcdf0c890c

Binary file added.

.vim/bundle/Tagbar/.git/objects/d9/fa78dae925cfc2b77292defe031bebda1517fa

Binary file added.

.vim/bundle/Tagbar/.git/objects/e3/21d855480d4a6ab41c2e4df33b96060a17e74c

Binary file added.

.vim/bundle/Tagbar/.git/objects/e6/90a5e97da00bfd3d9a6d757f9016f49d016893

Binary file added.

.vim/bundle/Tagbar/.git/objects/e9/5d938867ff1b0af98177f8bf0b643d30e16e7b

Binary file added.

.vim/bundle/Tagbar/.git/objects/e9/649e0cb4b200cee5c5ce7fac9bf06875b3e4c5

Binary file added.

.vim/bundle/Tagbar/.git/objects/f1/c6d8c7802ec397ae48e48d2deaa3ac84a9c60f

+x��1��0@��:�� �$�
+�Ƌ�<M

.vim/bundle/Tagbar/.git/objects/f2/c072dbb9e959dd10425c7e9af457f410dcd727

Binary file added.

.vim/bundle/Tagbar/.git/objects/f3/c1a93017e75540fee843c97812c3a8ec246a7f

+x��AN�0

.vim/bundle/Tagbar/.git/objects/f7/b3427bba8e52e9adad93814f015712b7028d92

Binary file added.

.vim/bundle/Tagbar/.git/refs/heads/master

-6a7f155874bfcb698ec3a08761165da98335b02c
+bff765b957b44988975565272eb4f6359543b4ec

.vim/bundle/Tagbar/.git/refs/remotes/origin/master

+bff765b957b44988975565272eb4f6359543b4ec

.vim/bundle/Tagbar/autoload/tagbar.vim

 let s:debug_file = ''
 
 " s:Init() {{{2
-function! s:Init(silent)
+function! s:Init(silent) abort
     if s:checked_ctags == 2 && a:silent
         return 0
     elseif s:checked_ctags != 1
 endfunction
 
 " s:InitTypes() {{{2
-function! s:InitTypes()
+function! s:InitTypes() abort
     call s:LogDebugMessage('Initializing types')
 
     let s:known_types = {}
 endfunction
 
 " s:LoadUserTypeDefs() {{{2
-function! s:LoadUserTypeDefs(...)
+function! s:LoadUserTypeDefs(...) abort
     if a:0 > 0
         let type = a:1
 
 endfunction
 
 " s:CreateTypeKinddict() {{{2
-function! s:CreateTypeKinddict(type)
+function! s:CreateTypeKinddict(type) abort
     " Create a dictionary of the kind order for fast access in sorting
     " functions
     let i = 0
 
 " s:RestoreSession() {{{2
 " Properly restore Tagbar after a session got loaded
-function! s:RestoreSession()
+function! s:RestoreSession() abort
     call s:LogDebugMessage('Restoring session')
 
     let curfile = fnamemodify(bufname('%'), ':p')
 
     call s:InitWindow(g:tagbar_autoclose)
 
-    call s:AutoUpdate(curfile)
+    call s:AutoUpdate(curfile, 0)
 
     if !in_tagbar
         call s:winexec('wincmd p')
 endfunction
 
 " s:MapKeys() {{{2
-function! s:MapKeys()
+function! s:MapKeys() abort
     call s:LogDebugMessage('Mapping keys')
 
     nnoremap <script> <silent> <buffer> <2-LeftMouse>
 endfunction
 
 " s:CreateAutocommands() {{{2
-function! s:CreateAutocommands()
+function! s:CreateAutocommands() abort
     call s:LogDebugMessage('Creating autocommands')
 
     augroup TagbarAutoCmds
         autocmd BufEnter   __Tagbar__ nested call s:QuitIfOnlyWindow()
         autocmd CursorHold __Tagbar__ call s:ShowPrototype()
 
-        autocmd BufWritePost *
-            \ if line('$') < g:tagbar_updateonsave_maxlines |
-                \ call s:AutoUpdate(fnamemodify(expand('<afile>'), ':p')) |
-            \ endif
+        autocmd BufWritePost * call
+                    \ s:AutoUpdate(fnamemodify(expand('<afile>'), ':p'), 1)
         autocmd BufEnter,CursorHold,FileType * call
-                    \ s:AutoUpdate(fnamemodify(expand('<afile>'), ':p'))
+                    \ s:AutoUpdate(fnamemodify(expand('<afile>'), ':p'), 0)
         autocmd BufDelete,BufUnload,BufWipeout * call
                     \ s:known_files.rm(fnamemodify(expand('<afile>'), ':p'))
 
 " s:CheckForExCtags() {{{2
 " Test whether the ctags binary is actually Exuberant Ctags and not GNU ctags
 " (or something else)
-function! s:CheckForExCtags(silent)
+function! s:CheckForExCtags(silent) abort
     call s:LogDebugMessage('Checking for Exuberant Ctags')
 
     if !exists('g:tagbar_ctags_bin')
 endfunction
 
 " s:CheckExCtagsVersion() {{{2
-function! s:CheckExCtagsVersion(output)
+function! s:CheckExCtagsVersion(output) abort
     call s:LogDebugMessage('Checking Exuberant Ctags version')
 
     if a:output =~ 'Exuberant Ctags Development'
 endfunction
 
 " s:CheckFTCtags() {{{2
-function! s:CheckFTCtags(bin, ftype)
+function! s:CheckFTCtags(bin, ftype) abort
     if executable(a:bin)
         return a:bin
     endif
 endfunction
 
 " s:GetSupportedFiletypes() {{{2
-function! s:GetSupportedFiletypes()
+function! s:GetSupportedFiletypes() abort
     call s:LogDebugMessage('Getting filetypes sypported by Exuberant Ctags')
 
     let ctags_cmd = s:EscapeCtagsCmd(g:tagbar_ctags_bin, '--list-languages')
 let s:BaseTag = {}
 
 " s:BaseTag.New() {{{3
-function! s:BaseTag.New(name) dict
+function! s:BaseTag.New(name) abort dict
     let newobj = copy(self)
 
     call newobj._init(a:name)
 endfunction
 
 " s:BaseTag._init() {{{3
-function! s:BaseTag._init(name) dict
+function! s:BaseTag._init(name) abort dict
     let self.name          = a:name
     let self.fields        = {}
     let self.fields.line   = 0
 endfunction
 
 " s:BaseTag.isNormalTag() {{{3
-function! s:BaseTag.isNormalTag() dict
+function! s:BaseTag.isNormalTag() abort dict
     return 0
 endfunction
 
 " s:BaseTag.isPseudoTag() {{{3
-function! s:BaseTag.isPseudoTag() dict
+function! s:BaseTag.isPseudoTag() abort dict
     return 0
 endfunction
 
 " s:BaseTag.isKindheader() {{{3
-function! s:BaseTag.isKindheader() dict
+function! s:BaseTag.isKindheader() abort dict
     return 0
 endfunction
 
 " s:BaseTag.getPrototype() {{{3
-function! s:BaseTag.getPrototype() dict
+function! s:BaseTag.getPrototype() abort dict
     return ''
 endfunction
 
 " s:BaseTag._getPrefix() {{{3
-function! s:BaseTag._getPrefix() dict
+function! s:BaseTag._getPrefix() abort dict
     let fileinfo = self.fileinfo
 
     if has_key(self, 'children') && !empty(self.children)
 endfunction
 
 " s:BaseTag.initFoldState() {{{3
-function! s:BaseTag.initFoldState() dict
+function! s:BaseTag.initFoldState() abort dict
     let fileinfo = self.fileinfo
 
     if s:known_files.has(fileinfo.fpath) &&
 endfunction
 
 " s:BaseTag.getClosedParentTline() {{{3
-function! s:BaseTag.getClosedParentTline() dict
+function! s:BaseTag.getClosedParentTline() abort dict
     let tagline  = self.tline
     let fileinfo = self.fileinfo
 
 endfunction
 
 " s:BaseTag.isFoldable() {{{3
-function! s:BaseTag.isFoldable() dict
+function! s:BaseTag.isFoldable() abort dict
     return has_key(self, 'children') && !empty(self.children)
 endfunction
 
 " s:BaseTag.isFolded() {{{3
-function! s:BaseTag.isFolded() dict
+function! s:BaseTag.isFolded() abort dict
     return self.fileinfo.tagfolds[self.fields.kind][self.fullpath]
 endfunction
 
 " s:BaseTag.openFold() {{{3
-function! s:BaseTag.openFold() dict
+function! s:BaseTag.openFold() abort dict
     if self.isFoldable()
         let self.fileinfo.tagfolds[self.fields.kind][self.fullpath] = 0
     endif
 endfunction
 
 " s:BaseTag.closeFold() {{{3
-function! s:BaseTag.closeFold() dict
+function! s:BaseTag.closeFold() abort dict
     let newline = line('.')
 
     if !empty(self.parent) && self.parent.isKindheader()
 endfunction
 
 " s:BaseTag.setFolded() {{{3
-function! s:BaseTag.setFolded(folded) dict
+function! s:BaseTag.setFolded(folded) abort dict
     let self.fileinfo.tagfolds[self.fields.kind][self.fullpath] = a:folded
 endfunction
 
 " s:BaseTag.openParents() {{{3
-function! s:BaseTag.openParents() dict
+function! s:BaseTag.openParents() abort dict
     let parent = self.parent
 
     while !empty(parent)
 let s:NormalTag = copy(s:BaseTag)
 
 " s:NormalTag.isNormalTag() {{{3
-function! s:NormalTag.isNormalTag() dict
+function! s:NormalTag.isNormalTag() abort dict
     return 1
 endfunction
 
 " s:NormalTag.strfmt() {{{3
-function! s:NormalTag.strfmt() dict
+function! s:NormalTag.strfmt() abort dict
     let fileinfo = self.fileinfo
     let typeinfo = self.typeinfo
 
 endfunction
 
 " s:NormalTag.str() {{{3
-function! s:NormalTag.str(longsig, full) dict
+function! s:NormalTag.str(longsig, full) abort dict
     if a:full && self.path != ''
         let str = self.path . self.typeinfo.sro . self.name
     else
 endfunction
 
 " s:NormalTag.getPrototype() {{{3
-function! s:NormalTag.getPrototype() dict
+function! s:NormalTag.getPrototype() abort dict
     return self.prototype
 endfunction
 
 let s:PseudoTag = copy(s:BaseTag)
 
 " s:PseudoTag.isPseudoTag() {{{3
-function! s:PseudoTag.isPseudoTag() dict
+function! s:PseudoTag.isPseudoTag() abort dict
     return 1
 endfunction
 
 " s:PseudoTag.strfmt() {{{3
-function! s:PseudoTag.strfmt() dict
+function! s:PseudoTag.strfmt() abort dict
     let fileinfo = self.fileinfo
     let typeinfo = self.typeinfo
 
 let s:KindheaderTag = copy(s:BaseTag)
 
 " s:KindheaderTag.isKindheader() {{{3
-function! s:KindheaderTag.isKindheader() dict
+function! s:KindheaderTag.isKindheader() abort dict
     return 1
 endfunction
 
 " s:KindheaderTag.getPrototype() {{{3
-function! s:KindheaderTag.getPrototype() dict
+function! s:KindheaderTag.getPrototype() abort dict
     return self.name . ': ' .
          \ self.numtags . ' ' . (self.numtags > 1 ? 'tags' : 'tag')
 endfunction
 
 " s:KindheaderTag.isFoldable() {{{3
-function! s:KindheaderTag.isFoldable() dict
+function! s:KindheaderTag.isFoldable() abort dict
     return 1
 endfunction
 
 " s:KindheaderTag.isFolded() {{{3
-function! s:KindheaderTag.isFolded() dict
+function! s:KindheaderTag.isFolded() abort dict
     return self.fileinfo.kindfolds[self.short]
 endfunction
 
 " s:KindheaderTag.openFold() {{{3
-function! s:KindheaderTag.openFold() dict
+function! s:KindheaderTag.openFold() abort dict
     let self.fileinfo.kindfolds[self.short] = 0
 endfunction
 
 " s:KindheaderTag.closeFold() {{{3
-function! s:KindheaderTag.closeFold() dict
+function! s:KindheaderTag.closeFold() abort dict
     let self.fileinfo.kindfolds[self.short] = 1
     return line('.')
 endfunction
 
 " s:KindheaderTag.toggleFold() {{{3
-function! s:KindheaderTag.toggleFold() dict
+function! s:KindheaderTag.toggleFold() abort dict
     let fileinfo = s:known_files.getCurrent()
 
     let fileinfo.kindfolds[self.short] = !fileinfo.kindfolds[self.short]
 let s:TypeInfo = {}
 
 " s:TypeInfo.New() {{{3
-function! s:TypeInfo.New(...) dict
+function! s:TypeInfo.New(...) abort dict
     let newobj = copy(self)
 
     let newobj.kinddict = {}
 endfunction
 
 " s:TypeInfo.getKind() {{{3
-function! s:TypeInfo.getKind(kind) dict
+function! s:TypeInfo.getKind(kind) abort dict
     let idx = self.kinddict[a:kind]
     return self.kinds[idx]
 endfunction
 let s:FileInfo = {}
 
 " s:FileInfo.New() {{{3
-function! s:FileInfo.New(fname, ftype) dict
+function! s:FileInfo.New(fname, ftype) abort dict
     let newobj = copy(self)
 
     " The complete file path
     let newobj.fpath = a:fname
 
+    let newobj.bufnr = bufnr(a:fname)
+
     " File modification time
     let newobj.mtime = getftime(a:fname)
 
 " s:FileInfo.reset() {{{3
 " Reset stuff that gets regenerated while processing a file and save the old
 " tag folds
-function! s:FileInfo.reset() dict
+function! s:FileInfo.reset() abort dict
     let self.mtime = getftime(self.fpath)
     let self.tags  = []
     let self.fline = {}
 endfunction
 
 " s:FileInfo.clearOldFolds() {{{3
-function! s:FileInfo.clearOldFolds() dict
+function! s:FileInfo.clearOldFolds() abort dict
     if exists('self._tagfolds_old')
         unlet self._tagfolds_old
     endif
 endfunction
 
 " s:FileInfo.sortTags() {{{3
-function! s:FileInfo.sortTags() dict
+function! s:FileInfo.sortTags() abort dict
     if has_key(s:compare_typeinfo, 'sort')
         if s:compare_typeinfo.sort
             call s:SortTags(self.tags, 's:CompareByKind')
 endfunction
 
 " s:FileInfo.openKindFold() {{{3
-function! s:FileInfo.openKindFold(kind) dict
+function! s:FileInfo.openKindFold(kind) abort dict
     let self.kindfolds[a:kind.short] = 0
 endfunction
 
 " s:FileInfo.closeKindFold() {{{3
-function! s:FileInfo.closeKindFold(kind) dict
+function! s:FileInfo.closeKindFold(kind) abort dict
     let self.kindfolds[a:kind.short] = 1
 endfunction
 
 \ }
 
 " s:known_files.getCurrent() {{{3
-function! s:known_files.getCurrent() dict
+function! s:known_files.getCurrent() abort dict
     return self._current
 endfunction
 
 " s:known_files.setCurrent() {{{3
-function! s:known_files.setCurrent(fileinfo) dict
+function! s:known_files.setCurrent(fileinfo) abort dict
     let self._current = a:fileinfo
 endfunction
 
 " s:known_files.get() {{{3
-function! s:known_files.get(fname) dict
+function! s:known_files.get(fname) abort dict
     return get(self._files, a:fname, {})
 endfunction
 
 " s:known_files.put() {{{3
 " Optional second argument is the filename
-function! s:known_files.put(fileinfo, ...) dict
+function! s:known_files.put(fileinfo, ...) abort dict
     if a:0 == 1
         let self._files[a:1] = a:fileinfo
     else
 endfunction
 
 " s:known_files.has() {{{3
-function! s:known_files.has(fname) dict
+function! s:known_files.has(fname) abort dict
     return has_key(self._files, a:fname)
 endfunction
 
 " s:known_files.rm() {{{3
-function! s:known_files.rm(fname) dict
+function! s:known_files.rm(fname) abort dict
     if s:known_files.has(a:fname)
         call remove(self._files, a:fname)
     endif
 
 " Window management {{{1
 " s:ToggleWindow() {{{2
-function! s:ToggleWindow()
+function! s:ToggleWindow() abort
     call s:LogDebugMessage('ToggleWindow called')
 
     let tagbarwinnr = bufwinnr("__Tagbar__")
 endfunction
 
 " s:OpenWindow() {{{2
-function! s:OpenWindow(flags)
+function! s:OpenWindow(flags) abort
     call s:LogDebugMessage("OpenWindow called with flags: '" . a:flags . "'")
 
     let autofocus = a:flags =~# 'f'
     if tagbarwinnr != -1
         if winnr() != tagbarwinnr && jump
             call s:winexec(tagbarwinnr . 'wincmd w')
-            if autoclose
-                let w:autoclose = autoclose
-            endif
             call s:HighlightTag(1, curline)
         endif
         call s:LogDebugMessage("OpenWindow finished, Tagbar already open")
 
     call s:InitWindow(autoclose)
 
-    call s:AutoUpdate(curfile)
+    call s:AutoUpdate(curfile, 0)
     call s:HighlightTag(1, curline)
 
     if !(g:tagbar_autoclose || autofocus || g:tagbar_autofocus)
 endfunction
 
 " s:InitWindow() {{{2
-function! s:InitWindow(autoclose)
+function! s:InitWindow(autoclose) abort
     call s:LogDebugMessage('InitWindow called with autoclose: ' . a:autoclose)
 
     setlocal filetype=tagbar
 endfunction
 
 " s:CloseWindow() {{{2
-function! s:CloseWindow()
+function! s:CloseWindow() abort
     call s:LogDebugMessage('CloseWindow called')
 
     let tagbarwinnr = bufwinnr('__Tagbar__')
 endfunction
 
 " s:ZoomWindow() {{{2
-function! s:ZoomWindow()
+function! s:ZoomWindow() abort
     if s:is_maximized
         execute 'vert resize ' . g:tagbar_width
         let s:is_maximized = 0
 " tagbar#autoopen is used with a FileType autocommand on startup and
 " g:tagbar_left is set. This should work around it by jumping to the window of
 " the current file after startup.
-function! s:CorrectFocusOnStartup()
+function! s:CorrectFocusOnStartup() abort
     if bufwinnr('__Tagbar__') != -1 && !g:tagbar_autofocus && !s:last_autofocus
         let curfile = s:known_files.getCurrent()
         if !empty(curfile) && curfile.fpath != fnamemodify(bufname('%'), ':p')
 " Tag processing {{{1
 " s:ProcessFile() {{{2
 " Execute ctags and put the information into a 'FileInfo' object
-function! s:ProcessFile(fname, ftype)
+function! s:ProcessFile(fname, ftype) abort
     call s:LogDebugMessage('ProcessFile called on ' . a:fname)
 
     if !s:IsValidFile(a:fname, a:ftype)
         return
     endif
 
-    let ctags_output = s:ExecuteCtagsOnFile(a:fname, a:ftype)
-
-    if ctags_output == -1
-        call s:LogDebugMessage('Ctags error when processing file')
-        " put an empty entry into known_files so the error message is only
-        " shown once
-        call s:known_files.put({}, a:fname)
-        return
-    elseif ctags_output == ''
-        call s:LogDebugMessage('Ctags output empty')
-        " No need to go through the tag processing if there are no tags, and
-        " preserving the old fold state also isn't necessary
-        call s:known_files.put(s:FileInfo.New(a:fname, a:ftype), a:fname)
-        return
-    endif
-
     " If the file has only been updated preserve the fold states, otherwise
     " create a new entry
     if s:known_files.has(a:fname)
         let fileinfo = s:FileInfo.New(a:fname, a:ftype)
     endif
 
+    let tempfile = tempname()
+    let ext = fnamemodify(fileinfo.fpath, ':e')
+    if ext != ''
+        let tempfile .= '.' . ext
+    endif
+
+    call writefile(getbufline(fileinfo.bufnr, 1, '$'), tempfile)
+    let fileinfo.mtime = getftime(tempfile)
+
+    let ctags_output = s:ExecuteCtagsOnFile(tempfile, a:ftype)
+
+    call delete(tempfile)
+
+    if ctags_output == -1
+        call s:LogDebugMessage('Ctags error when processing file')
+        " Put an empty entry into known_files so the error message is only
+        " shown once
+        call s:known_files.put({}, a:fname)
+        return
+    elseif ctags_output == ''
+        call s:LogDebugMessage('Ctags output empty')
+        " No need to go through the tag processing if there are no tags, and
+        " preserving the old fold state isn't necessary either
+        call s:known_files.put(s:FileInfo.New(a:fname, a:ftype), a:fname)
+        return
+    endif
+
     let typeinfo = fileinfo.typeinfo
 
     " Parse the ctags output lines
 endfunction
 
 " s:ExecuteCtagsOnFile() {{{2
-function! s:ExecuteCtagsOnFile(fname, ftype)
+function! s:ExecuteCtagsOnFile(fname, ftype) abort
     call s:LogDebugMessage('ExecuteCtagsOnFile called on ' . a:fname)
 
     let typeinfo = s:known_types[a:ftype]
 " tagname<TAB>filename<TAB>expattern;"fields
 " fields: <TAB>name:value
 " fields that are always present: kind, line
-function! s:ParseTagline(part1, part2, typeinfo, fileinfo)
+function! s:ParseTagline(part1, part2, typeinfo, fileinfo) abort
     let basic_info  = split(a:part1, '\t')
 
     let taginfo      = s:NormalTag.New(basic_info[0])
 " Tagbar. Properly parsing them is quite tricky, so try not to think about it
 " too much.
 function! s:AddScopedTags(tags, processedtags, parent, depth,
-                        \ typeinfo, fileinfo)
+                        \ typeinfo, fileinfo) abort
     if !empty(a:parent)
         let curpath = a:parent.fullpath
         let pscope  = a:typeinfo.kind2scope[a:parent.fields.kind]
 endfunction
 
 " s:ProcessPseudoTag() {{{2
-function! s:ProcessPseudoTag(curtags, tag, parent, typeinfo, fileinfo)
+function! s:ProcessPseudoTag(curtags, tag, parent, typeinfo, fileinfo) abort
     let curpath = !empty(a:parent) ? a:parent.fullpath : ''
 
     let pseudoname = substitute(a:tag.path, curpath, '', '')
 endfunction
 
 " s:ProcessPseudoChildren() {{{2
-function! s:ProcessPseudoChildren(tags, tag, depth, typeinfo, fileinfo)
+function! s:ProcessPseudoChildren(tags, tag, depth, typeinfo, fileinfo) abort
     for childtag in a:tag.children
         let childtag.parent = a:tag
 
 endfunction
 
 " s:CreatePseudoTag() {{{2
-function! s:CreatePseudoTag(name, parent, scope, typeinfo, fileinfo)
+function! s:CreatePseudoTag(name, parent, scope, typeinfo, fileinfo) abort
     if !empty(a:parent)
         let curpath = a:parent.fullpath
         let pscope  = a:typeinfo.kind2scope[a:parent.fields.kind]
 
 " Sorting {{{1
 " s:SortTags() {{{2
-function! s:SortTags(tags, comparemethod)
+function! s:SortTags(tags, comparemethod) abort
     call sort(a:tags, a:comparemethod)
 
     for tag in a:tags
 endfunction
 
 " s:CompareByKind() {{{2
-function! s:CompareByKind(tag1, tag2)
+function! s:CompareByKind(tag1, tag2) abort
     let typeinfo = s:compare_typeinfo
 
     if typeinfo.kinddict[a:tag1.fields.kind] <#
 endfunction
 
 " s:CompareByLine() {{{2
-function! s:CompareByLine(tag1, tag2)
+function! s:CompareByLine(tag1, tag2) abort
     return a:tag1.fields.line - a:tag2.fields.line
 endfunction
 
 " s:ToggleSort() {{{2
-function! s:ToggleSort()
+function! s:ToggleSort() abort
     let fileinfo = s:known_files.getCurrent()
     if empty(fileinfo)
         return
 
 " Display {{{1
 " s:RenderContent() {{{2
-function! s:RenderContent(...)
+function! s:RenderContent(...) abort
     call s:LogDebugMessage('RenderContent called')
     let s:new_window = 0
 
 endfunction
 
 " s:PrintKinds() {{{2
-function! s:PrintKinds(typeinfo, fileinfo)
+function! s:PrintKinds(typeinfo, fileinfo) abort
     call s:LogDebugMessage('PrintKinds called')
 
     let first_tag = 1
 endfunction
 
 " s:PrintTag() {{{2
-function! s:PrintTag(tag, depth, fileinfo, typeinfo)
+function! s:PrintTag(tag, depth, fileinfo, typeinfo) abort
     " Print tag indented according to depth
     silent put =repeat(' ', a:depth * 2) . a:tag.strfmt()
 
 endfunction
 
 " s:PrintHelp() {{{2
-function! s:PrintHelp()
+function! s:PrintHelp() abort
     if !g:tagbar_compact && s:short_help
         silent 0put ='\" Press <F1> for help'
         silent  put _
 
 " s:RenderKeepView() {{{2
 " The gist of this function was taken from NERDTree by Martin Grenfell.
-function! s:RenderKeepView(...)
+function! s:RenderKeepView(...) abort
     if a:0 == 1
         let line = a:1
     else
 
 " User actions {{{1
 " s:HighlightTag() {{{2
-function! s:HighlightTag(openfolds, ...)
+function! s:HighlightTag(openfolds, ...) abort
     let tagline = 0
 
     if a:0 > 0
 endfunction
 
 " s:JumpToTag() {{{2
-function! s:JumpToTag(stay_in_tagbar)
+function! s:JumpToTag(stay_in_tagbar) abort
     let taginfo = s:GetTagInfo(line('.'), 1)
 
     let autoclose = w:autoclose
     call cursor(taginfo.fields.line, taginfo.fields.column)
 
     if foldclosed('.') != -1
-        .foldopen!
+        .foldopen
     endif
 
     redraw
 endfunction
 
 " s:ShowPrototype() {{{2
-function! s:ShowPrototype()
+function! s:ShowPrototype() abort
     let taginfo = s:GetTagInfo(line('.'), 1)
 
     if empty(taginfo)
 endfunction
 
 " s:ToggleHelp() {{{2
-function! s:ToggleHelp()
+function! s:ToggleHelp() abort
     let s:short_help = !s:short_help
 
     " Prevent highlighting from being off after adding/removing the help text
 endfunction
 
 " s:GotoNextToplevelTag() {{{2
-function! s:GotoNextToplevelTag(direction)
+function! s:GotoNextToplevelTag(direction) abort
     let curlinenr = line('.')
     let newlinenr = line('.')
 
 
 " Folding {{{1
 " s:OpenFold() {{{2
-function! s:OpenFold()
+function! s:OpenFold() abort
     let fileinfo = s:known_files.getCurrent()
     if empty(fileinfo)
         return
 endfunction
 
 " s:CloseFold() {{{2
-function! s:CloseFold()
+function! s:CloseFold() abort
     let fileinfo = s:known_files.getCurrent()
     if empty(fileinfo)
         return
 endfunction
 
 " s:ToggleFold() {{{2
-function! s:ToggleFold()
+function! s:ToggleFold() abort
     let fileinfo = s:known_files.getCurrent()
     if empty(fileinfo)
         return
 endfunction
 
 " s:SetFoldLevel() {{{2
-function! s:SetFoldLevel(level, force)
+function! s:SetFoldLevel(level, force) abort
     if a:level < 0
         echoerr 'Foldlevel can''t be negative'
         return
 
 " s:SetFoldLevelRecursive() {{{2
 " Apply foldlevel to normal tags
-function! s:SetFoldLevelRecursive(fileinfo, tags, level)
+function! s:SetFoldLevelRecursive(fileinfo, tags, level) abort
     for tag in a:tags
         if tag.depth >= a:level
             call tag.setFolded(1)
 endfunction
 
 " s:OpenParents() {{{2
-function! s:OpenParents(...)
+function! s:OpenParents(...) abort
     let tagline = 0
 
     if a:0 == 1
 
 " Helper functions {{{1
 " s:AutoUpdate() {{{2
-function! s:AutoUpdate(fname)
+function! s:AutoUpdate(fname, force) abort
     call s:LogDebugMessage('AutoUpdate called on ' . a:fname)
 
     " Get the filetype of the file we're about to process
 
     let updated = 0
 
-    " Process the file if it's unknown or the information is outdated
+    " Process the file if it's unknown or the information is outdated.
     " Also test for entries that exist but are empty, which will be the case
-    " if there was an error during the ctags execution
+    " if there was an error during the ctags execution.
+    " Testing the mtime of the file is necessary in case it got changed
+    " outside of Vim, for example by checking out a different version from a
+    " VCS.
     if s:known_files.has(a:fname) && !empty(s:known_files.get(a:fname))
-        if s:known_files.get(a:fname).mtime != getftime(a:fname)
+        let curfile = s:known_files.get(a:fname)
+        " if a:force || getbufvar(curfile.bufnr, '&modified') ||
+        if a:force ||
+         \ (filereadable(a:fname) && getftime(a:fname) > curfile.mtime)
             call s:LogDebugMessage('File data outdated, updating ' . a:fname)
             call s:ProcessFile(a:fname, sftype)
             let updated = 1
+        else
+            call s:LogDebugMessage('File data seems up to date: ' . a:fname)
         endif
     elseif !s:known_files.has(a:fname)
         call s:LogDebugMessage('New file, processing ' . a:fname)
     endif
 
     " Call setCurrent after rendering so RenderContent can check whether the
-    " same file is redisplayed
+    " same file is being redisplayed
     if !empty(fileinfo)
         call s:LogDebugMessage('Setting current file to ' . a:fname)
         call s:known_files.setCurrent(fileinfo)
 endfunction
 
 " s:CheckMouseClick() {{{2
-function! s:CheckMouseClick()
+function! s:CheckMouseClick() abort
     let line   = getline('.')
     let curcol = col('.')
 
 endfunction
 
 " s:DetectFiletype() {{{2
-function! s:DetectFiletype(bufnr)
+function! s:DetectFiletype(bufnr) abort
     " Filetype has already been detected for loaded buffers, but not
     " necessarily for unloaded ones
     let ftype = getbufvar(a:bufnr, '&filetype')
 " Assemble the ctags command line in a way that all problematic characters are
 " properly escaped and converted to the system's encoding
 " Optional third parameter is a file name to run ctags on
-function! s:EscapeCtagsCmd(ctags_bin, args, ...)
+function! s:EscapeCtagsCmd(ctags_bin, args, ...) abort
     call s:LogDebugMessage('EscapeCtagsCmd called')
     call s:LogDebugMessage('ctags_bin: ' . a:ctags_bin)
     call s:LogDebugMessage('ctags_args: ' . a:args)
 
     " Needed for cases where 'encoding' is different from the system's
     " encoding
-    if g:tagbar_systemenc != &encoding
-        let ctags_cmd = iconv(ctags_cmd, &encoding, g:tagbar_systemenc)
-    elseif $LANG != ''
-        let ctags_cmd = iconv(ctags_cmd, &encoding, $LANG)
+    if has('multi_byte')
+        if g:tagbar_systemenc != &encoding
+            let ctags_cmd = iconv(ctags_cmd, &encoding, g:tagbar_systemenc)
+        elseif $LANG != ''
+            let ctags_cmd = iconv(ctags_cmd, &encoding, $LANG)
+        endif
     endif
 
     call s:LogDebugMessage('Escaped ctags command: ' . ctags_cmd)
     if ctags_cmd == ''
         echoerr 'Tagbar: Encoding conversion failed!'
               \ 'Please make sure your system is set up correctly'
-              \ 'and that Vim is compiled with the "iconv" feature.'
+              \ 'and that Vim is compiled with the "+iconv" feature.'
     endif
 
     return ctags_cmd
 " Execute ctags with necessary shell settings
 " Partially based on the discussion at
 " http://vim.1045645.n5.nabble.com/bad-default-shellxquote-in-Widows-td1208284.html
-function! s:ExecuteCtags(ctags_cmd)
+function! s:ExecuteCtags(ctags_cmd) abort
     if exists('+shellslash')
         let shellslash_save = &shellslash
         set noshellslash
 
 " s:GetNearbyTag() {{{2
 " Get the tag info for a file near the cursor in the current file
-function! s:GetNearbyTag(all, ...)
+function! s:GetNearbyTag(all, ...) abort
     let fileinfo = s:known_files.getCurrent()
     if empty(fileinfo)
         return {}
 " Return the info dictionary of the tag on the specified line. If the line
 " does not contain a valid tag (for example because it is empty or only
 " contains a pseudo-tag) return an empty dictionary.
-function! s:GetTagInfo(linenr, ignorepseudo)
+function! s:GetTagInfo(linenr, ignorepseudo) abort
     let fileinfo = s:known_files.getCurrent()
 
     if empty(fileinfo)
 endfunction
 
 " s:IsValidFile() {{{2
-function! s:IsValidFile(fname, ftype)
+function! s:IsValidFile(fname, ftype) abort
     call s:LogDebugMessage('Checking if file is valid: ' . a:fname)
 
     if a:fname == '' || a:ftype == ''
         return 0
     endif
 
-    if !filereadable(a:fname)
+    if !filereadable(a:fname) && getbufvar(a:fname, 'netrw_tmpfile') == ''
         call s:LogDebugMessage('File not readable')
         return 0
     endif
 endfunction
 
 " s:QuitIfOnlyWindow() {{{2
-function! s:QuitIfOnlyWindow()
+function! s:QuitIfOnlyWindow() abort
     " Check if there is more than window
     if winbufnr(2) == -1
         " Check if there is more than one tab page
 endfunction
 
 " s:winexec() {{{2
-function! s:winexec(cmd)
+function! s:winexec(cmd) abort
     call s:LogDebugMessage("Executing without autocommands: " . a:cmd)
 
     let eventignore_save = &eventignore
 endfunction
 
 " TagbarBalloonExpr() {{{2
-function! TagbarBalloonExpr()
+function! TagbarBalloonExpr() abort
     let taginfo = s:GetTagInfo(v:beval_lnum, 1)
 
     if empty(taginfo)
 endfunction
 
 " TagbarGenerateStatusline() {{{2
-function! TagbarGenerateStatusline()
+function! TagbarGenerateStatusline() abort
     if g:tagbar_sort
         let text = '[Name]'
     else
 
 " Debugging {{{1
 " s:StartDebug() {{{2
-function! s:StartDebug(filename)
+function! s:StartDebug(filename) abort
     if empty(a:filename)
         let s:debug_file = 'tagbardebug.log'
     else
 endfunction
 
 " s:StopDebug() {{{2
-function! s:StopDebug()
+function! s:StopDebug() abort
     let s:debug = 0
     let s:debug_file = ''
 endfunction
 
 " s:LogDebugMessage() {{{2
-function! s:LogDebugMessage(msg)
+function! s:LogDebugMessage(msg) abort
     if s:debug
         exe 'redir >> ' . s:debug_file
         silent echon strftime('%H:%M:%S') . ': ' . a:msg . "\n"
 " Autoload functions {{{1
 
 " Wrappers {{{2
-function! tagbar#ToggleWindow()
+function! tagbar#ToggleWindow() abort
     call s:ToggleWindow()
 endfunction
 
-function! tagbar#OpenWindow(...)
+function! tagbar#OpenWindow(...) abort
     let flags = a:0 > 0 ? a:1 : ''
     call s:OpenWindow(flags)
 endfunction
 
-function! tagbar#CloseWindow()
+function! tagbar#CloseWindow() abort
     call s:CloseWindow()
 endfunction
 
-function! tagbar#SetFoldLevel(level, force)
+function! tagbar#SetFoldLevel(level, force) abort
     call s:SetFoldLevel(a:level, a:force)
 endfunction
 
-function! tagbar#OpenParents()
+function! tagbar#OpenParents() abort
     call s:OpenParents()
 endfunction
 
-function! tagbar#StartDebug(...)
+function! tagbar#StartDebug(...) abort
     let filename = a:0 > 0 ? a:1 : ''
     call s:StartDebug(filename)
 endfunction
 
-function! tagbar#StopDebug()
+function! tagbar#StopDebug() abort
     call s:StopDebug()
 endfunction
 
-function! tagbar#RestoreSession()
+function! tagbar#RestoreSession() abort
     call s:RestoreSession()
 endfunction
 " }}}2
 
 " tagbar#getusertypes() {{{2
-function! tagbar#getusertypes()
+function! tagbar#getusertypes() abort
     redir => defs
     silent execute 'let g:'
     redir END
 " tagbar#autoopen() {{{2
 " Automatically open Tagbar if one of the open buffers contains a supported
 " file
-function! tagbar#autoopen(...)
+function! tagbar#autoopen(...) abort
     call s:LogDebugMessage('tagbar#autoopen called on ' . bufname('%'))
     let always = a:0 > 0 ? a:1 : 1
 
 endfunction
 
 " tagbar#currenttag() {{{2
-function! tagbar#currenttag(fmt, default, ...)
+function! tagbar#currenttag(fmt, default, ...) abort
     if a:0 > 0
         " also test for non-zero value for backwards compatibility
         let longsig  = a:1 =~# 's' || (type(a:1) == type(0) && a:1 != 0)
 endfunction
 
 " tagbar#gettypeconfig() {{{2
-function! tagbar#gettypeconfig(type)
+function! tagbar#gettypeconfig(type) abort
     if !s:Init(1)
         return ''
     endif

.vim/bundle/Tagbar/doc/tagbar.txt

           were set to 1)
     'j'   Jump to Tagbar window if already open
     'c'   Close Tagbar on tag selection (just as if |g:tagbar_autoclose| were
-          set to 1, but doesn't imply 'f')
+          set to 1, but doesn't imply 'f'), but only if the Tagbar window was
+          opened using this command.
 
     For example, the following command would always jump to the Tagbar window,
     opening it first if necessary, but keep it open after selecting a tag
 
 :TagbarOpenAutoClose                                    *:TagbarOpenAutoClose*
     Open the Tagbar window, jump to it and close it on tag selection. This is
-    an alias for ":TagbarOpen fc".
+    an alias for ":TagbarOpen fjc".
 
 :TagbarSetFoldlevel[!] {number}                          *:TagbarSetFoldlevel*
     Set the foldlevel of the tags of the current file to {number}. The
 
                                               *g:tagbar_updateonsave_maxlines*
 g:tagbar_updateonsave_maxlines~
-Default: 5000
 
-If the current file has fewer lines than the value of this variable, Tagbar
-will update immediately after saving the file. If it is longer then the update
-will only happen on the |CursorHold| event and when switching buffers (or
-windows). This is to prevent the time it takes to save a large file from
-becoming annoying in case you have a slow computer. If you have a fast
-computer you can set it to a higher value.
+Deprecated. Tagbar will now always get updated when the file is being saved.
 
-Example:
->
-        let g:tagbar_updateonsave_maxlines = 10000
-<
 
                                                           *g:tagbar_systemenc*
 g:tagbar_systemenc~
 example, if you use a Simplified Chinese Windows version that has a system
 encoding of "cp936", and you have set 'encoding' to "utf-8", then you would
 have to set this variable to "cp936".
+Note that this requires Vim to be compiled with the |+multi_byte| and (unless
+your encoding is latin1) |+iconv| features to work.
 
 Example:
 >
 Tagbar should now be able to show the sections and other tags from LaTeX
 files.
 
+Note: As of 2012-05-05 the ctags development version contains an improved
+LaTeX parser that works better than the example configuration presented here.
+So if you are using a development build newer than that or a stable version
+newer than 5.8 you should use the built-in support instead of this example.
+
 Writing your own tag-generating program~
 If you want to write your own program for generating tags then here are some
 imporant tips to get it to integrate well with Tagbar:

.vim/bundle/Tagbar/plugin/tagbar.vim

     let g:tagbar_autoshowtag = 0
 endif
 
-if !exists('g:tagbar_updateonsave_maxlines')
-    let g:tagbar_updateonsave_maxlines = 5000
-endif
-
 if !exists('g:tagbar_systemenc')
     let g:tagbar_systemenc = &encoding
 endif
 " Commands {{{1
 command! -nargs=0 TagbarToggle        call tagbar#ToggleWindow()
 command! -nargs=? TagbarOpen          call tagbar#OpenWindow(<f-args>)
-command! -nargs=0 TagbarOpenAutoClose call tagbar#OpenWindow('fc')
+command! -nargs=0 TagbarOpenAutoClose call tagbar#OpenWindow('fcj')
 command! -nargs=0 TagbarClose         call tagbar#CloseWindow()
 command! -nargs=1 -bang TagbarSetFoldlevel  call tagbar#SetFoldLevel(<args>, <bang>0)
 command! -nargs=0 TagbarShowTag       call tagbar#OpenParents()

.vim/bundle/fastfileselector/.git/index

Binary file modified.

.vim/bundle/fastfileselector/.git/logs/HEAD

-0000000000000000000000000000000000000000 d5222abc59d62ace02132bd026ead443afe99c21 evgeny <evgeny.podjachev@gmail.com> 1342202906 +0400	clone: from https://bitbucket.org/madevgeny/fastfileselector.git
+0000000000000000000000000000000000000000 b64a8720e4fac48c22568363ae89e9ca25996ae8 evgeny <evgeny.podjachev@gmail.com> 1344853988 +0400	clone: from https://bitbucket.org/madevgeny/fastfileselector.git

.vim/bundle/fastfileselector/.git/logs/refs/heads/master

-0000000000000000000000000000000000000000 d5222abc59d62ace02132bd026ead443afe99c21 evgeny <evgeny.podjachev@gmail.com> 1342202906 +0400	clone: from https://bitbucket.org/madevgeny/fastfileselector.git
+0000000000000000000000000000000000000000 b64a8720e4fac48c22568363ae89e9ca25996ae8 evgeny <evgeny.podjachev@gmail.com> 1344853988 +0400	clone: from https://bitbucket.org/madevgeny/fastfileselector.git

.vim/bundle/fastfileselector/.git/logs/refs/remotes/origin/HEAD

-0000000000000000000000000000000000000000 d5222abc59d62ace02132bd026ead443afe99c21 evgeny <evgeny.podjachev@gmail.com> 1342202906 +0400	clone: from https://bitbucket.org/madevgeny/fastfileselector.git
+0000000000000000000000000000000000000000 b64a8720e4fac48c22568363ae89e9ca25996ae8 evgeny <evgeny.podjachev@gmail.com> 1344853988 +0400	clone: from https://bitbucket.org/madevgeny/fastfileselector.git

.vim/bundle/fastfileselector/.git/objects/15/8d6890763eec82e7245345eb45890aa6171683

Binary file removed.

.vim/bundle/fastfileselector/.git/objects/17/1e36c4a28fb7cc63a991f161414dc127017e6e

-x�UMs�6��k^l�شݴ��je�8����1��LN�\�H@��RԦ��
-�E�Uq:NFQ���
-t%M=j��ṛ����ws�
 d���|� 
-Ȳ����

.vim/bundle/fastfileselector/.git/objects/31/9c188abf409021999291fc50f91b5d9cbb6540

Binary file removed.

.vim/bundle/fastfileselector/.git/objects/33/4d4250327dd1b0fdc7645bdf35305cd6c46ad6

Binary file removed.

.vim/bundle/fastfileselector/.git/objects/39/685ba18d738738a2958b99be17553aeaa54234

Binary file removed.

.vim/bundle/fastfileselector/.git/objects/44/21d394defc4ba5bd69fa5e8a5eb4687c839920

Binary file removed.

.vim/bundle/fastfileselector/.git/objects/59/3bfb7e765bee8f8f2ff39ede793369cb298282

Binary file removed.

.vim/bundle/fastfileselector/.git/objects/5a/cf4f3ca6f2e062ae30c927076da06fb3baa1a2

Binary file removed.

.vim/bundle/fastfileselector/.git/objects/5d/26642052ced54e30879840feab7d1b3ba06a6f

Binary file removed.

.vim/bundle/fastfileselector/.git/objects/64/2b1bc6dc868ee18da13c31e723f9e92683c5e3

Binary file removed.

.vim/bundle/fastfileselector/.git/objects/6b/7a41ffe6a4c30c721b43d9c8a9a573cf1bdfc7

Binary file removed.

.vim/bundle/fastfileselector/.git/objects/70/e14f5ded74d30da71fe07ad8088f415d874ad4

Binary file removed.

.vim/bundle/fastfileselector/.git/objects/71/9da27931ec0a82a7db400c8284ec8ba9b44a8d

-x+)JMU0�`040031QHK,.I��I-N�IM.�/�+��e�UKQ:w�Ϡ}�ÿյ��

.vim/bundle/fastfileselector/.git/objects/78/2ec42aac339905870fdcf91bba65a7952da5c7

-x��A��0
-SB
-.g�(����K�K�"]�svI2�٩��!fDB�2f����'D�'��*1�

.vim/bundle/fastfileselector/.git/objects/86/c8e8107bd0a35d420180e39ecfe28d6022ac9d

Binary file removed.

.vim/bundle/fastfileselector/.git/objects/95/956dc3076fc55453f822d5ab152b22494b0b9a

-x��[
-� E��*�/�����.���Qb

.vim/bundle/fastfileselector/.git/objects/9c/42ea15157ecf9abf17516aa36e9aa709caacd2

Binary file removed.

.vim/bundle/fastfileselector/.git/objects/9e/b2907a44cb1e11ce15ebb82d95b541f32e0a3b

-x��K��0��)z��a�0�Ȧ�n;�d����07�Ճ�*^i�tpO}�,E
-��6ڥv��I	��x�����˔�8R�G-:�XPѫ������o���A�.��y��K[���`��> �M0F

.vim/bundle/fastfileselector/.git/objects/9f/77a7e9d2f0b3bdfe3b77d86cd4ced9be89fa9d

-x��A
-�0E��)f_3�
-��ݏ�)�HHo_�7�����_�)�
-����:d0t���zoz����$�m�̊?u�de��vR����0���Y���2���:�#Z�O]=���X#�p�i���>�

.vim/bundle/fastfileselector/.git/objects/a2/332c161b6ad39d0c5af2a46bcfdae60872a03a

Binary file removed.

.vim/bundle/fastfileselector/.git/objects/a7/9ece0d3e9a617628f9a992264461b7abed471d

Binary file removed.

.vim/bundle/fastfileselector/.git/objects/ab/351a4b1c85794366090c4568234e4a78c26aaa

Binary file removed.

.vim/bundle/fastfileselector/.git/objects/ab/9a2002cf601b3c9a4a43234ba6cd371058351a

Binary file removed.

.vim/bundle/fastfileselector/.git/objects/c2/11f016464c92ae08295106bf4bb0611da63e65

-x��K
-�0E;�*2/�I��A)�v/�F-���Bw_�