From df2c805c733b97f1fbcd30a3ed340bb0ff47e453 Mon Sep 17 00:00:00 2001 From: hjk <qtc-committer@nokia.com> Date: Wed, 29 Apr 2009 15:29:03 +0200 Subject: [PATCH] fakevim: fix 'dd' when cursor is not in the first column Was seemingly broken by the target columns changes. Autotest is added now, too. --- src/plugins/fakevim/fakevimhandler.cpp | 4 +++- tests/auto/fakevim/main.cpp | 4 ++++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/src/plugins/fakevim/fakevimhandler.cpp b/src/plugins/fakevim/fakevimhandler.cpp index 2550f88eb80..035fdb67928 100644 --- a/src/plugins/fakevim/fakevimhandler.cpp +++ b/src/plugins/fakevim/fakevimhandler.cpp @@ -877,10 +877,12 @@ EventResult FakeVimHandler::Private::handleCommandMode(int key, int unmodified, finishMovement(); } else if (m_submode == DeleteSubMode && key == 'd') { // tested moveToStartOfLine(); + setTargetColumn(); setAnchor(); moveDown(count()); m_moveType = MoveLineWise; - finishMovement("d"); + setDotCommand("%1dd", count()); + finishMovement(); } else if (m_submode == YankSubMode && key == 'y') { moveToStartOfLine(); setAnchor(); diff --git a/tests/auto/fakevim/main.cpp b/tests/auto/fakevim/main.cpp index fd5b06f0931..9e931526f92 100644 --- a/tests/auto/fakevim/main.cpp +++ b/tests/auto/fakevim/main.cpp @@ -265,6 +265,10 @@ void tst_FakeVim::command_dd() check("dd", l[0] + "\n@" + lmid(2)); check(".", l[0] + "\n@" + lmid(3)); check("3dd", l[0] + "\n@" + lmid(6)); + check("8l", l[0] + "\n QApp@lication app(argc, argv);\n" + lmid(7)); + check("dd", l[0] + "\n@" + lmid(7)); + check(".", l[0] + "\n@" + lmid(8)); + check("dd", l[0] + "\n@" + lmid(9)); } void tst_FakeVim::command_dollar() -- GitLab