Karsten Hopp 0b419e
To: vim_dev@googlegroups.com
Karsten Hopp 0b419e
Subject: Patch 7.4.684
Karsten Hopp 0b419e
Fcc: outbox
Karsten Hopp 0b419e
From: Bram Moolenaar <Bram@moolenaar.net>
Karsten Hopp 0b419e
Mime-Version: 1.0
Karsten Hopp 0b419e
Content-Type: text/plain; charset=UTF-8
Karsten Hopp 0b419e
Content-Transfer-Encoding: 8bit
Karsten Hopp 0b419e
------------
Karsten Hopp 0b419e
Karsten Hopp 0b419e
Patch 7.4.684
Karsten Hopp 0b419e
Problem:    When starting several Vim instances in diff mode, the temp files
Karsten Hopp 0b419e
	    used may not be unique. (Issue 353)
Karsten Hopp 0b419e
Solution:   Add an argument to vim_tempname() to keep the file.
Karsten Hopp 0b419e
Files:	    src/diff.c, src/eval.c, src/ex_cmds.c, src/fileio.c,
Karsten Hopp 0b419e
	    src/hardcopy.c, src/proto/fileio.pro, src/if_cscope.c,
Karsten Hopp 0b419e
	    src/memline.c, src/misc1.c, src/os_unix.c, src/quickfix.c,
Karsten Hopp 0b419e
	    src/spell.c
Karsten Hopp 0b419e
Karsten Hopp 0b419e
Karsten Hopp 0b419e
*** ../vim-7.4.683/src/diff.c	2014-10-31 13:54:21.843214469 +0100
Karsten Hopp 0b419e
--- src/diff.c	2015-03-31 12:55:35.813986431 +0200
Karsten Hopp 0b419e
***************
Karsten Hopp 0b419e
*** 688,696 ****
Karsten Hopp 0b419e
  	return;
Karsten Hopp 0b419e
  
Karsten Hopp 0b419e
      /* We need three temp file names. */
Karsten Hopp 0b419e
!     tmp_orig = vim_tempname('o');
Karsten Hopp 0b419e
!     tmp_new = vim_tempname('n');
Karsten Hopp 0b419e
!     tmp_diff = vim_tempname('d');
Karsten Hopp 0b419e
      if (tmp_orig == NULL || tmp_new == NULL || tmp_diff == NULL)
Karsten Hopp 0b419e
  	goto theend;
Karsten Hopp 0b419e
  
Karsten Hopp 0b419e
--- 688,696 ----
Karsten Hopp 0b419e
  	return;
Karsten Hopp 0b419e
  
Karsten Hopp 0b419e
      /* We need three temp file names. */
Karsten Hopp 0b419e
!     tmp_orig = vim_tempname('o', TRUE);
Karsten Hopp 0b419e
!     tmp_new = vim_tempname('n', TRUE);
Karsten Hopp 0b419e
!     tmp_diff = vim_tempname('d', TRUE);
Karsten Hopp 0b419e
      if (tmp_orig == NULL || tmp_new == NULL || tmp_diff == NULL)
Karsten Hopp 0b419e
  	goto theend;
Karsten Hopp 0b419e
  
Karsten Hopp 0b419e
***************
Karsten Hopp 0b419e
*** 920,927 ****
Karsten Hopp 0b419e
  #endif
Karsten Hopp 0b419e
  
Karsten Hopp 0b419e
      /* We need two temp file names. */
Karsten Hopp 0b419e
!     tmp_orig = vim_tempname('o');
Karsten Hopp 0b419e
!     tmp_new = vim_tempname('n');
Karsten Hopp 0b419e
      if (tmp_orig == NULL || tmp_new == NULL)
Karsten Hopp 0b419e
  	goto theend;
Karsten Hopp 0b419e
  
Karsten Hopp 0b419e
--- 920,927 ----
Karsten Hopp 0b419e
  #endif
Karsten Hopp 0b419e
  
Karsten Hopp 0b419e
      /* We need two temp file names. */
Karsten Hopp 0b419e
!     tmp_orig = vim_tempname('o', FALSE);
Karsten Hopp 0b419e
!     tmp_new = vim_tempname('n', FALSE);
Karsten Hopp 0b419e
      if (tmp_orig == NULL || tmp_new == NULL)
