Problem: If a wide character doesn't fit at the end of the screen line, and
the line doesn't fit on the screen, then the cursor position may
be wrong. (anliting)
Solution: Don't skip over wide character. (Christian Brabandt, closes #1408)
int endrow,
int nochange UNUSED) /* not updating for changed text */
{
- int col; /* visual column on screen */
+ int col = 0; /* visual column on screen */
unsigned off; /* offset in ScreenLines/ScreenAttrs */
int c = 0; /* init for GCC */
long vcol = 0; /* virtual column (for tabs) */
#else
--ptr;
#endif
- n_skip = v - vcol;
+#ifdef FEAT_MBYTE
+ /* character fits on the screen, don't need to skip it */
+ if ((*mb_ptr2cells)(ptr) >= c && col == 0)
+#endif
+ n_skip = v - vcol;
}
/*
static int included_patches[] =
{ /* Add new patch number below this line */
+/**/
+ 290,
/**/
289,
/**/