Mercurial > vim
changeset 1984:b57babddb32b v7.2.281
updated for version 7.2-281
author | vimboss |
---|---|
date | Tue, 03 Nov 2009 16:36:44 +0000 |
parents | f54dab7cebab |
children | d225695aa794 |
files | src/screen.c src/version.c |
diffstat | 2 files changed, 28 insertions(+), 4 deletions(-) [+] |
line wrap: on
line diff
--- 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