# HG changeset patch # User vimboss # Date 1257266204 0 # Node ID b57babddb32b2df9f04b636154a26c51f78d73a2 # Parent f54dab7cebabe6aa275dd6a379b42a15c365af0a updated for version 7.2-281 diff --git a/src/screen.c b/src/screen.c --- a/src/screen.c +++ b/src/screen.c @@ -3008,11 +3008,33 @@ win_line(wp, lnum, startrow, endrow, noc mb_ptr_adv(ptr); } -#ifdef FEAT_VIRTUALEDIT - /* When 'virtualedit' is set the end of the line may be before the - * start of the displayed part. */ - if (vcol < v && *ptr == NUL && virtual_active()) +#if defined(FEAT_SYN_HL) || defined(FEAT_VIRTUALEDIT) || defined(FEAT_VISUAL) + /* When: + * - 'cuc' is set, or + * - 'virtualedit' is set, or + * - the visual mode is active, + * the end of the line may be before the start of the displayed part. + */ + if (vcol < v && ( +# ifdef FEAT_SYN_HL + wp->w_p_cuc +# if defined(FEAT_VIRTUALEDIT) || defined(FEAT_VISUAL) + || +# endif +# endif +# ifdef FEAT_VIRTUALEDIT + virtual_active() +# ifdef FEAT_VISUAL + || +# endif +# endif +# ifdef FEAT_VISUAL + (VIsual_active && wp->w_buffer == curwin->w_buffer) +# endif + )) + { vcol = v; + } #endif /* Handle a character that's not completely on the screen: Put ptr at diff --git a/src/version.c b/src/version.c --- 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 */ /**/ + 281, +/**/ 280, /**/ 279,