Skip to content

Commit aa0c2f1

Browse files
Merge branch 'topic/gs.522.reg' into 'master'
Fix regressions. See merge request eng/ide/gnatstudio!876
2 parents aa1bb19 + 825e56a commit aa0c2f1

File tree

1 file changed

+18
-12
lines changed

1 file changed

+18
-12
lines changed

src_editor/src/src_editor_buffer.adb

Lines changed: 18 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -6446,30 +6446,34 @@ package body Src_Editor_Buffer is
64466446
-- Start_Line and End_Line.
64476447

64486448
-- Search upward for the first editable line
6449-
Search_Line := Start_Line;
6450-
while From_Line = 0 and then Search_Line < End_Line loop
6451-
Search_Line := Search_Line + 1;
6452-
-- Gint and Buffer_Line_Type are off by 1
6449+
-- We have tested Start_Line + 1, the next one is Start_Line + 2
6450+
Search_Line := Start_Line + 2;
6451+
while From_Line = 0 and then Search_Line <= End_Line loop
64536452
From_Line :=
64546453
Get_Editable_Line
6455-
(Buffer, Buffer_Line_Type (Search_Line + 1));
6454+
(Buffer, Buffer_Line_Type (Search_Line));
6455+
Search_Line := Search_Line + 1;
64566456
end loop;
64576457

64586458
-- Search downward for the last editable line
6459+
-- We have tested End_Line + 1, the previous one is End_Line
64596460
Search_Line := End_Line;
6460-
while To_Line = 0 and then Search_Line > Start_Line loop
6461-
Search_Line := Search_Line - 1;
6462-
-- Gint and Buffer_Line_Type are off by 1
6461+
while To_Line = 0 and then Search_Line >= Start_Line loop
64636462
To_Line :=
64646463
Get_Editable_Line
6465-
(Buffer, Buffer_Line_Type (Search_Line + 1));
6464+
(Buffer, Buffer_Line_Type (Search_Line));
6465+
Search_Line := Search_Line - 1;
64666466
end loop;
64676467

6468+
Trace (Me, "End_Line: " & End_Line'Image);
6469+
Trace (Me, "Search_Line: " & Search_Line'Image);
6470+
Trace (Me, "To_Line: " & To_Line'Image);
6471+
64686472
-- Include all characters from the last line
64696473
To_Column :=
6470-
Buffer.Editor_Buffer.New_Location (Integer (To_Line))
6471-
.End_Of_Line
6472-
.Column;
6474+
Buffer.Editor_Buffer.New_Location
6475+
(Line => Integer (To_Line),
6476+
Column => 1).End_Of_Line.Column;
64736477
end;
64746478
end if;
64756479

@@ -6619,11 +6623,13 @@ package body Src_Editor_Buffer is
66196623
Indent_Params : Indent_Parameters;
66206624
begin
66216625
if not Buffer.Writable then
6626+
Trace (Me, "Buffer not writable");
66226627
End_Action (Buffer);
66236628
return False;
66246629
end if;
66256630

66266631
if not Get_Language_Context (Lang).Can_Indent then
6632+
Trace (Me, "Language Can't Indent");
66276633
return False;
66286634
end if;
66296635

0 commit comments

Comments
 (0)