From 6c9fa22be3d79ebbbe7dc5258a124b82a021cea0 Mon Sep 17 00:00:00 2001 From: Juha Date: Sat, 24 Feb 2024 01:11:04 +0200 Subject: [PATCH] IDE: Inform a user earlier that renaming a unit is not possible through "Rename identifier" feature. Issue #40744. --- ide/findrenameidentifier.pas | 21 +++++++++++---------- 1 file changed, 11 insertions(+), 10 deletions(-) diff --git a/ide/findrenameidentifier.pas b/ide/findrenameidentifier.pas index 079ac850f2..f2aaa94cbc 100644 --- a/ide/findrenameidentifier.pas +++ b/ide/findrenameidentifier.pas @@ -299,8 +299,17 @@ begin CodeToolBoss.GetIdentifierAt(DeclCode,DeclarationCaretXY.X,DeclarationCaretXY.Y,Identifier); CurUnitname:=ExtractFileNameOnly(DeclCode.Filename); - //debugln('TMainIDE.DoFindRenameIdentifier A DeclarationCaretXY=',dbgs(DeclarationCaretXY)); + // ToDo: Support renaming and saving a unit also here. + // Now just inform a user that renaming is not possible. + if CompareDottedIdentifiers(PChar(Identifier),PChar(CurUnitName))=0 then + begin + IDEMessageDialog(srkmecRenameIdentifier, + lisTheIdentifierIsAUnitPleaseUseTheFileSaveAsFunction, + mtInformation,[mbCancel],''); + exit(mrCancel); + end; + //debugln('TMainIDE.DoFindRenameIdentifier A DeclarationCaretXY=',dbgs(DeclarationCaretXY)); Files:=nil; OwnerList:=nil; PascalReferences:=nil; @@ -417,13 +426,6 @@ begin // rename identifier if Options.Rename then begin - if CompareDottedIdentifiers(PChar(Identifier),PChar(CurUnitName))=0 then - begin - IDEMessageDialog(srkmecRenameIdentifier, - lisTheIdentifierIsAUnitPleaseUseTheFileSaveAsFunction, - mtInformation,[mbCancel],''); - exit(mrCancel); - end; OldChange:=LazarusIDE.OpenEditorsOnCodeToolChange; LazarusIDE.OpenEditorsOnCodeToolChange:=true; try @@ -432,8 +434,7 @@ begin then begin LazarusIDE.DoJumpToCodeToolBossError; debugln('Error: (lazarus) DoFindRenameIdentifier unable to commit'); - Result:=mrCancel; - exit; + exit(mrCancel); end; finally LazarusIDE.OpenEditorsOnCodeToolChange:=OldChange;