From 695aa639cae350f94dd16da269a81d2f11ca3a7d Mon Sep 17 00:00:00 2001
From: hjk <qtc-committer@nokia.com>
Date: Thu, 22 Jan 2009 13:44:25 +0100
Subject: [PATCH]     Fixes:    fakevim: fix undo behaviour for Key_Delete

    Details:  was not recorded onh the undo stck
---
 src/plugins/fakevim/fakevimhandler.cpp | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/src/plugins/fakevim/fakevimhandler.cpp b/src/plugins/fakevim/fakevimhandler.cpp
index f6e9d759708..ceafa52354a 100644
--- a/src/plugins/fakevim/fakevimhandler.cpp
+++ b/src/plugins/fakevim/fakevimhandler.cpp
@@ -634,7 +634,7 @@ bool FakeVimHandler::Private::handleCommandMode(int key, int unmodified,
         finishMovement("y");
     } else if (m_submode == ReplaceSubMode) {
         if (atEol())
-            moveLeft(KeepAnchor);
+            moveLeft();
         else
             m_tc.deleteChar();
         recordInsertText(text);
@@ -1019,7 +1019,9 @@ bool FakeVimHandler::Private::handleCommandMode(int key, int unmodified,
         moveUp(count() * (linesOnScreen() - 2));
         finishMovement();
     } else if (key == Key_Delete) {
-        m_tc.deleteChar();
+        setAnchor();
+        moveRight(qMin(1, rightDist()));
+        recordRemoveSelectedText();
     } else if (key == Key_Escape) {
         if (m_visualMode != NoVisualMode)
             leaveVisualMode();
-- 
GitLab