Fixes: fakevim: 'w' broken again.

Details:  exclusive motions seem to require extra thought
This commit is contained in:
hjk
2009-01-23 15:40:43 +01:00
parent 0fe4e8635b
commit 153fd8a87b

View File

@@ -480,6 +480,8 @@ void FakeVimHandler::Private::finishMovement(const QString &dotCommand)
m_mode = InsertMode; m_mode = InsertMode;
m_submode = NoSubMode; m_submode = NoSubMode;
} else if (m_submode == DeleteSubMode) { } else if (m_submode == DeleteSubMode) {
//if (m_moveType == MoveExclusive)
// moveLeft(); // correct
if (!dotCommand.isEmpty()) if (!dotCommand.isEmpty())
m_dotCommand = "d" + dotCommand; m_dotCommand = "d" + dotCommand;
m_registers[m_register] = recordRemoveSelectedText(); m_registers[m_register] = recordRemoveSelectedText();
@@ -504,10 +506,8 @@ void FakeVimHandler::Private::finishMovement(const QString &dotCommand)
m_tc.setPosition(startBlock.position()); m_tc.setPosition(startBlock.position());
moveToFirstNonBlankOnLine(); moveToFirstNonBlankOnLine();
m_submode = NoSubMode; m_submode = NoSubMode;
} else if (m_moveType == MoveExclusive) {
moveLeft(); // correct
m_moveType = MoveInclusive;
} }
m_moveType = MoveInclusive;
m_mvcount.clear(); m_mvcount.clear();
m_opcount.clear(); m_opcount.clear();
m_gflag = false; m_gflag = false;