SOURCES: 7.1.292 (NEW), 7.1.293 (NEW), 7.1.294 (NEW), 7.1.295 (NEW), 7.1.29...

glen glen at pld-linux.org
Thu May 29 21:12:38 CEST 2008


Author: glen                         Date: Thu May 29 19:12:37 2008 GMT
Module: SOURCES                       Tag: HEAD
---- Log message:
- from upstream

---- Files affected:
SOURCES:
   7.1.292 (NONE -> 1.1)  (NEW), 7.1.293 (NONE -> 1.1)  (NEW), 7.1.294 (NONE -> 1.1)  (NEW), 7.1.295 (NONE -> 1.1)  (NEW), 7.1.296 (NONE -> 1.1)  (NEW), 7.1.297 (NONE -> 1.1)  (NEW), 7.1.298 (NONE -> 1.1)  (NEW), 7.1.299 (NONE -> 1.1)  (NEW), 7.1.300 (NONE -> 1.1)  (NEW), 7.1.301 (NONE -> 1.1)  (NEW), 7.1.302 (NONE -> 1.1)  (NEW), 7.1.303 (NONE -> 1.1)  (NEW)

---- Diffs:

================================================================
Index: SOURCES/7.1.292
diff -u /dev/null SOURCES/7.1.292:1.1
--- /dev/null	Thu May 29 21:12:37 2008
+++ SOURCES/7.1.292	Thu May 29 21:12:31 2008
@@ -0,0 +1,251 @@
+To: vim-dev at vim.org
+Subject: Patch 7.1.292
+Fcc: outbox
+From: Bram Moolenaar <Bram at moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=ISO-8859-1
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.1.292
+Problem:    When using a pattern with "\@<=" the submatches can be wrong.
+	    (Brett Stahlman)
+Solution:   Save the submatches when attempting a look-behind match.
+Files:	    src/regexp.c
+
+
+*** ../vim-7.1.291/src/regexp.c	Sat Jan 19 15:55:51 2008
+--- src/regexp.c	Tue Apr  1 18:15:47 2008
+***************
+*** 3039,3044 ****
+--- 3039,3053 ----
+      } se_u;
+  } save_se_T;
+  
++ /* used for BEHIND and NOBEHIND matching */
++ typedef struct regbehind_S
++ {
++     regsave_T	save_after;
++     regsave_T	save_behind;
++     save_se_T   save_start[NSUBEXP];
++     save_se_T   save_end[NSUBEXP];
++ } regbehind_T;
++ 
+  static char_u	*reg_getline __ARGS((linenr_T lnum));
+  static long	vim_regexec_both __ARGS((char_u *line, colnr_T col, proftime_T *tm));
+  static long	regtry __ARGS((regprog_T *prog, colnr_T col));
+***************
+*** 3046,3051 ****
+--- 3055,3062 ----
+  #ifdef FEAT_SYN_HL
+  static void	cleanup_zsubexpr __ARGS((void));
+  #endif
++ static void	save_subexpr __ARGS((regbehind_T *bp));
++ static void	restore_subexpr __ARGS((regbehind_T *bp));
+  static void	reg_nextline __ARGS((void));
+  static void	reg_save __ARGS((regsave_T *save, garray_T *gap));
+  static void	reg_restore __ARGS((regsave_T *save, garray_T *gap));
+***************
+*** 3166,3184 ****
+  	save_se_T  sesave;
+  	regsave_T  regsave;
+      } rs_un;			/* room for saving reginput */
+!     short	rs_no;		/* submatch nr */
+  } regitem_T;
+  
+  static regitem_T *regstack_push __ARGS((regstate_T state, char_u *scan));
+  static void regstack_pop __ARGS((char_u **scan));
+  
+- /* used for BEHIND and NOBEHIND matching */
+- typedef struct regbehind_S
+- {
+-     regsave_T	save_after;
+-     regsave_T	save_behind;
+- } regbehind_T;
+- 
+  /* used for STAR, PLUS and BRACE_SIMPLE matching */
+  typedef struct regstar_S
+  {
+--- 3177,3188 ----
+  	save_se_T  sesave;
+  	regsave_T  regsave;
+      } rs_un;			/* room for saving reginput */
+!     short	rs_no;		/* submatch nr or BEHIND/NOBEHIND */
+  } regitem_T;
+  
+  static regitem_T *regstack_push __ARGS((regstate_T state, char_u *scan));
+  static void regstack_pop __ARGS((char_u **scan));
+  
+  /* used for STAR, PLUS and BRACE_SIMPLE matching */
+  typedef struct regstar_S
+  {
+***************
+*** 4888,4893 ****
+--- 4892,4901 ----
+  		    status = RA_FAIL;
+  		else
+  		{
++ 		    /* Need to save the subexpr to be able to restore them
++ 		     * when there is a match but we don't use it. */
++ 		    save_subexpr(((regbehind_T *)rp) - 1);
++ 
+  		    rp->rs_no = op;
+  		    reg_save(&rp->rs_un.regsave, &backpos);
+  		    /* First try if what follows matches.  If it does then we
+***************
+*** 5118,5132 ****
+  		    reg_restore(&(((regbehind_T *)rp) - 1)->save_after,
+  								    &backpos);
+  		else
+! 		    /* But we didn't want a match. */
+  		    status = RA_NOMATCH;
+  		regstack_pop(&scan);
+  		regstack.ga_len -= sizeof(regbehind_T);
+  	    }
+  	    else
+  	    {
+! 		/* No match: Go back one character.  May go to previous
+! 		 * line once. */
+  		no = OK;
+  		if (REG_MULTI)
+  		{
+--- 5126,5145 ----
+  		    reg_restore(&(((regbehind_T *)rp) - 1)->save_after,
+  								    &backpos);
+  		else
+! 		{
+! 		    /* But we didn't want a match.  Need to restore the
+! 		     * subexpr, because what follows matched, so they have
+! 		     * been set. */
+  		    status = RA_NOMATCH;
++ 		    restore_subexpr(((regbehind_T *)rp) - 1);
++ 		}
+  		regstack_pop(&scan);
+  		regstack.ga_len -= sizeof(regbehind_T);
+  	    }
+  	    else
+  	    {
+! 		/* No match or a match that doesn't end where we want it: Go
+! 		 * back one character.  May go to previous line once. */
+  		no = OK;
+  		if (REG_MULTI)
+  		{
+***************
+*** 5160,5165 ****
+--- 5173,5185 ----
+  		    /* Advanced, prepare for finding match again. */
+  		    reg_restore(&rp->rs_un.regsave, &backpos);
+  		    scan = OPERAND(rp->rs_scan);
++ 		    if (status == RA_MATCH)
++ 		    {
++ 			/* We did match, so subexpr may have been changed,
++ 			 * need to restore them for the next try. */
++ 			status = RA_NOMATCH;
++ 			restore_subexpr(((regbehind_T *)rp) - 1);
++ 		    }
+  		}
+  		else
+  		{
+***************
+*** 5172,5178 ****
+  			status = RA_MATCH;
+  		    }
+  		    else
+! 			status = RA_NOMATCH;
+  		    regstack_pop(&scan);
+  		    regstack.ga_len -= sizeof(regbehind_T);
+  		}
+--- 5192,5207 ----
+  			status = RA_MATCH;
+  		    }
+  		    else
+! 		    {
+! 			/* We do want a proper match.  Need to restore the
+! 			 * subexpr if we had a match, because they may have
+! 			 * been set. */
+! 			if (status == RA_MATCH)
+! 			{
+! 			    status = RA_NOMATCH;
+! 			    restore_subexpr(((regbehind_T *)rp) - 1);
+! 			}
+! 		    }
+  		    regstack_pop(&scan);
+  		    regstack.ga_len -= sizeof(regbehind_T);
+  		}
+***************
+*** 5820,5825 ****
+--- 5849,5903 ----
+  #endif
+  
+  /*
++  * Save the current subexpr to "bp", so that they can be restored
++  * later by restore_subexpr().
++  */
++     static void
++ save_subexpr(bp)
++     regbehind_T *bp;
++ {
++     int i;
++ 
++     for (i = 0; i < NSUBEXP; ++i)
++     {
++ 	if (REG_MULTI)
++ 	{
++ 	    bp->save_start[i].se_u.pos = reg_startpos[i];
++ 	    bp->save_end[i].se_u.pos = reg_endpos[i];
++ 	}
++ 	else
++ 	{
++ 	    bp->save_start[i].se_u.ptr = reg_startp[i];
++ 	    bp->save_end[i].se_u.ptr = reg_endp[i];
++ 	}
++     }
++ }
++ 
++ /*
++  * Restore the subexpr from "bp".
++  */
++     static void
++ restore_subexpr(bp)
++     regbehind_T *bp;
++ {
++     int i;
++ 
++     for (i = 0; i < NSUBEXP; ++i)
++     {
++ 	if (REG_MULTI)
++ 	{
++ 	    reg_startpos[i] = bp->save_start[i].se_u.pos;
++ 	    reg_endpos[i] = bp->save_end[i].se_u.pos;
++ 	}
++ 	else
++ 	{
++ 	    reg_startp[i] = bp->save_start[i].se_u.ptr;
++ 	    reg_endp[i] = bp->save_end[i].se_u.ptr;
++ 	}
++     }
++ }
++ 
++ /*
+   * Advance reglnum, regline and reginput to the next line.
+   */
+      static void
+*** ../vim-7.1.291/src/version.c	Tue Apr  1 20:58:23 2008
+--- src/version.c	Wed Apr  9 12:12:33 2008
+***************
+*** 668,669 ****
+--- 673,676 ----
+  {   /* Add new patch number below this line */
++ /**/
++     292,
+  /**/
+
+-- 
+hundred-and-one symptoms of being an internet addict:
+259. When you enter your name in the AltaVista search engine, the top ten
+     matches do indeed refer to you.
+
+ /// 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: SOURCES/7.1.293
diff -u /dev/null SOURCES/7.1.293:1.1
--- /dev/null	Thu May 29 21:12:37 2008
+++ SOURCES/7.1.293	Thu May 29 21:12:31 2008
@@ -0,0 +1,118 @@
+To: vim-dev at vim.org
+Subject: Patch 7.1.293
+Fcc: outbox
+From: Bram Moolenaar <Bram at moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=ISO-8859-1
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.1.293
+Problem:    Spell checking considers super- and subscript characters as word
+	    characters.
+Solution:   Recognize the Unicode super and subscript characters.
+Files:	    src/spell.c
+
+
+*** ../vim-7.1.292/src/spell.c	Tue Apr  1 17:13:54 2008
+--- src/spell.c	Wed Apr  9 15:47:06 2008
+***************
+*** 753,758 ****
+--- 753,759 ----
+  static int spell_iswordp __ARGS((char_u *p, buf_T *buf));
+  static int spell_iswordp_nmw __ARGS((char_u *p));
+  #ifdef FEAT_MBYTE
++ static int spell_mb_isword_class __ARGS((int cl));
+  static int spell_iswordp_w __ARGS((int *p, buf_T *buf));
+  #endif
+  static int write_spell_prefcond __ARGS((FILE *fd, garray_T *gap));
+***************
+*** 9789,9795 ****
+  
+  	c = mb_ptr2char(s);
+  	if (c > 255)
+! 	    return mb_get_class(s) >= 2;
+  	return spelltab.st_isw[c];
+      }
+  #endif
+--- 9790,9796 ----
+  
+  	c = mb_ptr2char(s);
+  	if (c > 255)
+! 	    return spell_mb_isword_class(mb_get_class(s));
+  	return spelltab.st_isw[c];
+      }
+  #endif
+***************
+*** 9812,9818 ****
+      {
+  	c = mb_ptr2char(p);
+  	if (c > 255)
+! 	    return mb_get_class(p) >= 2;
+  	return spelltab.st_isw[c];
+      }
+  #endif
+--- 9813,9819 ----
+      {
+  	c = mb_ptr2char(p);
+  	if (c > 255)
+! 	    return spell_mb_isword_class(mb_get_class(p));
+  	return spelltab.st_isw[c];
+      }
+  #endif
+***************
+*** 9821,9826 ****
+--- 9822,9839 ----
+  
+  #ifdef FEAT_MBYTE
+  /*
++  * Return TRUE if word class indicates a word character.
++  * Only for characters above 255.
++  * Unicode subscript and superscript are not considered word characters.
++  */
++     static int
++ spell_mb_isword_class(cl)
++     int cl;
++ {
++     return cl >= 2 && cl != 0x2070 && cl != 0x2080;
++ }
++ 
++ /*
+   * Return TRUE if "p" points to a word character.
+   * Wide version of spell_iswordp().
+   */
+***************
+*** 9841,9847 ****
+      if (*s > 255)
+      {
+  	if (enc_utf8)
+! 	    return utf_class(*s) >= 2;
+  	if (enc_dbcs)
+  	    return dbcs_class((unsigned)*s >> 8, *s & 0xff) >= 2;
+  	return 0;
+--- 9854,9860 ----
+      if (*s > 255)
+      {
+  	if (enc_utf8)
+! 	    return spell_mb_isword_class(utf_class(*s));
+  	if (enc_dbcs)
+  	    return dbcs_class((unsigned)*s >> 8, *s & 0xff) >= 2;
+  	return 0;
+*** ../vim-7.1.292/src/version.c	Wed Apr  9 12:14:44 2008
+--- src/version.c	Wed Apr  9 15:45:10 2008
+***************
+*** 668,669 ****
+--- 673,676 ----
+  {   /* Add new patch number below this line */
++ /**/
++     293,
+  /**/
+
+-- 
+hundred-and-one symptoms of being an internet addict:
+268. You get up in the morning and go online before getting your coffee.
+
+ /// 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: SOURCES/7.1.294
diff -u /dev/null SOURCES/7.1.294:1.1
--- /dev/null	Thu May 29 21:12:37 2008
+++ SOURCES/7.1.294	Thu May 29 21:12:31 2008
@@ -0,0 +1,73 @@
+To: vim-dev at vim.org
+Subject: Patch 7.1.294
+Fcc: outbox
+From: Bram Moolenaar <Bram at moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=ISO-8859-1
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.1.294
+Problem:    Leaking memory when executing a shell command.
+Solution:   Free memory when not able to save for undo. (Dominique Pelle)
+Files:	    src/ex_cmds.c
+
+*** ../vim-7.1.293/src/ex_cmds.c	Mon Feb 18 19:41:40 2008
+--- src/ex_cmds.c	Sun Apr 13 13:20:15 2008
+***************
+*** 1160,1165 ****
+--- 1166,1172 ----
+      if (!do_out)
+  	msg_putchar('\n');
+  
++     /* Create the shell command in allocated memory. */
+      cmd_buf = make_filter_cmd(cmd, itmp, otmp);
+      if (cmd_buf == NULL)
+  	goto filterend;
+***************
+*** 1180,1186 ****
+--- 1187,1196 ----
+      if (do_out)
+      {
+  	if (u_save((linenr_T)(line2), (linenr_T)(line2 + 1)) == FAIL)
++ 	{
++ 	    vim_free(cmd_buf);
+  	    goto error;
++ 	}
+  	redraw_curbuf_later(VALID);
+      }
+      read_linecount = curbuf->b_ml.ml_line_count;
+***************
+*** 4471,4477 ****
+  	    /*
+  	     * The new text is build up step by step, to avoid too much
+  	     * copying.  There are these pieces:
+! 	     * sub_firstline	The old text, unmodifed.
+  	     * copycol		Column in the old text where we started
+  	     *			looking for a match; from here old text still
+  	     *			needs to be copied to the new text.
+--- 4481,4487 ----
+  	    /*
+  	     * The new text is build up step by step, to avoid too much
+  	     * copying.  There are these pieces:
+! 	     * sub_firstline	The old text, unmodified.
+  	     * copycol		Column in the old text where we started
+  	     *			looking for a match; from here old text still
+  	     *			needs to be copied to the new text.
+*** ../vim-7.1.293/src/version.c	Wed Apr  9 15:48:08 2008
+--- src/version.c	Wed May  7 13:07:48 2008
+***************
+*** 668,669 ****
+--- 673,676 ----
+  {   /* Add new patch number below this line */
++ /**/
++     294,
+  /**/
+
+-- 
+It's not hard to meet expenses, they're everywhere.
+
+ /// 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: SOURCES/7.1.295
diff -u /dev/null SOURCES/7.1.295:1.1
--- /dev/null	Thu May 29 21:12:37 2008
+++ SOURCES/7.1.295	Thu May 29 21:12:31 2008
@@ -0,0 +1,187 @@
+To: vim-dev at vim.org
+Subject: Patch 7.1.295
+Fcc: outbox
+From: Bram Moolenaar <Bram at moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=ISO-8859-1
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.1.295
+Problem:    Vimtutor only works with vim, not gvim.
+Solution:   Add the -g flag to vimtutor. (Dominique Pelle)  Add gvimtutor.
+Files:	    src/Makefile, src/gvimtutor, src/vimtutor, runtime/doc/vimtutor.1
+
+
+*** ../vim-7.1.294/src/Makefile	Wed May  7 13:09:17 2008
+--- src/Makefile	Wed May  7 17:34:31 2008
+***************
+*** 1867,1872 ****
+--- 1872,1879 ----
+  installtutorbin: $(DEST_VIM)
+  	$(INSTALL_DATA) vimtutor $(DEST_BIN)/$(VIMNAME)tutor
+  	chmod $(SCRIPTMOD) $(DEST_BIN)/$(VIMNAME)tutor
++ 	$(INSTALL_DATA) gvimtutor $(DEST_BIN)/$(GVIMNAME)tutor
++ 	chmod $(SCRIPTMOD) $(DEST_BIN)/$(GVIMNAME)tutor
+  
+  installtutor: $(DEST_RT) $(DEST_TUTOR)
+  	-$(INSTALL_DATA) $(TUTORSOURCE)/README* $(TUTORSOURCE)/tutor* $(DEST_TUTOR)
+***************
+*** 2075,2080 ****
+--- 2082,2088 ----
+  uninstall: uninstall_runtime
+  	-rm -f $(DEST_BIN)/$(VIMTARGET)
+  	-rm -f $(DEST_BIN)/vimtutor
++ 	-rm -f $(DEST_BIN)/gvimtutor
+  	-rm -f $(DEST_BIN)/$(EXTARGET) $(DEST_BIN)/$(VIEWTARGET)
+  	-rm -f $(DEST_BIN)/$(GVIMTARGET) $(DEST_BIN)/$(GVIEWTARGET)
+  	-rm -f $(DEST_BIN)/$(RVIMTARGET) $(DEST_BIN)/$(RVIEWTARGET)
+***************
+*** 2171,2177 ****
+  
+  shadow:	runtime pixmaps
+  	mkdir $(SHADOWDIR)
+! 	cd $(SHADOWDIR); ln -s ../*.[ch] ../*.in ../*.sh ../*.xs ../*.xbm ../toolcheck ../proto ../vimtutor ../mkinstalldirs .
+  	mkdir $(SHADOWDIR)/auto
+  	cd $(SHADOWDIR)/auto; ln -s ../../auto/configure .
+  	cd $(SHADOWDIR); rm -f auto/link.sed
+--- 2179,2185 ----
+  
+  shadow:	runtime pixmaps
+  	mkdir $(SHADOWDIR)
+! 	cd $(SHADOWDIR); ln -s ../*.[ch] ../*.in ../*.sh ../*.xs ../*.xbm ../toolcheck ../proto ../vimtutor ../gvimtutor ../mkinstalldirs .
+  	mkdir $(SHADOWDIR)/auto
+  	cd $(SHADOWDIR)/auto; ln -s ../../auto/configure .
+  	cd $(SHADOWDIR); rm -f auto/link.sed
+*** ../vim-7.1.294/src/gvimtutor	Wed May  7 17:38:10 2008
+--- src/gvimtutor	Wed May  7 17:29:35 2008
+***************
+*** 0 ****
+--- 1,8 ----
++ #!/bin/sh
++ 
++ # Start GUI Vim on a copy of the tutor file.
++ 
++ # Usage: gvimtutor [xx]
++ # See vimtutor for usage.
++ 
++ exec `dirname $0`/vimtutor -g "$@"
+*** ../vim-7.1.294/src/vimtutor	Tue Jul 17 14:32:07 2007
+--- src/vimtutor	Sat Apr  5 12:21:11 2008
+***************
+*** 2,12 ****
+  
+  # Start Vim on a copy of the tutor file.
+  
+! # Usage: vimtutor [xx], where xx is a language code like "es" or "nl".
+  # When an argument is given, it tries loading that tutor.
+  # When this fails or no argument was given, it tries using 'v:lang'
+  # When that also fails, it uses the English version.
+  
+  xx=$1
+  export xx
+  
+--- 2,25 ----
+  
+  # Start Vim on a copy of the tutor file.
+  
+! # Usage: vimtutor [-g] [xx]
+! # Where optional argument -g starts vimtutor in gvim (GUI) instead of vim.
+! # and xx is a language code like "es" or "nl".
+  # When an argument is given, it tries loading that tutor.
+  # When this fails or no argument was given, it tries using 'v:lang'
+  # When that also fails, it uses the English version.
+  
++ # Vim could be called "vim" or "vi".  Also check for "vimN", for people who
++ # have Vim installed with its version number.
++ # We anticipate up to a future Vim 8 version :-).
++ seq="vim vim8 vim75 vim74 vim73 vim72 vim71 vim70 vim7 vim6 vi"
++ if test "$1" = "-g"; then 
++   # Try to use the GUI version of Vim if possible, it will fall back
++   # on Vim if Gvim is not installed.
++   seq="gvim gvim8 gvim75 gvim74 gvim73 gvim72 gvim71 gvim70 gvim7 gvim6 $seq"
++   shift
++ fi
++ 
+  xx=$1
+  export xx
+  
+***************
+*** 39,48 ****
+  # remove the copy of the tutor on exit
+  trap "rm -rf $TODELETE" 0 1 2 3 9 11 13 15
+  
+- # Vim could be called "vim" or "vi".  Also check for "vimN", for people who
+- # have Vim installed with its version number.
+- # We anticipate up to a future Vim 8 version :-).
+- seq="vim vim8 vim75 vim74 vim73 vim72 vim71 vim70 vim7 vim6 vi"
+  for i in $seq; do
+  	testvim=`which $i 2>/dev/null`
+  	if test -f "$testvim"; then
+--- 52,57 ----
+***************
+*** 59,65 ****
+  
+  # Use Vim to copy the tutor, it knows the value of $VIMRUNTIME
+  # The script tutor.vim tells Vim which file to copy
+! $VIM -u NONE -c 'so $VIMRUNTIME/tutor/tutor.vim'
+  
+  # Start vim without any .vimrc, set 'nocompatible'
+! $VIM -u NONE -c "set nocp" $TUTORCOPY
+--- 68,74 ----
<<Diff was trimmed, longer than 597 lines>>


More information about the pld-cvs-commit mailing list