packages: vim/vim.spec, vim/7.2.240 (NEW), vim/7.2.241 (NEW), vim/7.2.242 (...

glen glen at pld-linux.org
Fri Sep 4 13:20:14 CEST 2009


Author: glen                         Date: Fri Sep  4 11:20:14 2009 GMT
Module: packages                      Tag: HEAD
---- Log message:
- up to 7.2.245

---- Files affected:
packages/vim:
   vim.spec (1.479 -> 1.480) , 7.2.240 (NONE -> 1.1)  (NEW), 7.2.241 (NONE -> 1.1)  (NEW), 7.2.242 (NONE -> 1.1)  (NEW), 7.2.243 (NONE -> 1.1)  (NEW), 7.2.244 (NONE -> 1.1)  (NEW), 7.2.245 (NONE -> 1.1)  (NEW)

---- Diffs:

================================================================
Index: packages/vim/vim.spec
diff -u packages/vim/vim.spec:1.479 packages/vim/vim.spec:1.480
--- packages/vim/vim.spec:1.479	Fri Sep  4 10:46:51 2009
+++ packages/vim/vim.spec	Fri Sep  4 13:20:08 2009
@@ -14,7 +14,7 @@
 %bcond_without	home_etc	# without home_etc support
 
 %define		ver		7.2
-%define		patchlevel	239
+%define		patchlevel	245
 Summary:	Vi IMproved - a Vi clone
 Summary(de.UTF-8):	VIsual editor iMproved
 Summary(es.UTF-8):	Editor visual incrementado
@@ -27,7 +27,7 @@
 Summary(uk.UTF-8):	Visual editor IMproved - Єдино Вірний Редактор :)
 Name:		vim
 Version:	%{ver}.%{patchlevel}
-Release:	3
+Release:	1
 Epoch:		4
 License:	Charityware
 Group:		Applications/Editors/Vim
@@ -1337,6 +1337,9 @@
 All persons listed below can be reached at <cvs_login>@pld-linux.org
 
 $Log$
+Revision 1.480  2009/09/04 11:20:08  glen
+- up to 7.2.245
+
 Revision 1.479  2009/09/04 08:46:51  glen
 - release 3
 

