To: vim-dev@vim.org Subject: Patch 7.2.139 Fcc: outbox From: Bram Moolenaar 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 ///