From dbf0ca7622705d9e4fb468fd73003ab904e58980 Mon Sep 17 00:00:00 2001 From: Rainer Kottenhoff Date: Mon, 22 Feb 2021 20:53:23 +0100 Subject: [PATCH] + fix: Multi-Line movement: proceed to document end correctly --- src/Edit.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/Edit.c b/src/Edit.c index f53d516de..53fd23b07 100644 --- a/src/Edit.c +++ b/src/Edit.c @@ -2513,14 +2513,16 @@ static void _EditMoveLines(bool bMoveUp) } DocPos const iSelBeg = SciCall_GetSelectionStart(); - DocPos const iSelEnd = SciCall_GetSelectionEnd(); DocLn const iBegLine = SciCall_LineFromPosition(iSelBeg); - DocLn const iEndLine = SciCall_LineFromPosition(iSelEnd); + DocPos const iSelEnd = SciCall_GetSelectionEnd(); + DocLn const iEndLine = SciCall_LineFromPosition(iSelEnd); DocLn lastLine = Sci_GetLastDocLineNumber(); if (Sci_GetNetLineLength(lastLine) == 0) { - --lastLine; + if (SciCall_PositionFromLine(iEndLine) < iSelEnd) { + --lastLine; + } } bool const bCanMove = bMoveUp ? (iBegLine > 0) : (iEndLine < lastLine);