r1002 - in /trunk/packages/vim: debian/README upstream/patches/7.1.048 upstream/patches/7.1.049 upstream/patches/7.1.050 upstream/patches/7.1.051 upstream/patches/7.1.052 upstream/patches/7.1.053 upstream/patches/7.1.054 upstream/patches/7.1.055
jamessan at users.alioth.debian.org
jamessan at users.alioth.debian.org
Tue Aug 7 17:41:22 UTC 2007
Author: jamessan
Date: Tue Aug 7 17:41:22 2007
New Revision: 1002
URL: http://svn.debian.org/wsvn/pkg-vim/?sc=1&rev=1002
Log:
Upstream patches 48 - 55
Added:
trunk/packages/vim/upstream/patches/7.1.048
trunk/packages/vim/upstream/patches/7.1.049
trunk/packages/vim/upstream/patches/7.1.050
trunk/packages/vim/upstream/patches/7.1.051
trunk/packages/vim/upstream/patches/7.1.052
trunk/packages/vim/upstream/patches/7.1.053
trunk/packages/vim/upstream/patches/7.1.054
trunk/packages/vim/upstream/patches/7.1.055
Modified:
trunk/packages/vim/debian/README
Modified: trunk/packages/vim/debian/README
URL: http://svn.debian.org/wsvn/pkg-vim/trunk/packages/vim/debian/README?rev=1002&op=diff
==============================================================================
--- trunk/packages/vim/debian/README (original)
+++ trunk/packages/vim/debian/README Tue Aug 7 17:41:22 2007
@@ -72,3 +72,11 @@
3101 7.1.045 double screen redraw in some situations
1637 7.1.046 ":s/.*/&/" deletes composing characters
1552 7.1.047 wrong argument for vim_regcomp()
+ 5010 7.1.048 paren highlighting is not updated after scrolling
+ 1722 7.1.049 can't compile with GTK2 when using hangul input feature
+ 4800 7.1.050 possible crash in C++ indenting
+ 2295 7.1.051 accessing uninitialized memory when finding spell suggestions
+ 2435 7.1.052 when creating a new match not all fields are initialized
+ 1473 7.1.053 reading uninitialized memory when updating command line
+ 4451 7.1.054 accessing uninitialized memory when displaying the fold column
+ 5414 7.1.055 using strcpy() with arguments that overlap
Added: trunk/packages/vim/upstream/patches/7.1.048
URL: http://svn.debian.org/wsvn/pkg-vim/trunk/packages/vim/upstream/patches/7.1.048?rev=1002&op=file
==============================================================================
--- trunk/packages/vim/upstream/patches/7.1.048 (added)
+++ trunk/packages/vim/upstream/patches/7.1.048 Tue Aug 7 17:41:22 2007
@@ -1,0 +1,135 @@
+To: vim-dev at vim.org
+Subject: patch 7.1.048
+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.048
+Problem: The matchparen plugin doesn't update the match when scrolling with
+ the mouse wheel. (Ilya Bobir)
+Solution: Set the match highlighting for text that can be scrolled into the
+ viewable area without moving the cursor. (Chris Lubinski)
+Files: runtime/plugin/matchparen.vim
+
+
+*** ../vim-7.1.047/runtime/plugin/matchparen.vim Sun May 6 14:26:16 2007
+--- runtime/plugin/matchparen.vim Mon Jul 30 21:14:06 2007
+***************
+*** 1,6 ****
+ " Vim plugin for showing matching parens
+ " Maintainer: Bram Moolenaar <Bram at vim.org>
+! " Last Change: 2006 Oct 12
+
+ " Exit quickly when:
+ " - this plugin was already loaded (or disabled)
+--- 1,6 ----
+ " Vim plugin for showing matching parens
+ " Maintainer: Bram Moolenaar <Bram at vim.org>
+! " Last Change: 2007 Jul 30
+
+ " Exit quickly when:
+ " - this plugin was already loaded (or disabled)
+***************
+*** 62,86 ****
+ " Figure out the arguments for searchpairpos().
+ " Restrict the search to visible lines with "stopline".
+ " And avoid searching very far (e.g., for closed folds and long lines)
+ if i % 2 == 0
+ let s_flags = 'nW'
+ let c2 = plist[i + 1]
+ if has("byte_offset") && has("syntax_items") && &smc > 0
+ let stopbyte = min([line2byte("$"), line2byte(".") + col(".") + &smc * 2])
+! let stopline = min([line('w$'), byte2line(stopbyte)])
+ else
+! let stopline = min([line('w$'), c_lnum + 100])
+ endif
+ else
+ let s_flags = 'nbW'
+ let c2 = c
+ let c = plist[i - 1]
+ if has("byte_offset") && has("syntax_items") && &smc > 0
+ let stopbyte = max([1, line2byte(".") + col(".") - &smc * 2])
+! let stopline = max([line('w0'), byte2line(stopbyte)])
+ else
+! let stopline = max([line('w0'), c_lnum - 100])
+ endif
+ endif
+ if c == '['
+ let c = '\['
+--- 62,98 ----
+ " Figure out the arguments for searchpairpos().
+ " Restrict the search to visible lines with "stopline".
+ " And avoid searching very far (e.g., for closed folds and long lines)
++ " The "viewable" variables give a range in which we can scroll while keeping
++ " the cursor at the same position
++ " adjustedScrolloff accounts for very large numbers of scrolloff
++ let adjustedScrolloff = min([&scrolloff, (line('w$') - line('w0')) / 2])
++ let bottom_viewable = min([line('$'), c_lnum + &lines - adjustedScrolloff - 2])
++ let top_viewable = max([1, c_lnum-&lines+adjustedScrolloff + 2])
++ " one of these stoplines will be adjusted below, but the current values are
++ " minimal boundaries within the current window
++ let stoplinebottom = line('w$')
++ let stoplinetop = line('w0')
+ if i % 2 == 0
+ let s_flags = 'nW'
+ let c2 = plist[i + 1]
+ if has("byte_offset") && has("syntax_items") && &smc > 0
+ let stopbyte = min([line2byte("$"), line2byte(".") + col(".") + &smc * 2])
+! let stopline = min([bottom_viewable, byte2line(stopbyte)])
+ else
+! let stopline = min([bottom_viewable, c_lnum + 100])
+ endif
++ let stoplinebottom = stopline
+ else
+ let s_flags = 'nbW'
+ let c2 = c
+ let c = plist[i - 1]
+ if has("byte_offset") && has("syntax_items") && &smc > 0
+ let stopbyte = max([1, line2byte(".") + col(".") - &smc * 2])
+! let stopline = max([top_viewable, byte2line(stopbyte)])
+ else
+! let stopline = max([top_viewable, c_lnum - 100])
+ endif
++ let stoplinetop = stopline
+ endif
+ if c == '['
+ let c = '\['
+***************
+*** 106,112 ****
+ endif
+
+ " If a match is found setup match highlighting.
+! if m_lnum > 0 && m_lnum >= line('w0') && m_lnum <= line('w$')
+ exe '3match MatchParen /\(\%' . c_lnum . 'l\%' . (c_col - before) .
+ \ 'c\)\|\(\%' . m_lnum . 'l\%' . m_col . 'c\)/'
+ let w:paren_hl_on = 1
+--- 118,124 ----
+ endif
+
+ " If a match is found setup match highlighting.
+! if m_lnum > 0 && m_lnum >= stoplinetop && m_lnum <= stoplinebottom
+ exe '3match MatchParen /\(\%' . c_lnum . 'l\%' . (c_col - before) .
+ \ 'c\)\|\(\%' . m_lnum . 'l\%' . m_col . 'c\)/'
+ let w:paren_hl_on = 1
+*** ../vim-7.1.047/src/version.c Wed Aug 1 15:47:06 2007
+--- src/version.c Thu Aug 2 22:59:07 2007
+***************
+*** 668,669 ****
+--- 668,671 ----
+ { /* Add new patch number below this line */
++ /**/
++ 48,
+ /**/
+
+--
+hundred-and-one symptoms of being an internet addict:
+91. It's Saturday afternoon in the middle of May and you
+ are on computer.
+
+ /// 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 ///
Added: trunk/packages/vim/upstream/patches/7.1.049
URL: http://svn.debian.org/wsvn/pkg-vim/trunk/packages/vim/upstream/patches/7.1.049?rev=1002&op=file
==============================================================================
--- trunk/packages/vim/upstream/patches/7.1.049 (added)
+++ trunk/packages/vim/upstream/patches/7.1.049 Tue Aug 7 17:41:22 2007
@@ -1,0 +1,52 @@
+To: vim-dev at vim.org
+Subject: patch 7.1.049
+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.049
+Problem: Cannot compile GTK2 version with Hangul input feature.
+Solution: Don't define FEAT_XFONTSET when using GTK2.
+Files: src/feature.h
+
+
+*** ../vim-7.1.048/src/feature.h Thu May 10 19:43:24 2007
+--- src/feature.h Fri Aug 3 19:32:56 2007
+***************
+*** 673,679 ****
+ # define ESC_CHG_TO_ENG_MODE /* if defined, when ESC pressed,
+ * turn to english mode
+ */
+! # if !defined(FEAT_XFONTSET) && defined(HAVE_X11)
+ # define FEAT_XFONTSET /* Hangul input requires xfontset */
+ # endif
+ # if defined(FEAT_XIM) && !defined(LINT)
+--- 673,679 ----
+ # define ESC_CHG_TO_ENG_MODE /* if defined, when ESC pressed,
+ * turn to english mode
+ */
+! # if !defined(FEAT_XFONTSET) && defined(HAVE_X11) && !defined(HAVE_GTK2)
+ # define FEAT_XFONTSET /* Hangul input requires xfontset */
+ # endif
+ # if defined(FEAT_XIM) && !defined(LINT)
+*** ../vim-7.1.048/src/version.c Thu Aug 2 23:00:06 2007
+--- src/version.c Fri Aug 3 21:58:23 2007
+***************
+*** 668,669 ****
+--- 668,671 ----
+ { /* Add new patch number below this line */
++ /**/
++ 49,
+ /**/
+
+--
+From "know your smileys":
+ :-O>-o Smiley American tourist (note big mouth and camera)
+
+ /// 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 ///
Added: trunk/packages/vim/upstream/patches/7.1.050
URL: http://svn.debian.org/wsvn/pkg-vim/trunk/packages/vim/upstream/patches/7.1.050?rev=1002&op=file
==============================================================================
--- trunk/packages/vim/upstream/patches/7.1.050 (added)
+++ trunk/packages/vim/upstream/patches/7.1.050 Tue Aug 7 17:41:22 2007
@@ -1,0 +1,172 @@
+To: vim-dev at vim.org
+Subject: patch 7.1.050
+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.050
+Problem: Possible crash when using C++ indenting. (Chris Monson)
+Solution: Keep the line pointer to the line to compare with. Avoid going
+ past the end of line.
+Files: src/misc1.c
+
+
+*** ../vim-7.1.049/src/misc1.c Tue Jul 24 15:25:27 2007
+--- src/misc1.c Fri Aug 3 21:07:17 2007
+***************
+*** 4820,4826 ****
+ static int cin_iswhileofdo __ARGS((char_u *, linenr_T, int));
+ static int cin_iswhileofdo_end __ARGS((int terminated, int ind_maxparen, int ind_maxcomment));
+ static int cin_isbreak __ARGS((char_u *));
+! static int cin_is_cpp_baseclass __ARGS((char_u *line, colnr_T *col));
+ static int get_baseclass_amount __ARGS((int col, int ind_maxparen, int ind_maxcomment, int ind_cpp_baseclass));
+ static int cin_ends_in __ARGS((char_u *, char_u *, char_u *));
+ static int cin_skip2pos __ARGS((pos_T *trypos));
+--- 4820,4826 ----
+ static int cin_iswhileofdo __ARGS((char_u *, linenr_T, int));
+ static int cin_iswhileofdo_end __ARGS((int terminated, int ind_maxparen, int ind_maxcomment));
+ static int cin_isbreak __ARGS((char_u *));
+! static int cin_is_cpp_baseclass __ARGS((colnr_T *col));
+ static int get_baseclass_amount __ARGS((int col, int ind_maxparen, int ind_maxcomment, int ind_cpp_baseclass));
+ static int cin_ends_in __ARGS((char_u *, char_u *, char_u *));
+ static int cin_skip2pos __ARGS((pos_T *trypos));
+***************
+*** 5585,5597 ****
+ * This is a lot of guessing. Watch out for "cond ? func() : foo".
+ */
+ static int
+! cin_is_cpp_baseclass(line, col)
+! char_u *line;
+ colnr_T *col; /* return: column to align with */
+ {
+ char_u *s;
+ int class_or_struct, lookfor_ctor_init, cpp_base_class;
+ linenr_T lnum = curwin->w_cursor.lnum;
+
+ *col = 0;
+
+--- 5585,5597 ----
+ * This is a lot of guessing. Watch out for "cond ? func() : foo".
+ */
+ static int
+! cin_is_cpp_baseclass(col)
+ colnr_T *col; /* return: column to align with */
+ {
+ char_u *s;
+ int class_or_struct, lookfor_ctor_init, cpp_base_class;
+ linenr_T lnum = curwin->w_cursor.lnum;
++ char_u *line = ml_get_curline();
+
+ *col = 0;
+
+***************
+*** 5619,5625 ****
+ */
+ while (lnum > 1)
+ {
+! s = skipwhite(ml_get(lnum - 1));
+ if (*s == '#' || *s == NUL)
+ break;
+ while (*s != NUL)
+--- 5619,5626 ----
+ */
+ while (lnum > 1)
+ {
+! line = ml_get(lnum - 1);
+! s = skipwhite(line);
+ if (*s == '#' || *s == NUL)
+ break;
+ while (*s != NUL)
+***************
+*** 5636,5642 ****
+ --lnum;
+ }
+
+! s = cin_skipcomment(ml_get(lnum));
+ for (;;)
+ {
+ if (*s == NUL)
+--- 5637,5644 ----
+ --lnum;
+ }
+
+! line = ml_get(lnum);
+! s = cin_skipcomment(line);
+ for (;;)
+ {
+ if (*s == NUL)
+***************
+*** 5644,5650 ****
+ if (lnum == curwin->w_cursor.lnum)
+ break;
+ /* Continue in the cursor line. */
+! s = cin_skipcomment(ml_get(++lnum));
+ }
+
+ if (s[0] == ':')
+--- 5646,5655 ----
+ if (lnum == curwin->w_cursor.lnum)
+ break;
+ /* Continue in the cursor line. */
+! line = ml_get(++lnum);
+! s = cin_skipcomment(line);
+! if (*s == NUL)
+! continue;
+ }
+
+ if (s[0] == ':')
+***************
+*** 7113,7119 ****
+ n = FALSE;
+ if (lookfor != LOOKFOR_TERM && ind_cpp_baseclass > 0)
+ {
+! n = cin_is_cpp_baseclass(l, &col);
+ l = ml_get_curline();
+ }
+ if (n)
+--- 7118,7124 ----
+ n = FALSE;
+ if (lookfor != LOOKFOR_TERM && ind_cpp_baseclass > 0)
+ {
+! n = cin_is_cpp_baseclass(&col);
+ l = ml_get_curline();
+ }
+ if (n)
+***************
+*** 7704,7710 ****
+ n = FALSE;
+ if (ind_cpp_baseclass != 0 && theline[0] != '{')
+ {
+! n = cin_is_cpp_baseclass(l, &col);
+ l = ml_get_curline();
+ }
+ if (n)
+--- 7709,7715 ----
+ n = FALSE;
+ if (ind_cpp_baseclass != 0 && theline[0] != '{')
+ {
+! n = cin_is_cpp_baseclass(&col);
+ l = ml_get_curline();
+ }
+ if (n)
+*** ../vim-7.1.049/src/version.c Fri Aug 3 22:01:35 2007
+--- src/version.c Sat Aug 4 12:11:51 2007
+***************
+*** 668,669 ****
+--- 668,671 ----
+ { /* Add new patch number below this line */
++ /**/
++ 50,
+ /**/
+
+--
+From "know your smileys":
+ |-P Reaction to unusually ugly C code
+
+ /// 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 ///
Added: trunk/packages/vim/upstream/patches/7.1.051
URL: http://svn.debian.org/wsvn/pkg-vim/trunk/packages/vim/upstream/patches/7.1.051?rev=1002&op=file
==============================================================================
--- trunk/packages/vim/upstream/patches/7.1.051 (added)
+++ trunk/packages/vim/upstream/patches/7.1.051 Tue Aug 7 17:41:22 2007
@@ -1,0 +1,86 @@
+To: vim-dev at vim.org
+Subject: patch 7.1.051
+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.051
+Problem: Accessing uninitialized memory when finding spell suggestions.
+Solution: Don't try swapping characters at the end of a word.
+Files: src/spell.c
+
+
+*** ../vim-7.1.050/src/spell.c Tue Jul 24 10:44:10 2007
+--- src/spell.c Sun Aug 5 16:59:48 2007
+***************
+*** 12182,12188 ****
+ {
+ n = mb_cptr2len(p);
+ c = mb_ptr2char(p);
+! if (!soundfold && !spell_iswordp(p + n, curbuf))
+ c2 = c; /* don't swap non-word char */
+ else
+ c2 = mb_ptr2char(p + n);
+--- 12182,12190 ----
+ {
+ n = mb_cptr2len(p);
+ c = mb_ptr2char(p);
+! if (p[n] == NUL)
+! c2 = NUL;
+! else if (!soundfold && !spell_iswordp(p + n, curbuf))
+ c2 = c; /* don't swap non-word char */
+ else
+ c2 = mb_ptr2char(p + n);
+***************
+*** 12190,12199 ****
+ else
+ #endif
+ {
+! if (!soundfold && !spell_iswordp(p + 1, curbuf))
+ c2 = c; /* don't swap non-word char */
+ else
+ c2 = p[1];
+ }
+
+ /* When characters are identical, swap won't do anything.
+--- 12192,12210 ----
+ else
+ #endif
+ {
+! if (p[1] == NUL)
+! c2 = NUL;
+! else if (!soundfold && !spell_iswordp(p + 1, curbuf))
+ c2 = c; /* don't swap non-word char */
+ else
+ c2 = p[1];
++ }
++
++ /* When the second character is NUL we can't swap. */
++ if (c2 == NUL)
++ {
++ sp->ts_state = STATE_REP_INI;
++ break;
+ }
+
+ /* When characters are identical, swap won't do anything.
+*** ../vim-7.1.050/src/version.c Sat Aug 4 12:14:04 2007
+--- src/version.c Sun Aug 5 18:31:09 2007
+***************
+*** 668,669 ****
+--- 668,671 ----
+ { /* Add new patch number below this line */
++ /**/
++ 51,
+ /**/
+
+--
+From "know your smileys":
+ 8<}} Glasses, big nose, beard
+
+ /// 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 ///
Added: trunk/packages/vim/upstream/patches/7.1.052
URL: http://svn.debian.org/wsvn/pkg-vim/trunk/packages/vim/upstream/patches/7.1.052?rev=1002&op=file
==============================================================================
--- trunk/packages/vim/upstream/patches/7.1.052 (added)
+++ trunk/packages/vim/upstream/patches/7.1.052 Tue Aug 7 17:41:22 2007
@@ -1,0 +1,89 @@
+To: vim-dev at vim.org
+Subject: patch 7.1.052
+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.052
+Problem: When creating a new match not all fields are initialized, which
+ may lead to unpredictable results.
+Solution: Initialise rmm_ic and rmm_maxcol.
+Files: src/window.c
+
+
+*** ../vim-7.1.051/src/window.c Thu Jul 26 22:55:11 2007
+--- src/window.c Sun Aug 5 17:17:51 2007
+***************
+*** 6200,6206 ****
+ matchitem_T *prev;
+ matchitem_T *m;
+ int hlg_id;
+! regmmatch_T match;
+
+ if (*grp == NUL || *pat == NUL)
+ return -1;
+--- 6243,6249 ----
+ matchitem_T *prev;
+ matchitem_T *m;
+ int hlg_id;
+! regprog_T *regprog;
+
+ if (*grp == NUL || *pat == NUL)
+ return -1;
+***************
+*** 6227,6233 ****
+ EMSG2(_(e_nogroup), grp);
+ return -1;
+ }
+! if ((match.regprog = vim_regcomp(pat, RE_MAGIC)) == NULL)
+ {
+ EMSG2(_(e_invarg2), pat);
+ return -1;
+--- 6270,6276 ----
+ EMSG2(_(e_nogroup), grp);
+ return -1;
+ }
+! if ((regprog = vim_regcomp(pat, RE_MAGIC)) == NULL)
+ {
+ EMSG2(_(e_invarg2), pat);
+ return -1;
+***************
+*** 6250,6256 ****
+ m->priority = prio;
+ m->pattern = vim_strsave(pat);
+ m->hlg_id = hlg_id;
+! m->match.regprog = match.regprog;
+
+ /* Insert new match. The match list is in ascending order with regard to
+ * the match priorities. */
+--- 6293,6301 ----
+ m->priority = prio;
+ m->pattern = vim_strsave(pat);
+ m->hlg_id = hlg_id;
+! m->match.regprog = regprog;
+! m->match.rmm_ic = FALSE;
+! m->match.rmm_maxcol = 0;
+
+ /* Insert new match. The match list is in ascending order with regard to
+ * the match priorities. */
+*** ../vim-7.1.051/src/version.c Sun Aug 5 18:32:21 2007
+--- src/version.c Sun Aug 5 18:47:55 2007
+***************
+*** 668,669 ****
+--- 668,671 ----
+ { /* Add new patch number below this line */
++ /**/
++ 52,
+ /**/
+
+--
+From "know your smileys":
+ 8-O "Omigod!!" (done "rm -rf *" ?)
+
+ /// 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 ///
Added: trunk/packages/vim/upstream/patches/7.1.053
URL: http://svn.debian.org/wsvn/pkg-vim/trunk/packages/vim/upstream/patches/7.1.053?rev=1002&op=file
==============================================================================
--- trunk/packages/vim/upstream/patches/7.1.053 (added)
+++ trunk/packages/vim/upstream/patches/7.1.053 Tue Aug 7 17:41:22 2007
@@ -1,0 +1,52 @@
+To: vim-dev at vim.org
+Subject: patch 7.1.053
+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.053
+Problem: Accessing uninitialized memory when giving a message.
+Solution: Check going the length before checking for a NUL byte.
+Files: src/message.c
+
+
+*** ../vim-7.1.052/src/message.c Thu Jul 5 10:10:29 2007
+--- src/message.c Sat Aug 4 23:13:58 2007
+***************
+*** 1842,1848 ****
+ int wrap;
+
+ did_wait_return = FALSE;
+! while (*s != NUL && (maxlen < 0 || (int)(s - str) < maxlen))
+ {
+ /*
+ * We are at the end of the screen line when:
+--- 1842,1848 ----
+ int wrap;
+
+ did_wait_return = FALSE;
+! while ((maxlen < 0 || (int)(s - str) < maxlen) && *s != NUL)
+ {
+ /*
+ * We are at the end of the screen line when:
+*** ../vim-7.1.052/src/version.c Sun Aug 5 18:49:07 2007
+--- src/version.c Sun Aug 5 19:18:46 2007
+***************
+*** 668,669 ****
+--- 668,671 ----
+ { /* Add new patch number below this line */
++ /**/
++ 53,
+ /**/
+
+--
+From "know your smileys":
+ <>:-) Bishop
+
+ /// 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 ///
Added: trunk/packages/vim/upstream/patches/7.1.054
URL: http://svn.debian.org/wsvn/pkg-vim/trunk/packages/vim/upstream/patches/7.1.054?rev=1002&op=file
==============================================================================
--- trunk/packages/vim/upstream/patches/7.1.054 (added)
+++ trunk/packages/vim/upstream/patches/7.1.054 Tue Aug 7 17:41:22 2007
@@ -1,0 +1,148 @@
+To: vim-dev at vim.org
+Subject: patch 7.1.054
+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.054
+Problem: Accessing uninitialized memory when displaying the fold column.
+Solution: Add a NUL to the extra array. (Dominique Pelle). Also do this in
+ a couple of other situations.
+Files: src/screen.c
+
+
+*** ../vim-7.1.053/src/screen.c Mon Jul 30 21:59:50 2007
+--- src/screen.c Sun Aug 5 16:10:53 2007
+***************
+*** 2555,2561 ****
+
+ char_u extra[18]; /* "%ld" and 'fdc' must fit in here */
+ int n_extra = 0; /* number of extra chars */
+! char_u *p_extra = NULL; /* string of extra chars */
+ int c_extra = NUL; /* extra chars, all the same */
+ int extra_attr = 0; /* attributes when n_extra != 0 */
+ static char_u *at_end_str = (char_u *)""; /* used for p_extra when
+--- 2555,2561 ----
+
+ char_u extra[18]; /* "%ld" and 'fdc' must fit in here */
+ int n_extra = 0; /* number of extra chars */
+! char_u *p_extra = NULL; /* string of extra chars, plus NUL */
+ int c_extra = NUL; /* extra chars, all the same */
+ int extra_attr = 0; /* attributes when n_extra != 0 */
+ static char_u *at_end_str = (char_u *)""; /* used for p_extra when
+***************
+*** 3189,3198 ****
+ if (cmdwin_type != 0 && wp == curwin)
+ {
+ /* Draw the cmdline character. */
+- *extra = cmdwin_type;
+ n_extra = 1;
+! p_extra = extra;
+! c_extra = NUL;
+ char_attr = hl_attr(HLF_AT);
+ }
+ }
+--- 3189,3196 ----
+ if (cmdwin_type != 0 && wp == curwin)
+ {
+ /* Draw the cmdline character. */
+ n_extra = 1;
+! c_extra = cmdwin_type;
+ char_attr = hl_attr(HLF_AT);
+ }
+ }
+***************
+*** 3208,3213 ****
+--- 3206,3212 ----
+ fill_foldcolumn(extra, wp, FALSE, lnum);
+ n_extra = wp->w_p_fdc;
+ p_extra = extra;
++ p_extra[n_extra] = NUL;
+ c_extra = NUL;
+ char_attr = hl_attr(HLF_FC);
+ }
+***************
+*** 3550,3558 ****
+ * Get the next character to put on the screen.
+ */
+ /*
+! * The 'extra' array contains the extra stuff that is inserted to
+! * represent special characters (non-printable stuff). When all
+! * characters are the same, c_extra is used.
+ * For the '$' of the 'list' option, n_extra == 1, p_extra == "".
+ */
+ if (n_extra > 0)
+--- 3549,3559 ----
+ * Get the next character to put on the screen.
+ */
+ /*
+! * The "p_extra" points to the extra stuff that is inserted to
+! * represent special characters (non-printable stuff) and other
+! * things. When all characters are the same, c_extra is used.
+! * "p_extra" must end in a NUL to avoid mb_ptr2len() reads past
+! * "p_extra[n_extra]".
+ * For the '$' of the 'list' option, n_extra == 1, p_extra == "".
+ */
+ if (n_extra > 0)
+***************
+*** 3808,3817 ****
+ * a '<' in the first column. */
+ if (n_skip > 0 && mb_l > 1)
+ {
+- extra[0] = '<';
+- p_extra = extra;
+ n_extra = 1;
+! c_extra = NUL;
+ c = ' ';
+ if (area_attr == 0 && search_attr == 0)
+ {
+--- 3809,3816 ----
+ * a '<' in the first column. */
+ if (n_skip > 0 && mb_l > 1)
+ {
+ n_extra = 1;
+! c_extra = '<';
+ c = ' ';
+ if (area_attr == 0 && search_attr == 0)
+ {
+***************
+*** 6204,6211 ****
+ return;
+
+ off = LineOffset[row] + col;
+! while (*ptr != NUL && col < screen_Columns
+! && (len < 0 || (int)(ptr - text) < len))
+ {
+ c = *ptr;
+ #ifdef FEAT_MBYTE
+--- 6203,6211 ----
+ return;
+
+ off = LineOffset[row] + col;
+! while (col < screen_Columns
+! && (len < 0 || (int)(ptr - text) < len)
+! && *ptr != NUL)
+ {
+ c = *ptr;
+ #ifdef FEAT_MBYTE
+*** ../vim-7.1.053/src/version.c Sun Aug 5 19:20:04 2007
+--- src/version.c Sun Aug 5 20:07:47 2007
+***************
+*** 668,669 ****
+--- 668,671 ----
+ { /* Add new patch number below this line */
++ /**/
++ 54,
+ /**/
+
+--
+From "know your smileys":
+ +<(:-) The Pope
+
+ /// 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 ///
Added: trunk/packages/vim/upstream/patches/7.1.055
URL: http://svn.debian.org/wsvn/pkg-vim/trunk/packages/vim/upstream/patches/7.1.055?rev=1002&op=file
==============================================================================
--- trunk/packages/vim/upstream/patches/7.1.055 (added)
+++ trunk/packages/vim/upstream/patches/7.1.055 Tue Aug 7 17:41:22 2007
@@ -1,0 +1,216 @@
+To: vim-dev at vim.org
+Subject: patch 7.1.055
+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.055
+Problem: Using strcpy() with arguments that overlap.
+Solution: Use mch_memmove() instead.
+Files: src/buffer.c, src/charset.c, src/eval.c, src/ex_getln.c,
+ src/misc1.c, src/regexp.c, src/termlib.c
+
+
+*** ../vim-7.1.054/src/buffer.c Tue Jun 19 15:40:51 2007
+--- src/buffer.c Sun Aug 5 16:14:03 2007
+***************
+*** 4860,4866 ****
+ */
+ for (e = s; *e != ':' && *e != NUL; ++e)
+ if (e[0] == '\\' && e[1] == ':')
+! STRCPY(e, e + 1);
+ if (*e == NUL)
+ end = TRUE;
+
+--- 4860,4866 ----
+ */
+ for (e = s; *e != ':' && *e != NUL; ++e)
+ if (e[0] == '\\' && e[1] == ':')
+! mch_memmove(e, e + 1, STRLEN(e));
+ if (*e == NUL)
+ end = TRUE;
+
+*** ../vim-7.1.054/src/charset.c Tue Mar 27 12:41:45 2007
+--- src/charset.c Sun Aug 5 21:53:44 2007
+***************
+*** 1898,1904 ****
+ {
+ for ( ; *p; ++p)
+ if (rem_backslash(p))
+! STRCPY(p, p + 1);
+ }
+
+ /*
+--- 1898,1904 ----
+ {
+ for ( ; *p; ++p)
+ if (rem_backslash(p))
+! mch_memmove(p, p + 1, STRLEN(p));
+ }
+
+ /*
+*** ../vim-7.1.054/src/eval.c Fri Jul 27 21:32:13 2007
+--- src/eval.c Sun Aug 5 16:25:03 2007
+***************
+*** 13807,13813 ****
+ }
+ /* Shorten "remain". */
+ if (*q != NUL)
+! STRCPY(remain, q - 1);
+ else
+ {
+ vim_free(remain);
+--- 13807,13813 ----
+ }
+ /* Shorten "remain". */
+ if (*q != NUL)
+! mch_memmove(remain, q - 1, STRLEN(q - 1) + 1);
+ else
+ {
+ vim_free(remain);
+*** ../vim-7.1.054/src/ex_getln.c Sat Jul 28 14:21:04 2007
+--- src/ex_getln.c Sun Aug 5 21:55:56 2007
+***************
+*** 4306,4315 ****
+ && pat[i + 1] == '\\'
+ && pat[i + 2] == '\\'
+ && pat[i + 3] == ' ')
+! STRCPY(pat + i, pat + i + 3);
+ if (xp->xp_backslash == XP_BS_ONE
+ && pat[i + 1] == ' ')
+! STRCPY(pat + i, pat + i + 1);
+ }
+ }
+
+--- 4306,4316 ----
+ && pat[i + 1] == '\\'
+ && pat[i + 2] == '\\'
+ && pat[i + 3] == ' ')
+! mch_memmove(pat + i, pat + i + 3,
+! STRLEN(pat + i + 3) + 1);
+ if (xp->xp_backslash == XP_BS_ONE
+ && pat[i + 1] == ' ')
+! mch_memmove(pat + i, pat + i + 1, STRLEN(pat + i));
+ }
+ }
+
+***************
+*** 4552,4558 ****
+ pat = vim_strsave(filepat);
+ for (i = 0; pat[i]; ++i)
+ if (pat[i] == '\\' && pat[i + 1] == ' ')
+! STRCPY(pat + i, pat + i + 1);
+
+ flags |= EW_FILE | EW_EXEC;
+
+--- 4553,4559 ----
+ pat = vim_strsave(filepat);
+ for (i = 0; pat[i]; ++i)
+ if (pat[i] == '\\' && pat[i + 1] == ' ')
+! mch_memmove(pat + i, pat + i + 1, STRLEN(pat + i));
+
+ flags |= EW_FILE | EW_EXEC;
+
+*** ../vim-7.1.054/src/misc1.c Sat Aug 4 12:14:04 2007
+--- src/misc1.c Sun Aug 5 21:57:15 2007
+***************
+*** 8635,8641 ****
+ for (p = buf + wildoff; p < s; ++p)
+ if (rem_backslash(p))
+ {
+! STRCPY(p, p + 1);
+ --e;
+ --s;
+ }
+--- 8635,8641 ----
+ for (p = buf + wildoff; p < s; ++p)
+ if (rem_backslash(p))
+ {
+! mch_memmove(p, p + 1, STRLEN(p));
+ --e;
+ --s;
+ }
+***************
+*** 8936,8942 ****
+ for (p = buf + wildoff; p < s; ++p)
+ if (rem_backslash(p))
+ {
+! STRCPY(p, p + 1);
+ --e;
+ --s;
+ }
+--- 8936,8942 ----
+ for (p = buf + wildoff; p < s; ++p)
+ if (rem_backslash(p))
+ {
+! mch_memmove(p, p + 1, STRLEN(p));
+ --e;
+ --s;
+ }
+*** ../vim-7.1.054/src/regexp.c Mon Jul 30 22:32:11 2007
+--- src/regexp.c Sun Aug 5 15:43:27 2007
+***************
+*** 6637,6645 ****
+ }
+ }
+ else if (magic)
+! STRCPY(p, p + 1); /* remove '~' */
+ else
+! STRCPY(p, p + 2); /* remove '\~' */
+ --p;
+ }
+ else
+--- 6638,6646 ----
+ }
+ }
+ else if (magic)
+! mch_memmove(p, p + 1, STRLEN(p)); /* remove '~' */
+ else
+! mch_memmove(p, p + 2, STRLEN(p) - 1); /* remove '\~' */
+ --p;
+ }
+ else
+*** ../vim-7.1.054/src/termlib.c Thu May 10 20:20:59 2007
+--- src/termlib.c Sun Aug 5 21:52:41 2007
+***************
+*** 191,197 ****
+ lbuf[0] == '\t' &&
+ lbuf[1] == ':')
+ {
+! strcpy(lbuf, lbuf+2);
+ llen -= 2;
+ }
+ if (lbuf[llen-2] == '\\') /* and continuations */
+--- 191,197 ----
+ lbuf[0] == '\t' &&
+ lbuf[1] == ':')
+ {
+! mch_memmove(lbuf, lbuf + 2, strlen(lbuf + 2) + 1);
+ llen -= 2;
+ }
+ if (lbuf[llen-2] == '\\') /* and continuations */
+*** ../vim-7.1.054/src/version.c Sun Aug 5 20:10:16 2007
+--- src/version.c Mon Aug 6 21:34:54 2007
+***************
+*** 668,669 ****
+--- 668,671 ----
+ { /* Add new patch number below this line */
++ /**/
++ 55,
+ /**/
+
+--
+From "know your smileys":
+ % Bike accident. A bit far-fetched, I suppose; although...
+ o _ _ _
+ _o /\_ _ \\o (_)\__/o (_)
+ _< \_ _>(_) (_)/<_ \_| \ _|/' \/
+ (_)>(_) (_) (_) (_) (_)' _\o_
+
+ /// 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 ///
More information about the pkg-vim-maintainers
mailing list