Karsten Hopp 831749
To: vim_dev@googlegroups.com
Karsten Hopp 831749
Subject: Patch 7.3.080
Karsten Hopp 831749
Fcc: outbox
Karsten Hopp 831749
From: Bram Moolenaar <Bram@moolenaar.net>
Karsten Hopp 831749
Mime-Version: 1.0
Karsten Hopp 831749
Content-Type: text/plain; charset=UTF-8
Karsten Hopp 831749
Content-Transfer-Encoding: 8bit
Karsten Hopp 831749
------------
Karsten Hopp 831749
Karsten Hopp 831749
Patch 7.3.080
Karsten Hopp 831749
Problem:    Spell doesn't work on VMS.
Karsten Hopp 831749
Solution:   Use different file names. (Zoltan Bartos, Zoltan Arpadffy)
Karsten Hopp 831749
Files:	    src/spell.c
Karsten Hopp 831749
Karsten Hopp 831749
Karsten Hopp 831749
*** ../vim-7.3.079/src/spell.c	2010-12-08 13:11:15.000000000 +0100
Karsten Hopp 831749
--- src/spell.c	2010-12-08 17:01:13.000000000 +0100
Karsten Hopp 831749
***************
Karsten Hopp 831749
*** 327,332 ****
Karsten Hopp 831749
--- 327,342 ----
Karsten Hopp 831749
  typedef long idx_T;
Karsten Hopp 831749
  #endif
Karsten Hopp 831749
  
Karsten Hopp 831749
+ #ifdef VMS
Karsten Hopp 831749
+ # define SPL_FNAME_TMPL  "%s_%s.spl"
Karsten Hopp 831749
+ # define SPL_FNAME_ADD   "_add."
Karsten Hopp 831749
+ # define SPL_FNAME_ASCII "_ascii."
Karsten Hopp 831749
+ #else
Karsten Hopp 831749
+ # define SPL_FNAME_TMPL  "%s.%s.spl"
Karsten Hopp 831749
+ # define SPL_FNAME_ADD   ".add."
Karsten Hopp 831749
+ # define SPL_FNAME_ASCII ".ascii."
Karsten Hopp 831749
+ #endif
Karsten Hopp 831749
+ 
Karsten Hopp 831749
  /* Flags used for a word.  Only the lowest byte can be used, the region byte
Karsten Hopp 831749
   * comes above it. */
Karsten Hopp 831749
  #define WF_REGION   0x01	/* region byte follows */
Karsten Hopp 831749
***************
Karsten Hopp 831749
*** 2471,2484 ****
Karsten Hopp 831749
  	 * Find the first spell file for "lang" in 'runtimepath' and load it.
Karsten Hopp 831749
  	 */
Karsten Hopp 831749
  	vim_snprintf((char *)fname_enc, sizeof(fname_enc) - 5,
Karsten Hopp 831749
! 					"spell/%s.%s.spl", lang, spell_enc());
Karsten Hopp 831749
  	r = do_in_runtimepath(fname_enc, FALSE, spell_load_cb, &sl);
Karsten Hopp 831749
  
Karsten Hopp 831749
  	if (r == FAIL && *sl.sl_lang != NUL)
