From f3de1146b5b265e92c224ce04753588ecfc5eebb Mon Sep 17 00:00:00 2001 From: Martin Date: Mon, 17 Feb 2025 22:28:45 +0100 Subject: [PATCH] IDE: SourceEditor, fix InsertLine. Issue #41409 Patch by Frank Fischer --- ide/sourceeditor.pp | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/ide/sourceeditor.pp b/ide/sourceeditor.pp index 78ffdeea3f..658be24f48 100644 --- a/ide/sourceeditor.pp +++ b/ide/sourceeditor.pp @@ -5689,15 +5689,18 @@ const MarksMode: array[Boolean] of TSynMarksAdjustMode = (smaMoveUp, smaKeep); var Pt: TPoint; + NewLine: String; begin if not ReadOnly then begin - if StartLine > 1 then - Pt := Point(Length(FEditor.Lines[StartLine - 2]) + 1, StartLine - 1) - else + if StartLine > 1 then begin + Pt := Point(Length(FEditor.Lines[StartLine - 2]) + 1, StartLine - 1); + NewLine := LineEnding + NewText; + end else begin Pt := Point(1, 1); - FEditor.SetTextBetweenPoints(Pt, Pt, - LineEnding + NewText, [], scamEnd, MarksMode[aKeepMarks]); + NewLine := NewText + LineEnding; + end; + FEditor.SetTextBetweenPoints(Pt, Pt, NewLine, [], scamEnd, MarksMode[aKeepMarks]); end; end;