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