Karsten Hopp 831749
  	{
Karsten Hopp 831749
  	    /* Try loading the ASCII version. */
Karsten Hopp 831749
  	    vim_snprintf((char *)fname_enc, sizeof(fname_enc) - 5,
Karsten Hopp 831749
! 						  "spell/%s.ascii.spl", lang);
Karsten Hopp 831749
  	    r = do_in_runtimepath(fname_enc, FALSE, spell_load_cb, &sl);
Karsten Hopp 831749
  
Karsten Hopp 831749
  #ifdef FEAT_AUTOCMD
Karsten Hopp 831749
--- 2481,2504 ----
Karsten Hopp 831749
  	 * Find the first spell file for "lang" in 'runtimepath' and load it.
Karsten Hopp 831749
  	 */
Karsten Hopp 831749
  	vim_snprintf((char *)fname_enc, sizeof(fname_enc) - 5,
Karsten Hopp 831749
! #ifdef VMS
Karsten Hopp 831749
! 					"spell/%s_%s.spl",
Karsten Hopp 831749
! #else
Karsten Hopp 831749
! 					"spell/%s.%s.spl",
Karsten Hopp 831749
! #endif
Karsten Hopp 831749
! 							   lang, spell_enc());
Karsten Hopp 831749
  	r = do_in_runtimepath(fname_enc, FALSE, spell_load_cb, &sl);
Karsten Hopp 831749
  
Karsten Hopp 831749
  	if (r == FAIL && *sl.sl_lang != NUL)
Karsten Hopp 831749
  	{
Karsten Hopp 831749
  	    /* Try loading the ASCII version. */
Karsten Hopp 831749
  	    vim_snprintf((char *)fname_enc, sizeof(fname_enc) - 5,
Karsten Hopp 831749
! #ifdef VMS
Karsten Hopp 831749
! 						  "spell/%s_ascii.spl",
Karsten Hopp 831749
! #else
Karsten Hopp 831749
! 						  "spell/%s.ascii.spl",
Karsten Hopp 831749
! #endif
Karsten Hopp 831749
! 									lang);
Karsten Hopp 831749
  	    r = do_in_runtimepath(fname_enc, FALSE, spell_load_cb, &sl);
Karsten Hopp 831749
  
Karsten Hopp 831749
  #ifdef FEAT_AUTOCMD
Karsten Hopp 831749
***************
Karsten Hopp 831749
*** 2496,2502 ****
Karsten Hopp 831749
  
Karsten Hopp 831749
      if (r == FAIL)
Karsten Hopp 831749
      {
Karsten Hopp 831749
! 	smsg((char_u *)_("Warning: Cannot find word list \"%s.%s.spl\" or \"%s.ascii.spl\""),
Karsten Hopp 831749
  						     lang, spell_enc(), lang);
Karsten Hopp 831749
      }
Karsten Hopp 831749
      else if (sl.sl_slang != NULL)
Karsten Hopp 831749
--- 2516,2527 ----
Karsten Hopp 831749
  
Karsten Hopp 831749
      if (r == FAIL)
Karsten Hopp 831749
      {
Karsten Hopp 831749
! 	smsg((char_u *)
Karsten Hopp 831749
! #ifdef VMS
Karsten Hopp 831749
! 	_("Warning: Cannot find word list \"%s_%s.spl\" or \"%s_ascii.spl\""),
Karsten Hopp 831749
! #else
Karsten Hopp 831749
! 	_("Warning: Cannot find word list \"%s.%s.spl\" or \"%s.ascii.spl\""),
Karsten Hopp 831749
! #endif
Karsten Hopp 831749
  						     lang, spell_enc(), lang);
Karsten Hopp 831749
      }
Karsten Hopp 831749
      else if (sl.sl_slang != NULL)
Karsten Hopp 831749
***************
Karsten Hopp 831749
*** 2530,2536 ****
Karsten Hopp 831749
  int_wordlist_spl(fname)
Karsten Hopp 831749
      char_u	    *fname;
Karsten Hopp 831749
  {
Karsten Hopp 831749
!     vim_snprintf((char *)fname, MAXPATHL, "%s.%s.spl",
Karsten Hopp 831749
  						  int_wordlist, spell_enc());
Karsten Hopp 831749
  }
Karsten Hopp 831749
  
Karsten Hopp 831749
--- 2555,2561 ----
Karsten Hopp 831749
  int_wordlist_spl(fname)
Karsten Hopp 831749
      char_u	    *fname;
Karsten Hopp 831749
  {
Karsten Hopp 831749
!     vim_snprintf((char *)fname, MAXPATHL, SPL_FNAME_TMPL,
Karsten Hopp 831749
  						  int_wordlist, spell_enc());
Karsten Hopp 831749
  }
Karsten Hopp 831749
  
Karsten Hopp 831749
***************
Karsten Hopp 831749
*** 2785,2792 ****
Karsten Hopp 831749
  	if (lp->sl_fname == NULL)
Karsten Hopp 831749
  	    goto endFAIL;
Karsten Hopp 831749
  
Karsten Hopp 831749
! 	/* Check for .add.spl. */
Karsten Hopp 831749
! 	lp->sl_add = strstr((char *)gettail(fname), ".add.") != NULL;
Karsten Hopp 831749
      }
Karsten Hopp 831749
      else
Karsten Hopp 831749
  	lp = old_lp;
Karsten Hopp 831749
--- 2810,2817 ----
Karsten Hopp 831749
  	if (lp->sl_fname == NULL)
Karsten Hopp 831749
  	    goto endFAIL;
Karsten Hopp 831749
  
Karsten Hopp 831749
! 	/* Check for .add.spl (_add.spl for VMS). */
Karsten Hopp 831749
! 	lp->sl_add = strstr((char *)gettail(fname), SPL_FNAME_ADD) != NULL;
Karsten Hopp 831749
      }
Karsten Hopp 831749
      else
Karsten Hopp 831749
  	lp = old_lp;
Karsten Hopp 831749
***************
Karsten Hopp 831749
*** 9109,9116 ****
Karsten Hopp 831749
  	    /* For ":mkspell path/vim" output file is "path/vim.latin1.spl". */
Karsten Hopp 831749
  	    innames = &fnames[0];
Karsten Hopp 831749
  	    incount = 1;
