summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorvimboss <devnull@localhost>2009-11-03 15:44:21 +0000
committervimboss <devnull@localhost>2009-11-03 15:44:21 +0000
commit5bcb14717fc744e635af397d620e80fa99b71bf8 (patch)
treedb75f8a38f6e354543253d374047410435696f8f
parent77a7e449d433ee9d85fa382a35d0d3f338d0b504 (diff)
downloadvim-5bcb14717fc744e635af397d620e80fa99b71bf8.tar.gz
updated for version 7.2-279v7.2.279v7-2-279
-rw-r--r--src/misc2.c6
-rw-r--r--src/ops.c7
-rw-r--r--src/version.c2
3 files changed, 8 insertions, 7 deletions
diff --git a/src/misc2.c b/src/misc2.c
index 05379931..5fc64bb8 100644
--- a/src/misc2.c
+++ b/src/misc2.c
@@ -156,7 +156,7 @@ coladvance2(pos, addspaces, finetune, wcol)
|| ((ve_flags & VE_ONEMORE) && wcol < MAXCOL)
#endif
;
- line = ml_get_curline();
+ line = ml_get_buf(curbuf, pos->lnum, FALSE);
if (wcol >= MAXCOL)
{
@@ -332,9 +332,9 @@ coladvance2(pos, addspaces, finetune, wcol)
#endif
#ifdef FEAT_MBYTE
- /* prevent cursor from moving on the trail byte */
+ /* prevent from moving onto a trail byte */
if (has_mbyte)
- mb_adjust_cursor();
+ mb_adjustpos(pos);
#endif
if (col < wcol)
diff --git a/src/ops.c b/src/ops.c
index b21f4c25..e5db3134 100644
--- a/src/ops.c
+++ b/src/ops.c
@@ -2020,6 +2020,7 @@ op_replace(oap, c)
bd.is_MAX = (curwin->w_curswant == MAXCOL);
for ( ; curwin->w_cursor.lnum <= oap->end.lnum; ++curwin->w_cursor.lnum)
{
+ curwin->w_cursor.col = 0; /* make sure cursor position is valid */
block_prep(oap, &bd, curwin->w_cursor.lnum, TRUE);
if (bd.textlen == 0 && (!virtual_op || bd.is_MAX))
continue; /* nothing to replace */
@@ -2035,6 +2036,7 @@ op_replace(oap, c)
{
pos_T vpos;
+ vpos.lnum = curwin->w_cursor.lnum;
getvpos(&vpos, oap->start_vcol);
bd.startspaces += vpos.coladd;
n = bd.startspaces;
@@ -2693,11 +2695,8 @@ op_change(oap)
* initial coladd offset as part of "startspaces" */
if (bd.is_short)
{
- linenr_T lnum = curwin->w_cursor.lnum;
-
- curwin->w_cursor.lnum = linenr;
+ vpos.lnum = linenr;
(void)getvpos(&vpos, oap->start_vcol);
- curwin->w_cursor.lnum = lnum;
}
else
vpos.coladd = 0;
diff --git a/src/version.c b/src/version.c
index 9edf072d..80bdb240 100644
--- a/src/version.c
+++ b/src/version.c
@@ -677,6 +677,8 @@ static char *(features[]) =
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
+ 279,
+/**/
278,
/**/
277,