Danek Duvall
2011-04-08 58da5ef0c4a342115f5c52a51d99acbc528a4778
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
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    ///