Karsten Hopp 831749
! 	    vim_snprintf((char *)wfname, sizeof(wfname), "%s.%s.spl", fnames[0],
Karsten Hopp 831749
! 			     spin.si_ascii ? (char_u *)"ascii" : spell_enc());
Karsten Hopp 831749
  	}
Karsten Hopp 831749
  	else if (len > 4 && STRCMP(fnames[0] + len - 4, ".spl") == 0)
Karsten Hopp 831749
  	{
Karsten Hopp 831749
--- 9134,9141 ----
Karsten Hopp 831749
  	    /* For ":mkspell path/vim" output file is "path/vim.latin1.spl". */
Karsten Hopp 831749
  	    innames = &fnames[0];
Karsten Hopp 831749
  	    incount = 1;
Karsten Hopp 831749
! 	    vim_snprintf((char *)wfname, sizeof(wfname), SPL_FNAME_TMPL,
Karsten Hopp 831749
! 		  fnames[0], spin.si_ascii ? (char_u *)"ascii" : spell_enc());
Karsten Hopp 831749
  	}
Karsten Hopp 831749
  	else if (len > 4 && STRCMP(fnames[0] + len - 4, ".spl") == 0)
Karsten Hopp 831749
  	{
Karsten Hopp 831749
***************
Karsten Hopp 831749
*** 9119,9133 ****
Karsten Hopp 831749
  	}
Karsten Hopp 831749
  	else
Karsten Hopp 831749
  	    /* Name should be language, make the file name from it. */
Karsten Hopp 831749
! 	    vim_snprintf((char *)wfname, sizeof(wfname), "%s.%s.spl", fnames[0],
Karsten Hopp 831749
! 			     spin.si_ascii ? (char_u *)"ascii" : spell_enc());
Karsten Hopp 831749
  
Karsten Hopp 831749
  	/* Check for .ascii.spl. */
Karsten Hopp 831749
! 	if (strstr((char *)gettail(wfname), ".ascii.") != NULL)
Karsten Hopp 831749
  	    spin.si_ascii = TRUE;
Karsten Hopp 831749
  
Karsten Hopp 831749
  	/* Check for .add.spl. */
Karsten Hopp 831749
! 	if (strstr((char *)gettail(wfname), ".add.") != NULL)
Karsten Hopp 831749
  	    spin.si_add = TRUE;
Karsten Hopp 831749
      }
Karsten Hopp 831749
  
Karsten Hopp 831749
--- 9144,9158 ----
Karsten Hopp 831749
  	}
Karsten Hopp 831749
  	else
Karsten Hopp 831749
  	    /* Name should be language, make the file name from it. */
Karsten Hopp 831749
! 	    vim_snprintf((char *)wfname, sizeof(wfname), SPL_FNAME_TMPL,
Karsten Hopp 831749
! 		  fnames[0], spin.si_ascii ? (char_u *)"ascii" : spell_enc());
Karsten Hopp 831749
  
Karsten Hopp 831749
  	/* Check for .ascii.spl. */
Karsten Hopp 831749
! 	if (strstr((char *)gettail(wfname), SPL_FNAME_ASCII) != NULL)
Karsten Hopp 831749
  	    spin.si_ascii = TRUE;
Karsten Hopp 831749
  
Karsten Hopp 831749
  	/* Check for .add.spl. */
Karsten Hopp 831749
! 	if (strstr((char *)gettail(wfname), SPL_FNAME_ADD) != NULL)
Karsten Hopp 831749
  	    spin.si_add = TRUE;
Karsten Hopp 831749
      }
Karsten Hopp 831749
  
Karsten Hopp 831749
*** ../vim-7.3.079/src/version.c	2010-12-08 14:54:58.000000000 +0100
Karsten Hopp 831749
--- src/version.c	2010-12-08 16:58:03.000000000 +0100
Karsten Hopp 831749
***************
Karsten Hopp 831749
*** 716,717 ****
Karsten Hopp 831749
--- 716,719 ----
Karsten Hopp 831749
  {   /* Add new patch number below this line */
Karsten Hopp 831749
+ /**/
Karsten Hopp 831749
+     80,
Karsten Hopp 831749
  /**/
Karsten Hopp 831749
Karsten Hopp 831749
-- 
Karsten Hopp 831749
hundred-and-one symptoms of being an internet addict:
Karsten Hopp 831749
5. You find yourself brainstorming for new subjects to search.
Karsten Hopp 831749
Karsten Hopp 831749
 /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net   \\\
Karsten Hopp 831749
///        sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
Karsten Hopp 831749
\\\  an exciting new programming language -- http://www.Zimbu.org        ///
Karsten Hopp 831749
 \\\            help me help AIDS victims -- http://ICCF-Holland.org    ///