# HG changeset patch # User Bram Moolenaar # Date 1375456943 -7200 # Node ID cd971e951b0626c253059d8e25859032560920a6 # Parent 360c954b266dc92ce8bf539cfd0f43f08a08e1ad updated for version 7.4b.009 Problem: When setting the Visual area manually and 'selection' is exclusive, a yank includes one character too much. (Ingo Karkat) Solution: Default the Visual operation to "v". (Christian Brabandt) diff --git a/src/mark.c b/src/mark.c --- a/src/mark.c +++ b/src/mark.c @@ -99,14 +99,15 @@ setmark_pos(c, pos, fnum) } #ifdef FEAT_VISUAL - if (c == '<') + if (c == '<' || c == '>') { - curbuf->b_visual.vi_start = *pos; - return OK; - } - if (c == '>') - { - curbuf->b_visual.vi_end = *pos; + if (c == '<') + curbuf->b_visual.vi_start = *pos; + else + curbuf->b_visual.vi_end = *pos; + if (curbuf->b_visual.vi_mode == NUL) + /* Visual_mode has not yet been set, use a sane default. */ + curbuf->b_visual.vi_mode = 'v'; return OK; } #endif diff --git a/src/version.c b/src/version.c --- a/src/version.c +++ b/src/version.c @@ -728,6 +728,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ /**/ + 9, +/**/ 8, /**/ 7,