clipboard: don't overwrite before pasting in visual mode. #2945

This occured when clipboard=unnamedplus and doing "+p in visual mode.
Fixes #2942.
This commit is contained in:
Björn Linse
2015-07-03 16:02:07 +02:00
parent 0ffd51425e
commit e9c9d44f65
4 changed files with 11 additions and 3 deletions

View File

@@ -7278,7 +7278,10 @@ static void nv_put(cmdarg_T *cap)
*/
was_visual = true;
regname = cap->oap->regname;
if (regname == 0 || regname == '"'
// '+' and '*' could be the same selection
bool clipoverwrite = (regname == '+' || regname == '*')
&& (cb_flags & CB_UNNAMEDMASK);
if (regname == 0 || regname == '"' || clipoverwrite
|| ascii_isdigit(regname) || regname == '-') {
// The delete might overwrite the register we want to put, save it first
savereg = copy_register(regname);