aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJustin M. Keyes <justinkz@gmail.com>2016-04-10 02:20:53 -0400
committerJustin M. Keyes <justinkz@gmail.com>2016-04-10 04:27:39 -0400
commit8d37201ed29a4149ff87b17e7ade209a0981986a (patch)
tree9192dbd6d70a54fabfd328454144659f7485a6d7
parent3462f46cb8965c3e5a0c4fbdc12ade57df01c475 (diff)
downloadrneovim-8d37201ed29a4149ff87b17e7ade209a0981986a.tar.gz
rneovim-8d37201ed29a4149ff87b17e7ade209a0981986a.tar.bz2
rneovim-8d37201ed29a4149ff87b17e7ade209a0981986a.zip
spell: Fix argument and avoid redundant prompt.
In #3027 we deferred the "missing spell file" prompt until VimEnter, but we were sending the wrong argument (should be "en", not "en_us"). This also caused redundant prompts if user answers "No" to the download prompt invoked by the SpellFileMissing event. Closes #3966 Closes #4406
-rw-r--r--runtime/plugin/spellfile.vim7
-rw-r--r--src/nvim/spell.c13
2 files changed, 8 insertions, 12 deletions
diff --git a/runtime/plugin/spellfile.vim b/runtime/plugin/spellfile.vim
index 437296090c..e03659d6d6 100644
--- a/runtime/plugin/spellfile.vim
+++ b/runtime/plugin/spellfile.vim
@@ -1,15 +1,8 @@
" Vim plugin for downloading spell files
-" Maintainer: Bram Moolenaar <Bram@vim.org>
-" Last Change: 2006 Feb 01
-" Exit quickly when:
-" - this plugin was already loaded
-" - when 'compatible' is set
-" - some autocommands are already taking care of spell files
if exists("loaded_spellfile_plugin") || &cp || exists("#SpellFileMissing")
finish
endif
let loaded_spellfile_plugin = 1
-" The function is in the autoload directory.
autocmd SpellFileMissing * call spellfile#LoadFile(expand('<amatch>'))
diff --git a/src/nvim/spell.c b/src/nvim/spell.c
index cc7dc6210c..fdae89b84c 100644
--- a/src/nvim/spell.c
+++ b/src/nvim/spell.c
@@ -2332,14 +2332,17 @@ static void spell_load_lang(char_u *lang)
if (r == FAIL) {
if (starting) {
- // Some startup file sets &spell, but the necessary files don't exist:
- // try to prompt the user at VimEnter. Also set spell again. #3027
- do_cmdline_cmd(
- "autocmd VimEnter * call spellfile#LoadFile(&spelllang)|set spell");
+ // Prompt the user at VimEnter if spell files are missing. #3027
+ // Plugins aren't loaded yet, so spellfile.vim cannot handle this case.
+ char autocmd_buf[128] = { 0 };
+ snprintf(autocmd_buf, sizeof(autocmd_buf),
+ "autocmd VimEnter * call spellfile#LoadFile('%s')|set spell",
+ lang);
+ do_cmdline_cmd(autocmd_buf);
} else {
smsg(
_("Warning: Cannot find word list \"%s.%s.spl\" or \"%s.ascii.spl\""),
- lang, spell_enc(), lang);
+ lang, spell_enc(), lang);
}
} else if (sl.sl_slang != NULL) {
// At least one file was loaded, now load ALL the additions.