Просмотр исходного кода

Do not use nomodeline when triggering BufRead

Close #587
Junegunn Choi 9 лет назад
Родитель
Сommit
d1ac3cdd1f
2 измененных файлов с 8 добавлено и 3 удалено
  1. 4 1
      plug.vim
  2. 4 2
      test/regressions.vader

+ 4 - 1
plug.vim

@@ -426,7 +426,10 @@ function! s:dobufread(names)
     let path = s:rtp(g:plugs[name]).'/**'
     for dir in ['ftdetect', 'ftplugin']
       if len(finddir(dir, path))
-        return s:doautocmd('BufRead')
+        if exists('#BufRead')
+          doautocmd BufRead
+        endif
+        return
       endif
     endfor
   endfor

+ 4 - 2
test/regressions.vader

@@ -304,17 +304,19 @@ Execute (#474: Load ftdetect files in filetypedetect augroup):
   bd
 
 **********************************************************************
-Execute (#489 On-demand loading with 'on' option should trigger BufRead autocmd):
+Execute (#489/#587 On-demand loading with 'on' option should trigger BufRead autocmd w/o nomodeline):
   call plug#begin('$PLUG_FIXTURES')
   Plug 'ftplugin-msg', { 'on': 'XXX' }
   call plug#end()
 
   tabnew a.java
+  call setline(1, '// vim: set filetype=lava:')
   redir => out
   silent! XXX
   redir END
   Assert stridx(out, 'ftplugin-java') >= 0
-  q
+  AssertEqual 'lava', &filetype
+  q!
 
 **********************************************************************
 Execute (Cursor moved to another window during post-update hook):