================================================================
Index: packages/vim/7.2.240
diff -u /dev/null packages/vim/7.2.240:1.1
--- /dev/null	Fri Sep  4 13:20:14 2009
+++ packages/vim/7.2.240	Fri Sep  4 13:20:08 2009
@@ -0,0 +1,69 @@
+To: vim-dev at vim.org
+Subject: Patch 7.2.240
+Fcc: outbox
+From: Bram Moolenaar <Bram at moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.2.240
+Problem:    Crash when using find/replace dialog repeatedly. (Michiel
+	    Hartsuiker)
+Solution:   Avoid doing the operation while busy or recursively.  Also refuse
+	    replace when text is locked.
+Files:	    src/gui.c
+
+
+*** ../vim-7.2.239/src/gui.c	2009-06-24 18:31:36.000000000 +0200
+--- src/gui.c	2009-07-22 16:54:16.000000000 +0200
+***************
+*** 5004,5009 ****
+--- 5004,5022 ----
+      char_u	*p;
+      regmatch_T	regmatch;
+      int		save_did_emsg = did_emsg;
++     static int  busy = FALSE;
++ 
++     /* When the screen is being updated we should not change buffers and
++      * windows structures, it may cause freed memory to be used.  Also don't
++      * do this recursively (pressing "Find" quickly several times. */
++     if (updating_screen || busy)
++ 	return FALSE;
++ 
++     /* refuse replace when text cannot be changed */
++     if ((type == FRD_REPLACE || type == FRD_REPLACEALL) && text_locked())
++ 	return FALSE;
++ 
++     busy = TRUE;
+  
+      ga_init2(&ga, 1, 100);
+      if (type == FRD_REPLACEALL)
+***************
+*** 5094,5099 ****
+--- 5107,5113 ----
+      }
+  
+      vim_free(ga.ga_data);
++     busy = FALSE;
+      return (ga.ga_len > 0);
+  }
+  
+*** ../vim-7.2.239/src/version.c	2009-07-22 16:22:33.000000000 +0200
+--- src/version.c	2009-07-29 11:09:13.000000000 +0200
+***************
+*** 678,679 ****
+--- 678,681 ----
+  {   /* Add new patch number below this line */
++ /**/
++     240,
+  /**/
+
+-- 
+hundred-and-one symptoms of being an internet addict:
+113. You are asked about a bus schedule, you wonder if it is 16 or 32 bits.
+
+ /// Bram Moolenaar -- Bram at Moolenaar.net -- http://www.Moolenaar.net   \\\
+///        sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\        download, build and distribute -- http://www.A-A-P.org        ///
+ \\\            help me help AIDS victims -- http://ICCF-Holland.org    ///

================================================================
Index: packages/vim/7.2.241
diff -u /dev/null packages/vim/7.2.241:1.1
--- /dev/null	Fri Sep  4 13:20:14 2009
+++ packages/vim/7.2.241	Fri Sep  4 13:20:08 2009
@@ -0,0 +1,169 @@
+To: vim-dev at vim.org
+Subject: Patch 7.2.241
+Fcc: outbox
+From: Bram Moolenaar <Bram at moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.2.241
+Problem:    When using a combination of ":bufdo" and "doautoall" we may end up
+	    in the wrong directory. (Ajit Thakkar)
+	    Crash when triggering an autocommand in ":vimgrep".  (Yukihiro
+	    Nakadaira)
+Solution:   Clear w_localdir and globaldir when using the aucmd_win.
+	    Use a separate flag to decide aucmd_win needs to be restored.
+Files:	    src/fileio.c, src/globals.h, src/structs.h
+
+
+*** ../vim-7.2.240/src/fileio.c	2009-07-01 17:11:40.000000000 +0200
+--- src/fileio.c	2009-07-22 19:08:55.000000000 +0200
+***************
+*** 8420,8425 ****
+--- 8420,8429 ----
+  	if (aucmd_win == NULL)
+  	    win = curwin;
+      }
++     if (win == NULL && aucmd_win_used)
++ 	/* Strange recursive autocommand, fall back to using the current
++ 	 * window.  Expect a few side effects... */
++ 	win = curwin;
+  
+      aco->save_curwin = curwin;
+      aco->save_curbuf = curbuf;
+***************
+*** 8428,8433 ****
+--- 8432,8438 ----
+  	/* There is a window for "buf" in the current tab page, make it the
+  	 * curwin.  This is preferred, it has the least side effects (esp. if
+  	 * "buf" is curbuf). */
++ 	aco->use_aucmd_win = FALSE;
+  	curwin = win;
+      }
+      else
+***************
+*** 8436,8444 ****
+--- 8441,8460 ----
+  	 * effects, insert it in a the current tab page.
+  	 * Anything related to a window (e.g., setting folds) may have
+  	 * unexpected results. */
++ 	aco->use_aucmd_win = TRUE;
++ 	aucmd_win_used = TRUE;
+  	aucmd_win->w_buffer = buf;
+  	++buf->b_nwindows;
+  	win_init_empty(aucmd_win); /* set cursor and topline to safe values */
++ 	vim_free(aucmd_win->w_localdir);
++ 	aucmd_win->w_localdir = NULL;
++ 
++ 	/* Make sure w_localdir and globaldir are NULL to avoid a chdir() in
++ 	 * win_enter_ext(). */
++ 	aucmd_win->w_localdir = NULL;
++ 	aco->globaldir = globaldir;
++ 	globaldir = NULL;
++ 
+  
+  #ifdef FEAT_WINDOWS
+  	/* Split the current window, put the aucmd_win in the upper half.
+***************
+*** 8472,8478 ****
+      int dummy;
+  #endif
+  
+!     if (aco->new_curwin == aucmd_win)
+      {
+  	--curbuf->b_nwindows;
+  #ifdef FEAT_WINDOWS
+--- 8488,8494 ----
+      int dummy;
+  #endif
+  
+!     if (aco->use_aucmd_win)
+      {
+  	--curbuf->b_nwindows;
+  #ifdef FEAT_WINDOWS
+***************
+*** 8499,8504 ****
+--- 8515,8521 ----
+  	/* Remove the window and frame from the tree of frames. */
+  	(void)winframe_remove(curwin, &dummy, NULL);
+  	win_remove(curwin, NULL);
++ 	aucmd_win_used = FALSE;
+  	last_status(FALSE);	    /* may need to remove last status line */
+  	restore_snapshot(SNAP_AUCMD_IDX, FALSE);
+  	(void)win_comp_pos();   /* recompute window positions */
+***************
+*** 8517,8522 ****
+--- 8534,8542 ----
+  #endif
+  	curbuf = curwin->w_buffer;
+  
++ 	vim_free(globaldir);
++ 	globaldir = aco->globaldir;
++ 
+  	/* the buffer contents may have changed */
+  	check_cursor();
+  	if (curwin->w_topline > curbuf->b_ml.ml_line_count)
+***************
+*** 8541,8547 ****
+  #endif
+  	{
+  	    /* Restore the buffer which was previously edited by curwin, if
+! 	     * it was chagned, we are still the same window and the buffer is
+  	     * valid. */
+  	    if (curwin == aco->new_curwin
+  		    && curbuf != aco->new_curbuf
+--- 8561,8567 ----
+  #endif
+  	{
+  	    /* Restore the buffer which was previously edited by curwin, if
+! 	     * it was changed, we are still the same window and the buffer is
+  	     * valid. */
+  	    if (curwin == aco->new_curwin
+  		    && curbuf != aco->new_curbuf
+*** ../vim-7.2.240/src/globals.h	2009-06-16 16:01:34.000000000 +0200
+--- src/globals.h	2009-07-22 19:50:53.000000000 +0200
+***************
+*** 541,546 ****
+--- 541,547 ----
+  
+  #ifdef FEAT_AUTOCMD
+  EXTERN win_T	*aucmd_win;	/* window used in aucmd_prepbuf() */
++ EXTERN int	aucmd_win_used INIT(= FALSE);	/* aucmd_win is being used */
+  #endif
+  
+  /*
+*** ../vim-7.2.240/src/structs.h	2009-07-09 18:24:24.000000000 +0200
+--- src/structs.h	2009-07-22 18:58:35.000000000 +0200
+***************
+*** 2288,2296 ****
+--- 2288,2298 ----
+  {
+      buf_T	*save_curbuf;	/* saved curbuf */
+  #ifdef FEAT_AUTOCMD
++     int		use_aucmd_win;	/* using aucmd_win */
+      win_T	*save_curwin;	/* saved curwin */
+      win_T	*new_curwin;	/* new curwin */
+      buf_T	*new_curbuf;	/* new curbuf */
++     char_u	*globaldir;	/* saved value of globaldir */
+  #endif
+  } aco_save_T;
+  
+*** ../vim-7.2.240/src/version.c	2009-07-29 11:10:31.000000000 +0200
+--- src/version.c	2009-07-29 12:06:31.000000000 +0200
+***************
+*** 678,679 ****
+--- 678,681 ----
+  {   /* Add new patch number below this line */
++ /**/
++     241,
+  /**/
+
+-- 
+hundred-and-one symptoms of being an internet addict:
+114. You are counting items, you go "0,1,2,3,4,5,6,7,8,9,A,B,C,D...".
+
+ /// Bram Moolenaar -- Bram at Moolenaar.net -- http://www.Moolenaar.net   \\\
+///        sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\        download, build and distribute -- http://www.A-A-P.org        ///
+ \\\            help me help AIDS victims -- http://ICCF-Holland.org    ///

================================================================
Index: packages/vim/7.2.242
diff -u /dev/null packages/vim/7.2.242:1.1
--- /dev/null	Fri Sep  4 13:20:14 2009
+++ packages/vim/7.2.242	Fri Sep  4 13:20:08 2009
@@ -0,0 +1,89 @@
+To: vim-dev at vim.org
+Subject: Patch 7.2.242
+Fcc: outbox
+From: Bram Moolenaar <Bram at moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.2.242
+Problem:    Setting 'lazyredraw' causes the cursor column to be recomputed.
+	    (Tom Link)
+Solution:   Only recompute the cursor column for a boolean option if changes
+	    the cursor position.
+Files:	    src/option.c
+
+
+*** ../vim-7.2.241/src/option.c	2009-07-22 14:27:33.000000000 +0200
+--- src/option.c	2009-07-29 10:03:39.000000000 +0200
+***************
+*** 7194,7199 ****
+--- 7194,7207 ----
+  	compatible_set();
+      }
+  
++     /* 'list', 'number' */
++     else if ((int *)varp == &curwin->w_p_list
++ 	  || (int *)varp == &curwin->w_p_nu)
++     {
++ 	if (curwin->w_curswant != MAXCOL)
++ 	    curwin->w_set_curswant = TRUE;
++     }
++ 
+      else if ((int *)varp == &curbuf->b_p_ro)
+      {
+  	/* when 'readonly' is reset globally, also reset readonlymode */
+***************
+*** 7645,7650 ****
+--- 7653,7666 ----
+  	    curbuf->b_p_imsearch = B_IMODE_USE_INSERT;
+  # endif
+  	}
++ 	if (curwin->w_curswant != MAXCOL)
++ 	    curwin->w_set_curswant = TRUE;
++     }
++ 
++     else if ((int *)varp == &p_arshape)
++     {
++ 	if (curwin->w_curswant != MAXCOL)
++ 	    curwin->w_set_curswant = TRUE;
+      }
+  #endif
+  
+***************
+*** 7655,7662 ****
+      options[opt_idx].flags |= P_WAS_SET;
+  
+      comp_col();			    /* in case 'ruler' or 'showcmd' changed */
+!     if (curwin->w_curswant != MAXCOL)
+! 	curwin->w_set_curswant = TRUE;  /* in case 'list' changed */
+      check_redraw(options[opt_idx].flags);
+  
+      return NULL;
+--- 7671,7677 ----
+      options[opt_idx].flags |= P_WAS_SET;
+  
+      comp_col();			    /* in case 'ruler' or 'showcmd' changed */
+! 
+      check_redraw(options[opt_idx].flags);
+  
+      return NULL;
+*** ../vim-7.2.241/src/version.c	2009-07-29 12:09:49.000000000 +0200
+--- src/version.c	2009-07-29 15:40:43.000000000 +0200
+***************
+*** 678,679 ****
+--- 678,681 ----
+  {   /* Add new patch number below this line */
++ /**/
++     242,
+  /**/
+
+-- 
+hundred-and-one symptoms of being an internet addict:
+117. You are more comfortable typing in html.
+
+ /// Bram Moolenaar -- Bram at Moolenaar.net -- http://www.Moolenaar.net   \\\
+///        sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\        download, build and distribute -- http://www.A-A-P.org        ///
+ \\\            help me help AIDS victims -- http://ICCF-Holland.org    ///

================================================================
Index: packages/vim/7.2.243
diff -u /dev/null packages/vim/7.2.243:1.1
--- /dev/null	Fri Sep  4 13:20:14 2009
+++ packages/vim/7.2.243	Fri Sep  4 13:20:08 2009
@@ -0,0 +1,67 @@
+To: vim-dev at vim.org
+Subject: Patch 7.2.243
+Fcc: outbox
+From: Bram Moolenaar <Bram at moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.2.243
+Problem:    Memory leak when using :vimgrep and resizing. (Dominique Pelle)
+Solution:   Free memory for aucmd_win when resizing and don't allocate it
+	    twice.
+Files:	    src/screen.c
+
+
+*** ../vim-7.2.242/src/screen.c	2009-06-16 17:22:38.000000000 +0200
+--- src/screen.c	2009-07-29 15:59:37.000000000 +0200
+***************
+*** 7467,7472 ****
+--- 7467,7476 ----
+       */
+      FOR_ALL_TAB_WINDOWS(tp, wp)
+  	win_free_lsize(wp);
++ #ifdef FEAT_AUTOCMD
++     if (aucmd_win != NULL)
++ 	win_free_lsize(aucmd_win);
++ #endif
+  
+      new_ScreenLines = (schar_T *)lalloc((long_u)(
+  			      (Rows + 1) * Columns * sizeof(schar_T)), FALSE);
+***************
+*** 7504,7510 ****
+  	}
+      }
+  #ifdef FEAT_AUTOCMD
+!     if (aucmd_win != NULL && win_alloc_lines(aucmd_win) == FAIL)
+  	outofmem = TRUE;
+  #endif
+  #ifdef FEAT_WINDOWS
+--- 7508,7515 ----
+  	}
+      }
+  #ifdef FEAT_AUTOCMD
+!     if (aucmd_win != NULL && aucmd_win->w_lines == NULL
+! 					&& win_alloc_lines(aucmd_win) == FAIL)
+  	outofmem = TRUE;
+  #endif
+  #ifdef FEAT_WINDOWS
+*** ../vim-7.2.242/src/version.c	2009-07-29 15:41:32.000000000 +0200
+--- src/version.c	2009-07-29 16:07:47.000000000 +0200
+***************
+*** 678,679 ****
+--- 678,681 ----
+  {   /* Add new patch number below this line */
++ /**/
++     243,
+  /**/
+
+-- 
+hundred-and-one symptoms of being an internet addict:
+118. You are on a first-name basis with your ISP's staff.
+
+ /// Bram Moolenaar -- Bram at Moolenaar.net -- http://www.Moolenaar.net   \\\
+///        sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\        download, build and distribute -- http://www.A-A-P.org        ///
+ \\\            help me help AIDS victims -- http://ICCF-Holland.org    ///

================================================================
Index: packages/vim/7.2.244
diff -u /dev/null packages/vim/7.2.244:1.1
--- /dev/null	Fri Sep  4 13:20:14 2009
+++ packages/vim/7.2.244	Fri Sep  4 13:20:08 2009
@@ -0,0 +1,174 @@
+To: vim-dev at vim.org
+Subject: Patch 7.2.244
+Fcc: outbox
+From: Bram Moolenaar <Bram at moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.2.244
+Problem:    When 'enc' is utf-8 and 'fenc' is latin1, writing a non-latin1
+	    character gives a conversion error without any hint what is wrong.
+Solution:   When known add the line number to the error message.
+Files:	    src/fileio.c
+
+
+*** ../vim-7.2.243/src/fileio.c	2009-07-29 12:09:49.000000000 +0200
+--- src/fileio.c	2009-07-29 17:04:06.000000000 +0200
+***************
+*** 121,126 ****
+--- 121,128 ----
+      char_u	*bw_conv_buf;	/* buffer for writing converted chars */
+      int		bw_conv_buflen; /* size of bw_conv_buf */
+      int		bw_conv_error;	/* set for conversion error */
++     linenr_T	bw_conv_error_lnum;  /* first line with error or zero */
++     linenr_T	bw_start_lnum;  /* line number at start of buffer */
+  # ifdef USE_ICONV
+      iconv_t	bw_iconv_fd;	/* descriptor for iconv() or -1 */
+  # endif
+***************
+*** 2924,2929 ****
+--- 2925,2931 ----
+      linenr_T	    lnum;
+      long	    nchars;
+      char_u	    *errmsg = NULL;
++     int		    errmsg_allocated = FALSE;
+      char_u	    *errnum = NULL;
+      char_u	    *buffer;
+      char_u	    smallbuf[SMBUFSIZE];
+***************
+*** 2987,2992 ****
+--- 2989,2995 ----
+      /* must init bw_conv_buf and bw_iconv_fd before jumping to "fail" */
+      write_info.bw_conv_buf = NULL;
+      write_info.bw_conv_error = FALSE;
++     write_info.bw_conv_error_lnum = 0;
+      write_info.bw_restlen = 0;
+  # ifdef USE_ICONV
+      write_info.bw_iconv_fd = (iconv_t)-1;
+***************
+*** 4243,4248 ****
+--- 4245,4251 ----
+  		nchars += write_info.bw_len;
+  	}
+      }
++     write_info.bw_start_lnum = start;
+  #endif
+  
+      write_info.bw_len = bufsize;
+***************
+*** 4278,4283 ****
+--- 4281,4289 ----
+  	    nchars += bufsize;
+  	    s = buffer;
+  	    len = 0;
++ #ifdef FEAT_MBYTE
++ 	    write_info.bw_start_lnum = lnum;
++ #endif
+  	}
+  	/* write failed or last line has no EOL: stop here */
+  	if (end == 0
+***************
+*** 4474,4480 ****
+  	{
+  #ifdef FEAT_MBYTE
+  	    if (write_info.bw_conv_error)
+! 		errmsg = (char_u *)_("E513: write error, conversion failed (make 'fenc' empty to override)");
+  	    else
+  #endif
+  		if (got_int)
+--- 4480,4496 ----
+  	{
+  #ifdef FEAT_MBYTE
+  	    if (write_info.bw_conv_error)
+! 	    {
+! 		if (write_info.bw_conv_error_lnum == 0)
+! 		    errmsg = (char_u *)_("E513: write error, conversion failed (make 'fenc' empty to override)");
+! 		else
+! 		{
+! 		    errmsg_allocated = TRUE;
+! 		    errmsg = alloc(300);
+! 		    vim_snprintf((char *)errmsg, 300, _("E513: write error, conversion failed in line %ld (make 'fenc' empty to override)"),
+! 					 (long)write_info.bw_conv_error_lnum);
+! 		}
+! 	    }
+  	    else
+  #endif
+  		if (got_int)
+***************
+*** 4550,4555 ****
+--- 4566,4577 ----
+  	{
+  	    STRCAT(IObuff, _(" CONVERSION ERROR"));
+  	    c = TRUE;
++ 	    if (write_info.bw_conv_error_lnum != 0)
++ 	    {
++ 		int l = STRLEN(IObuff);
++ 		vim_snprintf((char *)IObuff + l, IOSIZE - l, _(" in line %ld;"),
++ 			(long)write_info.bw_conv_error_lnum);
++ 	    }
+  	}
+  	else if (notconverted)
+  	{
+***************
+*** 4746,4751 ****
+--- 4768,4775 ----
+  	}
+  	STRCAT(IObuff, errmsg);
+  	emsg(IObuff);
++ 	if (errmsg_allocated)
++ 	    vim_free(errmsg);
+  
+  	retval = FAIL;
+  	if (end == 0)
+***************
+*** 5105,5111 ****
+  			c = buf[wlen];
+  		}
+  
+! 		ip->bw_conv_error |= ucs2bytes(c, &p, flags);
+  	    }
+  	    if (flags & FIO_LATIN1)
+  		len = (int)(p - buf);
+--- 5129,5141 ----
+  			c = buf[wlen];
+  		}
+  
+! 		if (ucs2bytes(c, &p, flags) && !ip->bw_conv_error)
+! 		{
+! 		    ip->bw_conv_error = TRUE;
<<Diff was trimmed, longer than 597 lines>>

---- CVS-web:
    http://cvs.pld-linux.org/cgi-bin/cvsweb.cgi/packages/vim/vim.spec?r1=1.479&r2=1.480&f=u



More information about the pld-cvs-commit mailing list