mirror of
https://github.com/neovim/neovim.git
synced 2024-12-23 20:55:18 -07:00
spellfile.vim: improve error message for missing spellfile
Problem: If spellfile is missing, then "set spell" in modeline/sandbox fails with a non-obvious error. Solution: Check for sandbox early and give a meaningful error. Fixes #11359 Test case: # test.latex has `% vim: set spelllang=hu:` # no spell file for `hu` yet! nvim -u NORC --cmd 'autocmd FileType tex setlocal spell' --cmd 'set modeline' test.latex Before: No spell file for "hu" in utf-8 Download it? Downloading hu.utf-8.spl... Error detected while processing /usr/local/share/nvim/runtime/autoload/netrw.vim: line 583: E12: Command not allowed from exrc/vimrc in current dir or tag search: au WinEnter *^Iif &ft == "netrw"|call s:NetrwInsureWinVars()|endif Error detected while processing function spellfile#LoadFile[60]..spellfile#Nread[13]..netrw#NetRead[4]..<SNR>67_NetrwOptionsSave: line 66: E171: Missing :endif Error detected while processing function spellfile#LoadFile[60]..spellfile#Nread: line 13: E171: Missing :endif Error detected while processing function spellfile#LoadFile: line 60: E171: Missing :endif Error detected while processing modelines: line 1: E12: Command not allowed from exrc/vimrc in current dir or tag search After: Error detected while processing function spellfile#LoadFile: line 5: E605: Exception not caught: Cannot download spellfile in sandbox/modeline. Try ":set spell" from the cmdline. Error detected while processing modelines: line 1: E12: Command not allowed from exrc/vimrc in current dir or tag search
This commit is contained in:
parent
06a020af09
commit
b9c9283f72
@ -13,6 +13,13 @@ let s:spellfile_URL = '' " Start with nothing so that s:donedict is reset.
|
|||||||
|
|
||||||
" This function is used for the spellfile plugin.
|
" This function is used for the spellfile plugin.
|
||||||
function! spellfile#LoadFile(lang)
|
function! spellfile#LoadFile(lang)
|
||||||
|
" Check for sandbox/modeline. #11359
|
||||||
|
try
|
||||||
|
:!
|
||||||
|
catch /\<E12\>/
|
||||||
|
throw 'Cannot download spellfile in sandbox/modeline. Try ":set spell" from the cmdline.'
|
||||||
|
endtry
|
||||||
|
|
||||||
" If the netrw plugin isn't loaded we silently skip everything.
|
" If the netrw plugin isn't loaded we silently skip everything.
|
||||||
if !exists(":Nread")
|
if !exists(":Nread")
|
||||||
if &verbose
|
if &verbose
|
||||||
|
Loading…
Reference in New Issue
Block a user