Karsten Hopp 0b419e
  	goto theend;
Karsten Hopp 0b419e
  
Karsten Hopp 0b419e
*** ../vim-7.4.683/src/eval.c	2015-03-21 17:32:14.062779961 +0100
Karsten Hopp 0b419e
--- src/eval.c	2015-03-31 12:56:35.321337734 +0200
Karsten Hopp 0b419e
***************
Karsten Hopp 0b419e
*** 18775,18781 ****
Karsten Hopp 0b419e
  	 * Write the string to a temp file, to be used for input of the shell
Karsten Hopp 0b419e
  	 * command.
Karsten Hopp 0b419e
  	 */
Karsten Hopp 0b419e
! 	if ((infile = vim_tempname('i')) == NULL)
Karsten Hopp 0b419e
  	{
Karsten Hopp 0b419e
  	    EMSG(_(e_notmp));
Karsten Hopp 0b419e
  	    goto errret;
Karsten Hopp 0b419e
--- 18775,18781 ----
Karsten Hopp 0b419e
  	 * Write the string to a temp file, to be used for input of the shell
Karsten Hopp 0b419e
  	 * command.
Karsten Hopp 0b419e
  	 */
Karsten Hopp 0b419e
! 	if ((infile = vim_tempname('i', TRUE)) == NULL)
Karsten Hopp 0b419e
  	{
Karsten Hopp 0b419e
  	    EMSG(_(e_notmp));
Karsten Hopp 0b419e
  	    goto errret;
Karsten Hopp 0b419e
***************
Karsten Hopp 0b419e
*** 19134,19140 ****
Karsten Hopp 0b419e
      static int	x = 'A';
Karsten Hopp 0b419e
  
Karsten Hopp 0b419e
      rettv->v_type = VAR_STRING;
Karsten Hopp 0b419e
!     rettv->vval.v_string = vim_tempname(x);
Karsten Hopp 0b419e
  
Karsten Hopp 0b419e
      /* Advance 'x' to use A-Z and 0-9, so that there are at least 34 different
Karsten Hopp 0b419e
       * names.  Skip 'I' and 'O', they are used for shell redirection. */
Karsten Hopp 0b419e
--- 19134,19140 ----
Karsten Hopp 0b419e
      static int	x = 'A';
Karsten Hopp 0b419e
  
Karsten Hopp 0b419e
      rettv->v_type = VAR_STRING;
Karsten Hopp 0b419e
!     rettv->vval.v_string = vim_tempname(x, FALSE);
Karsten Hopp 0b419e
  
Karsten Hopp 0b419e
      /* Advance 'x' to use A-Z and 0-9, so that there are at least 34 different
Karsten Hopp 0b419e
       * names.  Skip 'I' and 'O', they are used for shell redirection. */
Karsten Hopp 0b419e
*** ../vim-7.4.683/src/ex_cmds.c	2015-03-24 11:46:21.712636141 +0100
Karsten Hopp 0b419e
--- src/ex_cmds.c	2015-03-31 12:58:51.563852429 +0200
Karsten Hopp 0b419e
***************
Karsten Hopp 0b419e
*** 1158,1165 ****
Karsten Hopp 0b419e
      }
Karsten Hopp 0b419e
      else
Karsten Hopp 0b419e
  #endif
Karsten Hopp 0b419e
! 	if ((do_in && (itmp = vim_tempname('i')) == NULL)
Karsten Hopp 0b419e
! 		|| (do_out && (otmp = vim_tempname('o')) == NULL))
Karsten Hopp 0b419e
  	{
Karsten Hopp 0b419e
  	    EMSG(_(e_notmp));
Karsten Hopp 0b419e
  	    goto filterend;
Karsten Hopp 0b419e
--- 1158,1165 ----
Karsten Hopp 0b419e
      }
Karsten Hopp 0b419e
      else
Karsten Hopp 0b419e
  #endif
Karsten Hopp 0b419e
! 	if ((do_in && (itmp = vim_tempname('i', FALSE)) == NULL)
Karsten Hopp 0b419e
! 		|| (do_out && (otmp = vim_tempname('o', FALSE)) == NULL))
Karsten Hopp 0b419e
  	{
Karsten Hopp 0b419e
  	    EMSG(_(e_notmp));
Karsten Hopp 0b419e
  	    goto filterend;
Karsten Hopp 0b419e
***************
Karsten Hopp 0b419e
*** 1963,1969 ****
Karsten Hopp 0b419e
  	    if (fp_out == NULL)
Karsten Hopp 0b419e
  	    {
Karsten Hopp 0b419e
  		vim_free(tempname);
Karsten Hopp 0b419e
! 		if ((tempname = vim_tempname('o')) != NULL)
Karsten Hopp 0b419e
  		    fp_out = mch_fopen((char *)tempname, WRITEBIN);
Karsten Hopp 0b419e
  	    }
Karsten Hopp 0b419e
  
Karsten Hopp 0b419e
--- 1963,1969 ----
Karsten Hopp 0b419e
  	    if (fp_out == NULL)
Karsten Hopp 0b419e
  	    {
Karsten Hopp 0b419e
  		vim_free(tempname);
Karsten Hopp 0b419e
! 		if ((tempname = vim_tempname('o', TRUE)) != NULL)
Karsten Hopp 0b419e
  		    fp_out = mch_fopen((char *)tempname, WRITEBIN);
Karsten Hopp 0b419e
  	    }
Karsten Hopp 0b419e
  
Karsten Hopp 0b419e
*** ../vim-7.4.683/src/fileio.c	2015-02-27 17:48:05.549308509 +0100
Karsten Hopp 0b419e
--- src/fileio.c	2015-03-31 13:08:46.549366825 +0200
Karsten Hopp 0b419e
***************
Karsten Hopp 0b419e
*** 2872,2878 ****
Karsten Hopp 0b419e
      char_u	*tmpname;
Karsten Hopp 0b419e
      char_u	*errmsg = NULL;
Karsten Hopp 0b419e
  
Karsten Hopp 0b419e
!     tmpname = vim_tempname('r');
Karsten Hopp 0b419e
      if (tmpname == NULL)
Karsten Hopp 0b419e
  	errmsg = (char_u *)_("Can't find temp file for conversion");
Karsten Hopp 0b419e
      else
Karsten Hopp 0b419e
--- 2872,2878 ----
Karsten Hopp 0b419e
      char_u	*tmpname;
Karsten Hopp 0b419e
      char_u	*errmsg = NULL;
Karsten Hopp 0b419e
  
Karsten Hopp 0b419e
!     tmpname = vim_tempname('r', FALSE);
Karsten Hopp 0b419e
      if (tmpname == NULL)
Karsten Hopp 0b419e
  	errmsg = (char_u *)_("Can't find temp file for conversion");
Karsten Hopp 0b419e
      else
Karsten Hopp 0b419e
***************
Karsten Hopp 0b419e
*** 4288,4294 ****
Karsten Hopp 0b419e
  	     */
Karsten Hopp 0b419e
  	    if (*p_ccv != NUL)
Karsten Hopp 0b419e
  	    {
Karsten Hopp 0b419e
! 		wfname = vim_tempname('w');
Karsten Hopp 0b419e
  		if (wfname == NULL)	/* Can't write without a tempfile! */
Karsten Hopp 0b419e
  		{
Karsten Hopp 0b419e
  		    errmsg = (char_u *)_("E214: Can't find temp file for writing");
Karsten Hopp 0b419e
--- 4288,4294 ----
Karsten Hopp 0b419e
  	     */
Karsten Hopp 0b419e
  	    if (*p_ccv != NUL)
Karsten Hopp 0b419e
  	    {
Karsten Hopp 0b419e
! 		wfname = vim_tempname('w', FALSE);
Karsten Hopp 0b419e
  		if (wfname == NULL)	/* Can't write without a tempfile! */
Karsten Hopp 0b419e
  		{
Karsten Hopp 0b419e
  		    errmsg = (char_u *)_("E214: Can't find temp file for writing");
Karsten Hopp 0b419e
***************
Karsten Hopp 0b419e
*** 7344,7357 ****
Karsten Hopp 0b419e
  /*
Karsten Hopp 0b419e
   * vim_tempname(): Return a unique name that can be used for a temp file.
Karsten Hopp 0b419e
   *
Karsten Hopp 0b419e
!  * The temp file is NOT created.
Karsten Hopp 0b419e
   *
Karsten Hopp 0b419e
   * The returned pointer is to allocated memory.
Karsten Hopp 0b419e
   * The returned pointer is NULL if no valid name was found.
Karsten Hopp 0b419e
   */
Karsten Hopp 0b419e
      char_u  *
Karsten Hopp 0b419e
! vim_tempname(extra_char)
Karsten Hopp 0b419e
      int	    extra_char UNUSED;  /* char to use in the name instead of '?' */
Karsten Hopp 0b419e
  {
Karsten Hopp 0b419e
  #ifdef USE_TMPNAM
Karsten Hopp 0b419e
      char_u	itmp[L_tmpnam];	/* use tmpnam() */
Karsten Hopp 0b419e
--- 7344,7359 ----
Karsten Hopp 0b419e
  /*
Karsten Hopp 0b419e
   * vim_tempname(): Return a unique name that can be used for a temp file.
Karsten Hopp 0b419e
   *
Karsten Hopp 0b419e
!  * The temp file is NOT garanteed to be created.  If "keep" is FALSE it is
Karsten Hopp 0b419e
!  * garanteed to NOT be created.
Karsten Hopp 0b419e
   *
Karsten Hopp 0b419e
   * The returned pointer is to allocated memory.
Karsten Hopp 0b419e
   * The returned pointer is NULL if no valid name was found.
Karsten Hopp 0b419e
   */
Karsten Hopp 0b419e
      char_u  *
Karsten Hopp 0b419e
! vim_tempname(extra_char, keep)
Karsten Hopp 0b419e
      int	    extra_char UNUSED;  /* char to use in the name instead of '?' */
Karsten Hopp 0b419e
+     int	    keep UNUSED;
Karsten Hopp 0b419e
  {
Karsten Hopp 0b419e
  #ifdef USE_TMPNAM
Karsten Hopp 0b419e
      char_u	itmp[L_tmpnam];	/* use tmpnam() */
Karsten Hopp 0b419e
***************
Karsten Hopp 0b419e
*** 7487,7494 ****
Karsten Hopp 0b419e
      buf4[2] = extra_char;   /* make it "VIa", "VIb", etc. */
Karsten Hopp 0b419e
      if (GetTempFileName(szTempFile, buf4, 0, itmp) == 0)
Karsten Hopp 0b419e
  	return NULL;
Karsten Hopp 0b419e
!     /* GetTempFileName() will create the file, we don't want that */
Karsten Hopp 0b419e
!     (void)DeleteFile(itmp);
Karsten Hopp 0b419e
  
Karsten Hopp 0b419e
      /* Backslashes in a temp file name cause problems when filtering with
Karsten Hopp 0b419e
       * "sh".  NOTE: This also checks 'shellcmdflag' to help those people who
Karsten Hopp 0b419e
--- 7489,7497 ----
Karsten Hopp 0b419e
      buf4[2] = extra_char;   /* make it "VIa", "VIb", etc. */
Karsten Hopp 0b419e
      if (GetTempFileName(szTempFile, buf4, 0, itmp) == 0)
Karsten Hopp 0b419e
  	return NULL;
Karsten Hopp 0b419e
!     if (!keep)
Karsten Hopp 0b419e
! 	/* GetTempFileName() will create the file, we don't want that */
Karsten Hopp 0b419e
! 	(void)DeleteFile(itmp);
Karsten Hopp 0b419e
  
Karsten Hopp 0b419e
      /* Backslashes in a temp file name cause problems when filtering with
Karsten Hopp 0b419e
       * "sh".  NOTE: This also checks 'shellcmdflag' to help those people who
Karsten Hopp 0b419e
*** ../vim-7.4.683/src/hardcopy.c	2014-11-27 17:37:53.524909964 +0100
Karsten Hopp 0b419e
--- src/hardcopy.c	2015-03-31 13:09:06.897145085 +0200
Karsten Hopp 0b419e
***************
Karsten Hopp 0b419e
*** 2751,2757 ****
Karsten Hopp 0b419e
      /* If the user didn't specify a file name, use a temp file. */
Karsten Hopp 0b419e
      if (psettings->outfile == NULL)
Karsten Hopp 0b419e
      {
Karsten Hopp 0b419e
! 	prt_ps_file_name = vim_tempname('p');
Karsten Hopp 0b419e
  	if (prt_ps_file_name == NULL)
Karsten Hopp 0b419e
  	{
Karsten Hopp 0b419e
  	    EMSG(_(e_notmp));
Karsten Hopp 0b419e
--- 2751,2757 ----
Karsten Hopp 0b419e
      /* If the user didn't specify a file name, use a temp file. */
Karsten Hopp 0b419e
      if (psettings->outfile == NULL)
Karsten Hopp 0b419e
      {
Karsten Hopp 0b419e
! 	prt_ps_file_name = vim_tempname('p', TRUE);
Karsten Hopp 0b419e
  	if (prt_ps_file_name == NULL)
Karsten Hopp 0b419e
  	{
Karsten Hopp 0b419e
  	    EMSG(_(e_notmp));
Karsten Hopp 0b419e
*** ../vim-7.4.683/src/proto/fileio.pro	2014-11-19 16:38:01.516679915 +0100
Karsten Hopp 0b419e
--- src/proto/fileio.pro	2015-03-31 13:13:42.378143437 +0200
Karsten Hopp 0b419e
***************
Karsten Hopp 0b419e
*** 23,29 ****
Karsten Hopp 0b419e
  void buf_store_time __ARGS((buf_T *buf, struct stat *st, char_u *fname));
Karsten Hopp 0b419e
  void write_lnum_adjust __ARGS((linenr_T offset));
Karsten Hopp 0b419e
  void vim_deltempdir __ARGS((void));
Karsten Hopp 0b419e
! char_u *vim_tempname __ARGS((int extra_char));
Karsten Hopp 0b419e
  void forward_slash __ARGS((char_u *fname));
Karsten Hopp 0b419e
  void aubuflocal_remove __ARGS((buf_T *buf));
Karsten Hopp 0b419e
  int au_has_group __ARGS((char_u *name));
Karsten Hopp 0b419e
--- 23,29 ----
Karsten Hopp 0b419e
  void buf_store_time __ARGS((buf_T *buf, struct stat *st, char_u *fname));
Karsten Hopp 0b419e
  void write_lnum_adjust __ARGS((linenr_T offset));
Karsten Hopp 0b419e
  void vim_deltempdir __ARGS((void));
Karsten Hopp 0b419e
! char_u *vim_tempname __ARGS((int extra_char, int keep));
Karsten Hopp 0b419e
  void forward_slash __ARGS((char_u *fname));
Karsten Hopp 0b419e
  void aubuflocal_remove __ARGS((buf_T *buf));
Karsten Hopp 0b419e
  int au_has_group __ARGS((char_u *name));
Karsten Hopp 0b419e
*** ../vim-7.4.683/src/if_cscope.c	2015-02-10 18:33:53.232320026 +0100
Karsten Hopp 0b419e
--- src/if_cscope.c	2015-03-31 13:09:44.576734484 +0200
Karsten Hopp 0b419e
***************
Karsten Hopp 0b419e
*** 1269,1275 ****
Karsten Hopp 0b419e
      {
Karsten Hopp 0b419e
  	/* fill error list */
Karsten Hopp 0b419e
  	FILE	    *f;
Karsten Hopp 0b419e
! 	char_u	    *tmp = vim_tempname('c');
Karsten Hopp 0b419e
  	qf_info_T   *qi = NULL;
Karsten Hopp 0b419e
  	win_T	    *wp = NULL;
Karsten Hopp 0b419e
  
Karsten Hopp 0b419e
--- 1269,1275 ----
Karsten Hopp 0b419e
      {
Karsten Hopp 0b419e
  	/* fill error list */
Karsten Hopp 0b419e
  	FILE	    *f;
Karsten Hopp 0b419e
! 	char_u	    *tmp = vim_tempname('c', TRUE);
Karsten Hopp 0b419e
  	qf_info_T   *qi = NULL;
Karsten Hopp 0b419e
  	win_T	    *wp = NULL;
Karsten Hopp 0b419e
  
Karsten Hopp 0b419e
*** ../vim-7.4.683/src/memline.c	2015-02-10 18:33:53.236319979 +0100
Karsten Hopp 0b419e
--- src/memline.c	2015-03-31 13:10:20.340344766 +0200
Karsten Hopp 0b419e
***************
Karsten Hopp 0b419e
*** 757,763 ****
Karsten Hopp 0b419e
      /* For a spell buffer use a temp file name. */
Karsten Hopp 0b419e
      if (buf->b_spell)
Karsten Hopp 0b419e
      {
Karsten Hopp 0b419e
! 	fname = vim_tempname('s');
Karsten Hopp 0b419e
  	if (fname != NULL)
Karsten Hopp 0b419e
  	    (void)mf_open_file(mfp, fname);	/* consumes fname! */
Karsten Hopp 0b419e
  	buf->b_may_swap = FALSE;
Karsten Hopp 0b419e
--- 757,763 ----
Karsten Hopp 0b419e
      /* For a spell buffer use a temp file name. */
Karsten Hopp 0b419e
      if (buf->b_spell)
Karsten Hopp 0b419e
      {
Karsten Hopp 0b419e
! 	fname = vim_tempname('s', FALSE);
Karsten Hopp 0b419e
  	if (fname != NULL)
Karsten Hopp 0b419e
  	    (void)mf_open_file(mfp, fname);	/* consumes fname! */
Karsten Hopp 0b419e
  	buf->b_may_swap = FALSE;
Karsten Hopp 0b419e
*** ../vim-7.4.683/src/misc1.c	2015-03-21 17:32:14.058780006 +0100
Karsten Hopp 0b419e
--- src/misc1.c	2015-03-31 13:10:34.772187548 +0200
Karsten Hopp 0b419e
***************
Karsten Hopp 0b419e
*** 11049,11055 ****
Karsten Hopp 0b419e
  	return NULL;
Karsten Hopp 0b419e
  
Karsten Hopp 0b419e
      /* get a name for the temp file */
Karsten Hopp 0b419e
!     if ((tempname = vim_tempname('o')) == NULL)
Karsten Hopp 0b419e
      {
Karsten Hopp 0b419e
  	EMSG(_(e_notmp));
Karsten Hopp 0b419e
  	return NULL;
Karsten Hopp 0b419e
--- 11049,11055 ----
Karsten Hopp 0b419e
  	return NULL;
Karsten Hopp 0b419e
  
Karsten Hopp 0b419e
      /* get a name for the temp file */
Karsten Hopp 0b419e
!     if ((tempname = vim_tempname('o', FALSE)) == NULL)
Karsten Hopp 0b419e
      {
Karsten Hopp 0b419e
  	EMSG(_(e_notmp));
Karsten Hopp 0b419e
  	return NULL;
Karsten Hopp 0b419e
*** ../vim-7.4.683/src/os_unix.c	2015-03-21 17:32:14.066779916 +0100
Karsten Hopp 0b419e
--- src/os_unix.c	2015-03-31 13:10:46.744057076 +0200
Karsten Hopp 0b419e
***************
Karsten Hopp 0b419e
*** 5838,5844 ****
Karsten Hopp 0b419e
      /*
Karsten Hopp 0b419e
       * get a name for the temp file
Karsten Hopp 0b419e
       */
Karsten Hopp 0b419e
!     if ((tempname = vim_tempname('o')) == NULL)
Karsten Hopp 0b419e
      {
Karsten Hopp 0b419e
  	EMSG(_(e_notmp));
Karsten Hopp 0b419e
  	return FAIL;
Karsten Hopp 0b419e
--- 5838,5844 ----
Karsten Hopp 0b419e
      /*
Karsten Hopp 0b419e
       * get a name for the temp file
Karsten Hopp 0b419e
       */
Karsten Hopp 0b419e
!     if ((tempname = vim_tempname('o', FALSE)) == NULL)
Karsten Hopp 0b419e
      {
Karsten Hopp 0b419e
  	EMSG(_(e_notmp));
Karsten Hopp 0b419e
  	return FAIL;
Karsten Hopp 0b419e
*** ../vim-7.4.683/src/quickfix.c	2014-12-17 14:41:06.079437482 +0100
Karsten Hopp 0b419e
--- src/quickfix.c	2015-03-31 13:11:03.095879127 +0200
Karsten Hopp 0b419e
***************
Karsten Hopp 0b419e
*** 2945,2951 ****
Karsten Hopp 0b419e
  
Karsten Hopp 0b419e
      if (*p_mef == NUL)
Karsten Hopp 0b419e
      {
Karsten Hopp 0b419e
! 	name = vim_tempname('e');
Karsten Hopp 0b419e
  	if (name == NULL)
Karsten Hopp 0b419e
  	    EMSG(_(e_notmp));
Karsten Hopp 0b419e
  	return name;
Karsten Hopp 0b419e
--- 2945,2951 ----
Karsten Hopp 0b419e
  
Karsten Hopp 0b419e
      if (*p_mef == NUL)
Karsten Hopp 0b419e
      {
Karsten Hopp 0b419e
! 	name = vim_tempname('e', FALSE);
Karsten Hopp 0b419e
  	if (name == NULL)
Karsten Hopp 0b419e
  	    EMSG(_(e_notmp));
Karsten Hopp 0b419e
  	return name;
Karsten Hopp 0b419e
*** ../vim-7.4.683/src/spell.c	2015-02-10 20:03:39.389939274 +0100
Karsten Hopp 0b419e
--- src/spell.c	2015-03-31 13:12:12.895118372 +0200
Karsten Hopp 0b419e
***************
Karsten Hopp 0b419e
*** 9426,9432 ****
Karsten Hopp 0b419e
      {
Karsten Hopp 0b419e
  	if (int_wordlist == NULL)
Karsten Hopp 0b419e
  	{
Karsten Hopp 0b419e
! 	    int_wordlist = vim_tempname('s');
Karsten Hopp 0b419e
  	    if (int_wordlist == NULL)
Karsten Hopp 0b419e
  		return;
Karsten Hopp 0b419e
  	}
Karsten Hopp 0b419e
--- 9426,9432 ----
Karsten Hopp 0b419e
      {
Karsten Hopp 0b419e
  	if (int_wordlist == NULL)
Karsten Hopp 0b419e
  	{
Karsten Hopp 0b419e
! 	    int_wordlist = vim_tempname('s', FALSE);
Karsten Hopp 0b419e
  	    if (int_wordlist == NULL)
Karsten Hopp 0b419e
  		return;
Karsten Hopp 0b419e
  	}
Karsten Hopp 0b419e
*** ../vim-7.4.683/src/version.c	2015-03-25 20:23:54.335389699 +0100
Karsten Hopp 0b419e
--- src/version.c	2015-03-31 13:27:54.776857644 +0200
Karsten Hopp 0b419e
***************
Karsten Hopp 0b419e
*** 743,744 ****
Karsten Hopp 0b419e
--- 743,746 ----
Karsten Hopp 0b419e
  {   /* Add new patch number below this line */
Karsten Hopp 0b419e
+ /**/
Karsten Hopp 0b419e
+     684,
Karsten Hopp 0b419e
  /**/
Karsten Hopp 0b419e
Karsten Hopp 0b419e
-- 
Karsten Hopp 0b419e
If an elephant is left tied to a parking meter, the parking fee has to be paid
Karsten Hopp 0b419e
just as it would for a vehicle.
Karsten Hopp 0b419e
		[real standing law in Florida, United States of America]
Karsten Hopp 0b419e
Karsten Hopp 0b419e
 /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net   \\\
Karsten Hopp 0b419e
///        sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
Karsten Hopp 0b419e
\\\  an exciting new programming language -- http://www.Zimbu.org        ///
Karsten Hopp 0b419e
 \\\            help me help AIDS victims -- http://ICCF-Holland.org    ///