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