| To: vim_dev@googlegroups.com |
| Subject: Patch 7.3.080 |
| Fcc: outbox |
| From: Bram Moolenaar <Bram@moolenaar.net> |
| Mime-Version: 1.0 |
| Content-Type: text/plain; charset=UTF-8 |
| Content-Transfer-Encoding: 8bit |
| |
| |
| Patch 7.3.080 |
| Problem: Spell doesn't work on VMS. |
| Solution: Use different file names. (Zoltan Bartos, Zoltan Arpadffy) |
| Files: src/spell.c |
| |
| |
| |
| |
| |
| *** 327,332 **** |
| --- 327,342 ---- |
| 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,2484 **** |
| * 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()); |
| 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); |
| r = do_in_runtimepath(fname_enc, FALSE, spell_load_cb, &sl); |
| |
| #ifdef FEAT_AUTOCMD |
| --- 2481,2504 ---- |
| * Find the first spell file for "lang" in 'runtimepath' and load it. |
| */ |
| vim_snprintf((char *)fname_enc, sizeof(fname_enc) - 5, |
| ! #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, |
| ! #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,2502 **** |
| |
| if (r == FAIL) |
| { |
| ! smsg((char_u *)_("Warning: Cannot find word list \"%s.%s.spl\" or \"%s.ascii.spl\""), |
| lang, spell_enc(), lang); |
| } |
| else if (sl.sl_slang != NULL) |
| --- 2516,2527 ---- |
| |
| if (r == FAIL) |
| { |
| ! 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,2536 **** |
| int_wordlist_spl(fname) |
| char_u *fname; |
| { |
| ! vim_snprintf((char *)fname, MAXPATHL, "%s.%s.spl", |
| int_wordlist, spell_enc()); |
| } |
| |
| --- 2555,2561 ---- |
| int_wordlist_spl(fname) |
| char_u *fname; |
| { |
| ! vim_snprintf((char *)fname, MAXPATHL, SPL_FNAME_TMPL, |
| int_wordlist, spell_enc()); |
| } |
| |
| |
| *** 2785,2792 **** |
| if (lp->sl_fname == NULL) |
| goto endFAIL; |
| |
| ! /* Check for .add.spl. */ |
| ! lp->sl_add = strstr((char *)gettail(fname), ".add.") != NULL; |
| } |
| else |
| lp = old_lp; |
| --- 2810,2817 ---- |
| if (lp->sl_fname == NULL) |
| goto endFAIL; |
| |
| ! /* Check for .add.spl (_add.spl for VMS). */ |
| ! lp->sl_add = strstr((char *)gettail(fname), SPL_FNAME_ADD) != NULL; |
| } |
| else |
| lp = old_lp; |
| |
| *** 9109,9116 **** |
| /* 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()); |
| } |
| else if (len > 4 && STRCMP(fnames[0] + len - 4, ".spl") == 0) |
| { |
| --- 9134,9141 ---- |
| /* For ":mkspell path/vim" output file is "path/vim.latin1.spl". */ |
| innames = &fnames[0]; |
| incount = 1; |
| ! 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,9133 **** |
| } |
| 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()); |
| |
| /* Check for .ascii.spl. */ |
| ! if (strstr((char *)gettail(wfname), ".ascii.") != NULL) |
| spin.si_ascii = TRUE; |
| |
| /* Check for .add.spl. */ |
| ! if (strstr((char *)gettail(wfname), ".add.") != NULL) |
| spin.si_add = TRUE; |
| } |
| |
| --- 9144,9158 ---- |
| } |
| else |
| /* Name should be language, make the file name from it. */ |
| ! 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), SPL_FNAME_ASCII) != NULL) |
| spin.si_ascii = TRUE; |
| |
| /* Check for .add.spl. */ |
| ! if (strstr((char *)gettail(wfname), SPL_FNAME_ADD) != NULL) |
| spin.si_add = TRUE; |
| } |
| |
| |
| |
| |
| *** 716,717 **** |
| --- 716,719 ---- |
| { /* Add new patch number below this line */ |
| + /**/ |
| + 80, |
| /**/ |
| |
| -- |
| hundred-and-one symptoms of being an internet addict: |
| 5. You find yourself brainstorming for new subjects to search. |
| |
| /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ |
| /// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ |
| \\\ an exciting new programming language -- http://www.Zimbu.org /// |
| \\\ help me help AIDS victims -- http://ICCF-Holland.org /// |