diff options
author | Bram Moolenaar <Bram@vim.org> | 2010-12-08 17:09:32 +0100 |
---|---|---|
committer | Bram Moolenaar <Bram@vim.org> | 2010-12-08 17:09:32 +0100 |
commit | 56f7804065b164ab35369a3c645be534f50304a7 (patch) | |
tree | a9904a4eaff9619249b253c775408e9c7cebfe28 /src/spell.c | |
parent | 3d2707076799968055d4dc8d66403a6b963c9096 (diff) | |
download | vim-git-56f7804065b164ab35369a3c645be534f50304a7.tar.gz |
updated for version 7.3.080v7.3.080
Problem: Spell doesn't work on VMS.
Solution: Use different file names. (Zoltan Bartos, Zoltan Arpadffy)
Diffstat (limited to 'src/spell.c')
-rw-r--r-- | src/spell.c | 49 |
1 files changed, 37 insertions, 12 deletions
diff --git a/src/spell.c b/src/spell.c index ca881ec49..6716a6ca8 100644 --- a/src/spell.c +++ b/src/spell.c @@ -327,6 +327,16 @@ typedef int idx_T; typedef long idx_T; #endif +#ifdef VMS +# define SPL_FNAME_TMPL "%s_%s.spl" +# define SPL_FNAME_ADD "_add." +# define SPL_FNAME_ASCII "_ascii." +#else +# define SPL_FNAME_TMPL "%s.%s.spl" +# define SPL_FNAME_ADD ".add." +# define SPL_FNAME_ASCII ".ascii." +#endif + /* Flags used for a word. Only the lowest byte can be used, the region byte * comes above it. */ #define WF_REGION 0x01 /* region byte follows */ @@ -2471,14 +2481,24 @@ spell_load_lang(lang) * Find the first spell file for "lang" in 'runtimepath' and load it. */ vim_snprintf((char *)fname_enc, sizeof(fname_enc) - 5, - "spell/%s.%s.spl", lang, spell_enc()); +#ifdef VMS + "spell/%s_%s.spl", +#else + "spell/%s.%s.spl", +#endif + lang, spell_enc()); r = do_in_runtimepath(fname_enc, FALSE, spell_load_cb, &sl); if (r == FAIL && *sl.sl_lang != NUL) { /* Try loading the ASCII version. */ vim_snprintf((char *)fname_enc, sizeof(fname_enc) - 5, - "spell/%s.ascii.spl", lang); +#ifdef VMS + "spell/%s_ascii.spl", +#else + "spell/%s.ascii.spl", +#endif + lang); r = do_in_runtimepath(fname_enc, FALSE, spell_load_cb, &sl); #ifdef FEAT_AUTOCMD @@ -2496,7 +2516,12 @@ spell_load_lang(lang) if (r == FAIL) { - smsg((char_u *)_("Warning: Cannot find word list \"%s.%s.spl\" or \"%s.ascii.spl\""), + smsg((char_u *) +#ifdef VMS + _("Warning: Cannot find word list \"%s_%s.spl\" or \"%s_ascii.spl\""), +#else + _("Warning: Cannot find word list \"%s.%s.spl\" or \"%s.ascii.spl\""), +#endif lang, spell_enc(), lang); } else if (sl.sl_slang != NULL) @@ -2530,7 +2555,7 @@ spell_enc() int_wordlist_spl(fname) char_u *fname; { - vim_snprintf((char *)fname, MAXPATHL, "%s.%s.spl", + vim_snprintf((char *)fname, MAXPATHL, SPL_FNAME_TMPL, int_wordlist, spell_enc()); } @@ -2785,8 +2810,8 @@ spell_load_file(fname, lang, old_lp, silent) if (lp->sl_fname == NULL) goto endFAIL; - /* Check for .add.spl. */ - lp->sl_add = strstr((char *)gettail(fname), ".add.") != NULL; + /* Check for .add.spl (_add.spl for VMS). */ + lp->sl_add = strstr((char *)gettail(fname), SPL_FNAME_ADD) != NULL; } else lp = old_lp; @@ -9109,8 +9134,8 @@ mkspell(fcount, fnames, ascii, overwrite, added_word) /* For ":mkspell path/vim" output file is "path/vim.latin1.spl". */ innames = &fnames[0]; incount = 1; - vim_snprintf((char *)wfname, sizeof(wfname), "%s.%s.spl", fnames[0], - spin.si_ascii ? (char_u *)"ascii" : spell_enc()); + vim_snprintf((char *)wfname, sizeof(wfname), SPL_FNAME_TMPL, + fnames[0], spin.si_ascii ? (char_u *)"ascii" : spell_enc()); } else if (len > 4 && STRCMP(fnames[0] + len - 4, ".spl") == 0) { @@ -9119,15 +9144,15 @@ mkspell(fcount, fnames, ascii, overwrite, added_word) } else /* Name should be language, make the file name from it. */ - vim_snprintf((char *)wfname, sizeof(wfname), "%s.%s.spl", fnames[0], - spin.si_ascii ? (char_u *)"ascii" : spell_enc()); + vim_snprintf((char *)wfname, sizeof(wfname), SPL_FNAME_TMPL, + fnames[0], spin.si_ascii ? (char_u *)"ascii" : spell_enc()); /* Check for .ascii.spl. */ - if (strstr((char *)gettail(wfname), ".ascii.") != NULL) + if (strstr((char *)gettail(wfname), SPL_FNAME_ASCII) != NULL) spin.si_ascii = TRUE; /* Check for .add.spl. */ - if (strstr((char *)gettail(wfname), ".add.") != NULL) + if (strstr((char *)gettail(wfname), SPL_FNAME_ADD) != NULL) spin.si_add = TRUE; } |