packages: vim/7.2.303 (NEW), vim/7.2.304 (NEW), vim/7.2.305 (NEW), vim/7.2....

adamg adamg at pld-linux.org
Sun Dec 20 18:56:45 CET 2009


Author: adamg                        Date: Sun Dec 20 17:56:45 2009 GMT
Module: packages                      Tag: HEAD
---- Log message:
- new

---- Files affected:
packages/vim:
   7.2.303 (NONE -> 1.1)  (NEW), 7.2.304 (NONE -> 1.1)  (NEW), 7.2.305 (NONE -> 1.1)  (NEW), 7.2.306 (NONE -> 1.1)  (NEW), 7.2.307 (NONE -> 1.1)  (NEW), 7.2.308 (NONE -> 1.1)  (NEW), 7.2.309 (NONE -> 1.1)  (NEW), 7.2.310 (NONE -> 1.1)  (NEW), 7.2.311 (NONE -> 1.1)  (NEW), 7.2.312 (NONE -> 1.1)  (NEW), 7.2.313 (NONE -> 1.1)  (NEW), 7.2.314 (NONE -> 1.1)  (NEW), 7.2.315 (NONE -> 1.1)  (NEW), 7.2.316 (NONE -> 1.1)  (NEW), 7.2.317 (NONE -> 1.1)  (NEW), 7.2.318 (NONE -> 1.1)  (NEW), 7.2.319 (NONE -> 1.1)  (NEW), 7.2.320 (NONE -> 1.1)  (NEW)

---- Diffs:

