FakeVim: fix black hole register

This fixes the following:

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

Change-Id: If66d80660c1bef5be1466883db30a87254065f00
Reviewed-by: hjk <hjk@theqtcompany.com>
This commit is contained in:
Thorben Kroeger
2015-03-22 11:12:08 +01:00
committed by hjk
parent 0023eafc4c
commit 0f8b5ef436

View File

@@ -4566,7 +4566,7 @@ bool FakeVimHandler::Private::handleRegisterSubMode(const Input &input)
bool handled = false;
QChar reg = input.asChar();
if (QString::fromLatin1("*+.%#:-\"").contains(reg) || reg.isLetterOrNumber()) {
if (QString::fromLatin1("*+.%#:-\"_").contains(reg) || reg.isLetterOrNumber()) {
m_register = reg.unicode();
handled = true;
}
@@ -6946,8 +6946,8 @@ void FakeVimHandler::Private::yankText(const Range &range, int reg)
// copy to yank register 0 too
setRegister('0', text, range.rangemode);
}
} else {
// Always copy to " register too.
} else if (m_register != '_') {
// Always copy to " register too (except black hole register).
setRegister('"', text, range.rangemode);
}