patch 9.0.0078: star register is unexpectedly changed when deleting

Problem:    Star register is changed when deleting and both "unnamed" and
            "unnamedplus" are in 'clipboard'.
Solution:   Make the use of the star register work as documented. (Ernie Rael,
            closes #10669)
This commit is contained in:
Ernie Rael
2022-07-26 14:44:36 +01:00
committed by Bram Moolenaar
parent b03950fafa
commit 559f230fd6
4 changed files with 45 additions and 1 deletions

View File

@ -411,6 +411,36 @@ func Test_clipboard_regs()
bwipe!
endfunc
" Test unnamed for both clipboard registers (* and +)
func Test_clipboard_regs_both_unnamed()
CheckNotGui
CheckFeature clipboard_working
CheckTwoClipboards
let @* = 'xxx'
let @+ = 'xxx'
new
set clipboard=unnamed,unnamedplus
call setline(1, ['foo', 'bar'])
" op_yank copies to both
:1
:normal yw
call assert_equal('foo', getreg('*'))
call assert_equal('foo', getreg('+'))
" op_delete only copies to '+'
:2
:normal dw
call assert_equal('foo', getreg('*'))
call assert_equal('bar', getreg('+'))
set clipboard&vim
bwipe!
endfunc
" Test for restarting the current mode (insert or virtual replace) after
" executing the contents of a register
func Test_put_reg_restart_mode()