================================================================
Index: packages/vim/7.2.303
diff -u /dev/null packages/vim/7.2.303:1.1
--- /dev/null	Sun Dec 20 18:56:45 2009
+++ packages/vim/7.2.303	Sun Dec 20 18:56:37 2009
@@ -0,0 +1,70 @@
+To: vim-dev at vim.org
+Subject: Patch 7.2.303
+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.303 (after 7.2.294)
+Problem:    Can't build on MS-Windows.
+Solution:   Add #ifdef around vim_settempdir(). (James Vega)
+Files:	    src/fileio.c
+
+
+*** ../vim-7.2.302/src/fileio.c	2009-11-17 17:13:03.000000000 +0100
+--- src/fileio.c	2009-11-18 20:06:55.000000000 +0100
+***************
+*** 146,152 ****
+--- 146,154 ----
+  # endif
+  #endif
+  static int move_lines __ARGS((buf_T *frombuf, buf_T *tobuf));
++ #ifdef TEMPDIRNAMES
+  static void vim_settempdir __ARGS((char_u *tempdir));
++ #endif
+  #ifdef FEAT_AUTOCMD
+  static char *e_auchangedbuf = N_("E812: Autocommands changed buffer or buffer name");
+  #endif
+***************
+*** 6995,7000 ****
+--- 6997,7003 ----
+  }
+  #endif
+  
++ #ifdef TEMPDIRNAMES
+  /*
+   * Directory "tempdir" was created.  Expand this name to a full path and put
+   * it in "vim_tempdir".  This avoids that using ":cd" would confuse us.
+***************
+*** 7021,7026 ****
+--- 7024,7030 ----
+  	vim_free(buf);
+      }
+  }
++ #endif
+  
+  /*
+   * vim_tempname(): Return a unique name that can be used for a temp file.
+*** ../vim-7.2.302/src/version.c	2009-11-17 17:57:10.000000000 +0100
+--- src/version.c	2009-11-18 20:07:58.000000000 +0100
+***************
+*** 683,684 ****
+--- 683,686 ----
+  {   /* Add new patch number below this line */
++ /**/
++     303,
+  /**/
+
+-- 
+BEDEVERE:        Why do you think she is a witch?
+SECOND VILLAGER: She turned me into a newt.
+BEDEVERE:        A newt?
+SECOND VILLAGER: (After looking at himself for some time) I got better.
+                 "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD
+
+ /// 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.304
diff -u /dev/null packages/vim/7.2.304:1.1
--- /dev/null	Sun Dec 20 18:56:45 2009
+++ packages/vim/7.2.304	Sun Dec 20 18:56:37 2009
@@ -0,0 +1,58 @@
+To: vim-dev at vim.org
+Subject: Patch 7.2.304
+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.304
+Problem:    Compiler warning for bad pointer cast.
+Solution:   Use another variable for int pointer.
+Files:	    src/ops.c
+
+
+*** ../vim-7.2.303/src/ops.c	2009-11-17 12:43:19.000000000 +0100
+--- src/ops.c	2009-11-18 15:40:26.000000000 +0100
+***************
+*** 5597,5603 ****
+  	    vc.vc_type = CONV_NONE;
+  	    if (convert_setup(&vc, p_enc, (char_u *)"latin1") == OK)
+  	    {
+! 		conv_str = string_convert(&vc, str, (int*)&len);
+  		if (conv_str != NULL)
+  		{
+  		    vim_free(str);
+--- 5597,5606 ----
+  	    vc.vc_type = CONV_NONE;
+  	    if (convert_setup(&vc, p_enc, (char_u *)"latin1") == OK)
+  	    {
+! 	        int intlen = len;
+! 
+! 		conv_str = string_convert(&vc, str, &intlen);
+! 		len = intlen;
+  		if (conv_str != NULL)
+  		{
+  		    vim_free(str);
+*** ../vim-7.2.303/src/version.c	2009-11-18 20:12:15.000000000 +0100
+--- src/version.c	2009-11-25 12:37:36.000000000 +0100
+***************
+*** 683,684 ****
+--- 683,686 ----
+  {   /* Add new patch number below this line */
++ /**/
++     304,
+  /**/
+
+-- 
+I recommend ordering large cargo containers of paper towels to make up
+whatever budget underruns you have.  Paper products are always useful and they
+have the advantage of being completely flushable if you need to make room in
+the storage area later.
+				(Scott Adams - The Dilbert principle)
+
+ /// 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.305
diff -u /dev/null packages/vim/7.2.305:1.1
--- /dev/null	Sun Dec 20 18:56:45 2009
+++ packages/vim/7.2.305	Sun Dec 20 18:56:37 2009
@@ -0,0 +1,105 @@
+To: vim-dev at vim.org
+Subject: Patch 7.2.305
+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.305
+Problem:    Recursively redrawing causes a memory leak. (Dominique Pelle)
+Solution:   Disallow recursive screen updating.
+Files:	    src/screen.c
+
+
+*** ../vim-7.2.304/src/screen.c	2009-11-11 17:07:25.000000000 +0100
+--- src/screen.c	2009-11-17 16:30:53.000000000 +0100
+***************
+*** 323,328 ****
+--- 323,329 ----
+      int		did_one;
+  #endif
+  
++     /* Don't do anything if the screen structures are (not yet) valid. */
+      if (!screen_valid(TRUE))
+  	return;
+  
+***************
+*** 342,348 ****
+      if (curwin->w_lines_valid == 0 && type < NOT_VALID)
+  	type = NOT_VALID;
+  
+!     if (!redrawing())
+      {
+  	redraw_later(type);		/* remember type for next time */
+  	must_redraw = type;
+--- 343,351 ----
+      if (curwin->w_lines_valid == 0 && type < NOT_VALID)
+  	type = NOT_VALID;
+  
+!     /* Postpone the redrawing when it's not needed and when being called
+!      * recursively. */
+!     if (!redrawing() || updating_screen)
+      {
+  	redraw_later(type);		/* remember type for next time */
+  	must_redraw = type;
+***************
+*** 582,587 ****
+--- 585,591 ----
+  
+  /*
+   * Prepare for updating one or more windows.
++  * Caller must check for "updating_screen" already set to avoid recursiveness.
+   */
+      static void
+  update_prepare()
+***************
+*** 663,669 ****
+  	    doit = TRUE;
+      }
+  
+!     if (!doit)
+  	return;
+  
+      /* update all windows that need updating */
+--- 667,675 ----
+  	    doit = TRUE;
+      }
+  
+!     /* Return when there is nothing to do or screen updating already
+!      * happening. */
+!     if (!doit || updating_screen)
+  	return;
+  
+      /* update all windows that need updating */
+***************
+*** 696,701 ****
+--- 702,711 ----
+  updateWindow(wp)
+      win_T	*wp;
+  {
++     /* return if already busy updating */
++     if (updating_screen)
++ 	return;
++ 
+      update_prepare();
+  
+  #ifdef FEAT_CLIPBOARD
+*** ../vim-7.2.304/src/version.c	2009-11-25 12:38:49.000000000 +0100
+--- src/version.c	2009-11-25 13:01:48.000000000 +0100
+***************
+*** 683,684 ****
+--- 683,686 ----
+  {   /* Add new patch number below this line */
++ /**/
++     305,
+  /**/
+
+-- 
+If the Universe is constantly expanding, why can't I ever find a parking space?
+
+ /// 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.306
diff -u /dev/null packages/vim/7.2.306:1.1
--- /dev/null	Sun Dec 20 18:56:45 2009
+++ packages/vim/7.2.306	Sun Dec 20 18:56:37 2009
@@ -0,0 +1,48 @@
+To: vim-dev at vim.org
+Subject: Patch 7.2.306
+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.306
+Problem:    shellescape("10%%", 1) only escapes first %. (Christian Brabandt)
+Solution:   Don't copy the character after the escaped one.
+Files:	    src/misc2.c
+
+
+*** ../vim-7.2.305/src/misc2.c	2009-11-11 16:56:13.000000000 +0100
+--- src/misc2.c	2009-11-25 17:11:49.000000000 +0100
+***************
+*** 1390,1395 ****
+--- 1390,1396 ----
+  		*d++ = '\\';		/* insert backslash */
+  		while (--l >= 0)	/* copy the var */
+  		    *d++ = *p++;
++ 		continue;
+  	    }
+  
+  	    MB_COPY_CHAR(p, d);
+*** ../vim-7.2.305/src/version.c	2009-11-25 13:03:29.000000000 +0100
+--- src/version.c	2009-11-25 17:13:54.000000000 +0100
+***************
+*** 683,684 ****
+--- 683,686 ----
+  {   /* Add new patch number below this line */
++ /**/
++     306,
+  /**/
+
+-- 
+Article in the first Free Software Magazine: "Bram Moolenaar studied electrical
+engineering at the Technical University of Delft and graduated in 1985 on a
+multi-processor Unix architecture."
+Response by "dimator": Could the school not afford a proper stage for the
+ceremony?
+
+ /// 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.307
diff -u /dev/null packages/vim/7.2.307:1.1
--- /dev/null	Sun Dec 20 18:56:45 2009
+++ packages/vim/7.2.307	Sun Dec 20 18:56:37 2009
@@ -0,0 +1,181 @@
+To: vim-dev at vim.org
+Subject: Patch 7.2.307
+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.307
+Problem:    Crash with a very long syntax match statement. (Guy Gur Ari)
+Solution:   When the offset does not fit in the two bytes available give an
+            error instead of continuing with invalid pointers.
+Files:      src/regexp.c
+
+
+*** ../vim-7.2.306/src/regexp.c	2009-05-15 21:31:11.000000000 +0200
+--- src/regexp.c	2009-11-25 18:13:03.000000000 +0100
+***************
+*** 583,588 ****
+--- 583,589 ----
+  #endif
+  static char_u	*regcode;	/* Code-emit pointer, or JUST_CALC_SIZE */
+  static long	regsize;	/* Code size. */
++ static int	reg_toolong;	/* TRUE when offset out of range */
+  static char_u	had_endbrace[NSUBEXP];	/* flags, TRUE if end of () found */
+  static unsigned	regflags;	/* RF_ flags for prog */
+  static long	brace_min[10];	/* Minimums for complex brace repeats */
+***************
+*** 1028,1036 ****
+      regcomp_start(expr, re_flags);
+      regcode = r->program;
+      regc(REGMAGIC);
+!     if (reg(REG_NOPAREN, &flags) == NULL)
+      {
+  	vim_free(r);
+  	return NULL;
+      }
+  
+--- 1029,1039 ----
+      regcomp_start(expr, re_flags);
+      regcode = r->program;
+      regc(REGMAGIC);
+!     if (reg(REG_NOPAREN, &flags) == NULL || reg_toolong)
+      {
+  	vim_free(r);
++ 	if (reg_toolong)
++ 	    EMSG_RET_NULL(_("E339: Pattern too long"));
+  	return NULL;
+      }
+  
+***************
+*** 1141,1146 ****
+--- 1144,1150 ----
+      re_has_z = 0;
+  #endif
+      regsize = 0L;
++     reg_toolong = FALSE;
+      regflags = 0;
+  #if defined(FEAT_SYN_HL) || defined(PROTO)
+      had_eol = FALSE;
+***************
+*** 1228,1234 ****
+      {
+  	skipchr();
+  	br = regbranch(&flags);
+! 	if (br == NULL)
+  	    return NULL;
+  	regtail(ret, br);	/* BRANCH -> BRANCH. */
+  	if (!(flags & HASWIDTH))
+--- 1232,1238 ----
+      {
+  	skipchr();
+  	br = regbranch(&flags);
+! 	if (br == NULL || reg_toolong)
+  	    return NULL;
+  	regtail(ret, br);	/* BRANCH -> BRANCH. */
+  	if (!(flags & HASWIDTH))
+***************
+*** 1313,1318 ****
+--- 1317,1324 ----
+  	    break;
+  	skipchr();
+  	regtail(latest, regnode(END)); /* operand ends */
++ 	if (reg_toolong)
++ 	    break;
+  	reginsert(MATCH, latest);
+  	chain = latest;
+      }
+***************
+*** 1382,1388 ****
+  			    break;
+  	    default:
+  			    latest = regpiece(&flags);
+! 			    if (latest == NULL)
+  				return NULL;
+  			    *flagp |= flags & (HASWIDTH | HASNL | HASLOOKBH);
+  			    if (chain == NULL)	/* First piece. */
+--- 1388,1394 ----
+  			    break;
+  	    default:
+  			    latest = regpiece(&flags);
+! 			    if (latest == NULL || reg_toolong)
+  				return NULL;
+  			    *flagp |= flags & (HASWIDTH | HASNL | HASLOOKBH);
+  			    if (chain == NULL)	/* First piece. */
+***************
+*** 2540,2547 ****
+  	offset = (int)(scan - val);
+      else
+  	offset = (int)(val - scan);
+!     *(scan + 1) = (char_u) (((unsigned)offset >> 8) & 0377);
+!     *(scan + 2) = (char_u) (offset & 0377);
+  }
+  
+  /*
+--- 2546,2561 ----
+  	offset = (int)(scan - val);
+      else
+  	offset = (int)(val - scan);
+!     /* When the offset uses more than 16 bits it can no longer fit in the two
+!      * bytes avaliable.  Use a global flag to avoid having to check return
+!      * values in too many places. */
+!     if (offset > 0xffff)
+! 	reg_toolong = TRUE;
+!     else
+!     {
+! 	*(scan + 1) = (char_u) (((unsigned)offset >> 8) & 0377);
+! 	*(scan + 2) = (char_u) (offset & 0377);
+!     }
+  }
+  
+  /*
+***************
+*** 5764,5769 ****
+--- 5778,5785 ----
+  
+  /*
+   * regnext - dig the "next" pointer out of a node
++  * Returns NULL when calculating size, when there is no next item and when
++  * there is an error.
+   */
+      static char_u *
+  regnext(p)
+***************
+*** 5771,5777 ****
+  {
+      int	    offset;
+  
+!     if (p == JUST_CALC_SIZE)
+  	return NULL;
+  
+      offset = NEXT(p);
+--- 5787,5793 ----
+  {
+      int	    offset;
+  
+!     if (p == JUST_CALC_SIZE || reg_toolong)
+  	return NULL;
+  
+      offset = NEXT(p);
+*** ../vim-7.2.306/src/version.c	2009-11-25 17:15:16.000000000 +0100
+--- src/version.c	2009-11-25 18:14:32.000000000 +0100
+***************
+*** 683,684 ****
+--- 683,686 ----
+  {   /* Add new patch number below this line */
++ /**/
++     307,
+  /**/
+
+-- 
+The fastest way to get an engineer to solve a problem is to declare that the
+problem is unsolvable.  No engineer can walk away from an unsolvable problem
+until it's solved.
+				(Scott Adams - The Dilbert principle)
+
+ /// 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.308
diff -u /dev/null packages/vim/7.2.308:1.1
--- /dev/null	Sun Dec 20 18:56:45 2009
+++ packages/vim/7.2.308	Sun Dec 20 18:56:37 2009
@@ -0,0 +1,182 @@
+To: vim-dev at vim.org
+Subject: Patch 7.2.308
+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.308
+Problem:    When using a regexp in the "\=" expression of a substitute
+	    command, submatch() returns empty strings for further lines.
+	    (Clockwork Jam)
+Solution:   Save and restore the line number and line count when calling
+	    reg_getline().
+Files:	    src/regexp.c
+
+
+*** ../vim-7.2.307/src/regexp.c	2009-11-25 18:21:48.000000000 +0100
+--- src/regexp.c	2009-11-25 19:45:07.000000000 +0100
+***************
+*** 6828,6833 ****
+--- 6828,6835 ----
+   * that contains a call to substitute() and submatch(). */
+  static regmatch_T	*submatch_match;
+  static regmmatch_T	*submatch_mmatch;
++ static linenr_T		submatch_firstlnum;
++ static linenr_T		submatch_maxline;
+  #endif
+  
+  #if defined(FEAT_MODIFY_FNAME) || defined(FEAT_EVAL) || defined(PROTO)
+***************
+*** 6941,6947 ****
+  	}
+  	else
+  	{
+- 	    linenr_T	save_reg_maxline;
+  	    win_T	*save_reg_win;
+  	    int		save_ireg_ic;
+  
+--- 6943,6948 ----
+***************
+*** 6953,6959 ****
+  	     * vim_regexec_multi() can't be called recursively. */
+  	    submatch_match = reg_match;
+  	    submatch_mmatch = reg_mmatch;
+! 	    save_reg_maxline = reg_maxline;
+  	    save_reg_win = reg_win;
+  	    save_ireg_ic = ireg_ic;
+  	    can_f_submatch = TRUE;
+--- 6954,6961 ----
+  	     * vim_regexec_multi() can't be called recursively. */
+  	    submatch_match = reg_match;
+  	    submatch_mmatch = reg_mmatch;
+! 	    submatch_firstlnum = reg_firstlnum;
+! 	    submatch_maxline = reg_maxline;
+  	    save_reg_win = reg_win;
+  	    save_ireg_ic = ireg_ic;
+  	    can_f_submatch = TRUE;
+***************
+*** 6976,6982 ****
+  
+  	    reg_match = submatch_match;
+  	    reg_mmatch = submatch_mmatch;
+! 	    reg_maxline = save_reg_maxline;
+  	    reg_win = save_reg_win;
+  	    ireg_ic = save_ireg_ic;
+  	    can_f_submatch = FALSE;
+--- 6978,6985 ----
+  
+  	    reg_match = submatch_match;
+  	    reg_mmatch = submatch_mmatch;
+! 	    reg_firstlnum = submatch_firstlnum;
+! 	    reg_maxline = submatch_maxline;
+  	    reg_win = save_reg_win;
+  	    ireg_ic = save_ireg_ic;
+  	    can_f_submatch = FALSE;
+***************
+*** 7212,7217 ****
+--- 7215,7243 ----
+  
+  #ifdef FEAT_EVAL
+  /*
++  * Call reg_getline() with the line numbers from the submatch.  If a
++  * substitute() was used the reg_maxline and other values have been
++  * overwritten.
++  */
++     static char_u *
++ reg_getline_submatch(lnum)
++     linenr_T	lnum;
++ {
++     char_u *s;
++     linenr_T save_first = reg_firstlnum;
++     linenr_T save_max = reg_maxline;
++ 
++     reg_firstlnum = submatch_firstlnum;
++     reg_maxline = submatch_maxline;
++ 
++     s = reg_getline(lnum);
<<Diff was trimmed, longer than 597 lines>>


More information about the pld-cvs-commit mailing list