To: vim-dev@vim.org
Subject: Patch 7.2.139
Fcc: outbox
From: Bram Moolenaar <Bram@moolenaar.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 8bit
------------
Patch 7.2.139
Problem: Crash when 'virtualedit' is "all". (James Vega)
Solution: Avoid overflow when column is MAXCOL. (Dominique Pelle)
Files: src/misc2.c
*** ../vim-7.2.138/src/misc2.c Tue Feb 24 04:28:40 2009
--- src/misc2.c Wed Mar 11 16:45:05 2009
***************
*** 496,502 ****
{
colnr_T len;
#ifdef FEAT_VIRTUALEDIT
! colnr_T oldcol = curwin->w_cursor.col + curwin->w_cursor.coladd;
#endif
len = (colnr_T)STRLEN(ml_get_curline());
--- 496,503 ----
{
colnr_T len;
#ifdef FEAT_VIRTUALEDIT
! colnr_T oldcol = curwin->w_cursor.col;
! colnr_T oldcoladd = curwin->w_cursor.col + curwin->w_cursor.coladd;
#endif
len = (colnr_T)STRLEN(ml_get_curline());
***************
*** 535,541 ****
if (oldcol == MAXCOL)
curwin->w_cursor.coladd = 0;
else if (ve_flags == VE_ALL)
! curwin->w_cursor.coladd = oldcol - curwin->w_cursor.col;
#endif
}
--- 536,548 ----
if (oldcol == MAXCOL)
curwin->w_cursor.coladd = 0;
else if (ve_flags == VE_ALL)
! {
! if (oldcoladd > curwin->w_cursor.col)
! curwin->w_cursor.coladd = oldcoladd - curwin->w_cursor.col;
! else
! /* avoid weird number when there is a miscalculation or overflow */
! curwin->w_cursor.coladd = 0;
! }
#endif
}
*** ../vim-7.2.138/src/version.c Wed Mar 11 16:36:04 2009
--- src/version.c Wed Mar 11 17:26:50 2009
***************
*** 678,679 ****
--- 678,681 ----
{ /* Add new patch number below this line */
+ /**/
+ 139,
/**/
--
Some of the well know MS-Windows errors:
EHUH Unexpected error
EUSER User error, not our fault!
EGOD Horrible problem, god knows what has happened
EERR Errornous error: nothing wrong
/// Bram Moolenaar -- Bram@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 ///