vim-polyglot
vim-polyglot copied to clipboard
`ada` filetype cannot loading
Does this bug happen when you install plugin without vim-polyglot?
No
Describe the bug:
ada
filetype cannot loading.
To Reproduce:
Use vim-polyglot 4d4aa5f
vimrc
set nocompatible
set rtp^=/path/to/vim-polyglot
> vim --version
VIM - Vi IMproved 8.2 (2019 Dec 12, compiled Sep 19 2021 15:55:16)
Included patches: 1-3450
...
> vim -u vimrc -c 'set ft=ada'
Error detected while processing command line..FileType Autocommands for "*"..function <SNR>7_LoadFTPlugin[17]..script /path/to/vim-polyglot/ftplugin/ada.vim[135]../path/to/system-vimruntime/compiler/gnat.vim[31]../path/to/vim-polyglot/autoload/ada.vim:
line 43:
E741: Value is locked: g:ada#DotWordRegex
line 44:
E741: Value is locked: g:ada#WordRegex
...
Cause
polyglot#init#is_disabled()
is called from vim-polyglot/autoload/ada.vim and it's sourced $VIMRUNTIME/autoload/ada.vim.
Therefore, it tries to change the locked variable and error occured.
Why does polyglot#init#is_disabled()
try to source all autoload script of a:path
in runtimepath?
https://github.com/sheerun/vim-polyglot/blob/4d4aa5fe553a47ef5c5c6d0a97bb487fdfda2d5b/autoload/polyglot/init.vim#L23-L37
I made the following changes and it worked fine.
func! polyglot#init#is_disabled(caller, name, path)
return has_key(g:polyglot_is_disabled, a:name)
endfunc
Looks like make test
also fails due to this.