diff options
Diffstat (limited to 'source/ap/vim/patches/7.3.333')
-rw-r--r-- | source/ap/vim/patches/7.3.333 | 245 |
1 files changed, 0 insertions, 245 deletions
diff --git a/source/ap/vim/patches/7.3.333 b/source/ap/vim/patches/7.3.333 deleted file mode 100644 index 974b0cda..00000000 --- a/source/ap/vim/patches/7.3.333 +++ /dev/null @@ -1,245 +0,0 @@ -To: vim_dev@googlegroups.com -Subject: Patch 7.3.333 -Fcc: outbox -From: Bram Moolenaar <Bram@moolenaar.net> -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.3.333 -Problem: Using "." to repeat a Visual delete counts the size in bytes, not - characters. (Connor Lane Smith) -Solution: Store the virtual column numbers instead of byte positions. -Files: src/normal.c - - -*** ../vim-7.3.332/src/normal.c 2011-07-15 17:51:30.000000000 +0200 ---- src/normal.c 2011-10-04 19:47:14.000000000 +0200 -*************** -*** 20,26 **** - */ - static int resel_VIsual_mode = NUL; /* 'v', 'V', or Ctrl-V */ - static linenr_T resel_VIsual_line_count; /* number of lines */ -! static colnr_T resel_VIsual_col; /* nr of cols or end col */ - - static int restart_VIsual_select = 0; - #endif ---- 20,26 ---- - */ - static int resel_VIsual_mode = NUL; /* 'v', 'V', or Ctrl-V */ - static linenr_T resel_VIsual_line_count; /* number of lines */ -! static colnr_T resel_VIsual_vcol; /* nr of cols or end col */ - - static int restart_VIsual_select = 0; - #endif -*************** -*** 1436,1442 **** - /* The visual area is remembered for redo */ - static int redo_VIsual_mode = NUL; /* 'v', 'V', or Ctrl-V */ - static linenr_T redo_VIsual_line_count; /* number of lines */ -! static colnr_T redo_VIsual_col; /* number of cols or end column */ - static long redo_VIsual_count; /* count for Visual operator */ - # ifdef FEAT_VIRTUALEDIT - int include_line_break = FALSE; ---- 1436,1442 ---- - /* The visual area is remembered for redo */ - static int redo_VIsual_mode = NUL; /* 'v', 'V', or Ctrl-V */ - static linenr_T redo_VIsual_line_count; /* number of lines */ -! static colnr_T redo_VIsual_vcol; /* number of cols or end column */ - static long redo_VIsual_count; /* count for Visual operator */ - # ifdef FEAT_VIRTUALEDIT - int include_line_break = FALSE; -*************** -*** 1549,1570 **** - #ifdef FEAT_VISUAL - if (redo_VIsual_busy) - { - oap->start = curwin->w_cursor; - curwin->w_cursor.lnum += redo_VIsual_line_count - 1; - if (curwin->w_cursor.lnum > curbuf->b_ml.ml_line_count) - curwin->w_cursor.lnum = curbuf->b_ml.ml_line_count; - VIsual_mode = redo_VIsual_mode; -! if (VIsual_mode == 'v') - { -! if (redo_VIsual_line_count <= 1) -! curwin->w_cursor.col += redo_VIsual_col - 1; - else -! curwin->w_cursor.col = redo_VIsual_col; -! } -! if (redo_VIsual_col == MAXCOL) -! { -! curwin->w_curswant = MAXCOL; -! coladvance((colnr_T)MAXCOL); - } - cap->count0 = redo_VIsual_count; - if (redo_VIsual_count != 0) ---- 1549,1579 ---- - #ifdef FEAT_VISUAL - if (redo_VIsual_busy) - { -+ /* Redo of an operation on a Visual area. Use the same size from -+ * redo_VIsual_line_count and redo_VIsual_vcol. */ - oap->start = curwin->w_cursor; - curwin->w_cursor.lnum += redo_VIsual_line_count - 1; - if (curwin->w_cursor.lnum > curbuf->b_ml.ml_line_count) - curwin->w_cursor.lnum = curbuf->b_ml.ml_line_count; - VIsual_mode = redo_VIsual_mode; -! if (redo_VIsual_vcol == MAXCOL || VIsual_mode == 'v') - { -! if (VIsual_mode == 'v') -! { -! if (redo_VIsual_line_count <= 1) -! { -! validate_virtcol(); -! curwin->w_curswant = -! curwin->w_virtcol + redo_VIsual_vcol - 1; -! } -! else -! curwin->w_curswant = redo_VIsual_vcol; -! } - else -! { -! curwin->w_curswant = MAXCOL; -! } -! coladvance(curwin->w_curswant); - } - cap->count0 = redo_VIsual_count; - if (redo_VIsual_count != 0) -*************** -*** 1710,1716 **** - } - } - else if (redo_VIsual_busy) -! oap->end_vcol = oap->start_vcol + redo_VIsual_col - 1; - /* - * Correct oap->end.col and oap->start.col to be the - * upper-left and lower-right corner of the block area. ---- 1719,1725 ---- - } - } - else if (redo_VIsual_busy) -! oap->end_vcol = oap->start_vcol + redo_VIsual_vcol - 1; - /* - * Correct oap->end.col and oap->start.col to be the - * upper-left and lower-right corner of the block area. -*************** -*** 1735,1747 **** - */ - resel_VIsual_mode = VIsual_mode; - if (curwin->w_curswant == MAXCOL) -! resel_VIsual_col = MAXCOL; -! else if (VIsual_mode == Ctrl_V) -! resel_VIsual_col = oap->end_vcol - oap->start_vcol + 1; -! else if (oap->line_count > 1) -! resel_VIsual_col = oap->end.col; - else -! resel_VIsual_col = oap->end.col - oap->start.col + 1; - resel_VIsual_line_count = oap->line_count; - } - ---- 1744,1765 ---- - */ - resel_VIsual_mode = VIsual_mode; - if (curwin->w_curswant == MAXCOL) -! resel_VIsual_vcol = MAXCOL; - else -! { -! if (VIsual_mode != Ctrl_V) -! getvvcol(curwin, &(oap->end), -! NULL, NULL, &oap->end_vcol); -! if (VIsual_mode == Ctrl_V || oap->line_count <= 1) -! { -! if (VIsual_mode != Ctrl_V) -! getvvcol(curwin, &(oap->start), -! &oap->start_vcol, NULL, NULL); -! resel_VIsual_vcol = oap->end_vcol - oap->start_vcol + 1; -! } -! else -! resel_VIsual_vcol = oap->end_vcol; -! } - resel_VIsual_line_count = oap->line_count; - } - -*************** -*** 1769,1775 **** - if (!redo_VIsual_busy) - { - redo_VIsual_mode = resel_VIsual_mode; -! redo_VIsual_col = resel_VIsual_col; - redo_VIsual_line_count = resel_VIsual_line_count; - redo_VIsual_count = cap->count0; - } ---- 1787,1793 ---- - if (!redo_VIsual_busy) - { - redo_VIsual_mode = resel_VIsual_mode; -! redo_VIsual_vcol = resel_VIsual_vcol; - redo_VIsual_line_count = resel_VIsual_line_count; - redo_VIsual_count = cap->count0; - } -*************** -*** 7631,7642 **** - if (VIsual_mode == 'v') - { - if (resel_VIsual_line_count <= 1) -! curwin->w_cursor.col += resel_VIsual_col * cap->count0 - 1; - else -! curwin->w_cursor.col = resel_VIsual_col; -! check_cursor_col(); - } -! if (resel_VIsual_col == MAXCOL) - { - curwin->w_curswant = MAXCOL; - coladvance((colnr_T)MAXCOL); ---- 7649,7664 ---- - if (VIsual_mode == 'v') - { - if (resel_VIsual_line_count <= 1) -! { -! validate_virtcol(); -! curwin->w_curswant = curwin->w_virtcol -! + resel_VIsual_vcol * cap->count0 - 1; -! } - else -! curwin->w_curswant = resel_VIsual_vcol; -! coladvance(curwin->w_curswant); - } -! if (resel_VIsual_vcol == MAXCOL) - { - curwin->w_curswant = MAXCOL; - coladvance((colnr_T)MAXCOL); -*************** -*** 7645,7651 **** - { - validate_virtcol(); - curwin->w_curswant = curwin->w_virtcol -! + resel_VIsual_col * cap->count0 - 1; - coladvance(curwin->w_curswant); - } - else ---- 7667,7673 ---- - { - validate_virtcol(); - curwin->w_curswant = curwin->w_virtcol -! + resel_VIsual_vcol * cap->count0 - 1; - coladvance(curwin->w_curswant); - } - else -*** ../vim-7.3.332/src/version.c 2011-10-04 18:03:43.000000000 +0200 ---- src/version.c 2011-10-04 21:05:44.000000000 +0200 -*************** -*** 711,712 **** ---- 711,714 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 333, - /**/ - --- -It was recently discovered that research causes cancer in rats. - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ -\\\ an exciting new programming language -- http://www.Zimbu.org /// - \\\ help me help AIDS victims -- http://ICCF-Holland.org /// |