Blob Blame History Raw
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    ///