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: [EMAIL PROTECTED]
+Subject: Patch 7.1.292
+Fcc: outbox
+From: Bram Moolenaar <[EMAIL PROTECTED]>
+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 -- [EMAIL PROTECTED] -- 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: [EMAIL PROTECTED]
+Subject: Patch 7.1.293
+Fcc: outbox
+From: Bram Moolenaar <[EMAIL PROTECTED]>
+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 -- [EMAIL PROTECTED] -- 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: [EMAIL PROTECTED]
+Subject: Patch 7.1.294
+Fcc: outbox
+From: Bram Moolenaar <[EMAIL PROTECTED]>
+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 -- [EMAIL PROTECTED] -- 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: [EMAIL PROTECTED]
+Subject: Patch 7.1.295
+Fcc: outbox
+From: Bram Moolenaar <[EMAIL PROTECTED]>
+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>>
_______________________________________________
pld-cvs-commit mailing list
[email protected]
http://lists.pld-linux.org/mailman/listinfo/pld-cvs-commit

Reply via email to