From 7ef4bcdbbfe7e7817f629ecec93dfbc3ee40094a Mon Sep 17 00:00:00 2001 From: mattias Date: Sat, 5 May 2012 11:36:45 +0000 Subject: [PATCH] IDE: TProjectFileDescriptor.DefaultResourceName: first try without appending a number, check for pascal keywords git-svn-id: trunk@37162 - --- ide/main.pp | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/ide/main.pp b/ide/main.pp index 9257181e99..6244a667ba 100644 --- a/ide/main.pp +++ b/ide/main.pp @@ -5490,9 +5490,21 @@ function TMainIDE.NewUniqueComponentName(Prefix: string): string; Result:=false; end; + function IdentifierIsOk(Identifier: string): boolean; + begin + Result:=false; + if (Identifier='') or not IsValidIdent(Identifier) then exit; + if AllKeyWords.DoIdentifier(PChar(Identifier)) then exit; + if IdentifierExists(Identifier) then exit; + if IdentifierExists('T'+Identifier) then exit; + Result:=true; + end; + var i: Integer; begin + if IdentifierIsOk(Prefix) then + exit(Result); while (Prefix<>'') and (Prefix[length(Prefix)] in ['0'..'9']) do System.Delete(Prefix,length(Prefix),1); if (Prefix='') or (not IsValidIdent(Prefix)) then @@ -5501,7 +5513,7 @@ begin repeat inc(i); Result:=Prefix+IntToStr(i); - until (not IdentifierExists(Result)) and (not IdentifierExists('T'+Result)); + until IdentifierIsOk(Result); end; function TMainIDE.DoLoadResourceFile(AnUnitInfo: TUnitInfo;