FakeVim: fix yank register

The yank register "0 is only used when using y{motion} commands.
This fixes the following:

In normal mode:
input:  |aaa bbb ccc
keys:   yiw w diw "0P
result: aaa aaa ccc

Change-Id: I7fb8a62aed29b753ff8b129b5a8aa5f8e965026e
Reviewed-by: hjk <hjk@theqtcompany.com>
This commit is contained in:
Thorben Kroeger
2015-03-22 11:04:41 +01:00
committed by hjk
parent 4f4de63721
commit 0023eafc4c

View File

@@ -6935,9 +6935,6 @@ void FakeVimHandler::Private::yankText(const Range &range, int reg)
// If register is not specified or " ...
if (m_register == '"') {
// copy to yank register 0 too
setRegister('0', text, range.rangemode);
// with delete and change commands set register 1 (if text contains more lines) or
// small delete register -
if (g.submode == DeleteSubMode || g.submode == ChangeSubMode) {
@@ -6945,6 +6942,9 @@ void FakeVimHandler::Private::yankText(const Range &range, int reg)
setRegister('1', text, range.rangemode);
else
setRegister('-', text, range.rangemode);
} else {
// copy to yank register 0 too
setRegister('0', text, range.rangemode);
}
} else {
// Always copy to " register too.