From 2e6513b9ed528d5fbb001bfcf0f337bd06f5d5b9 Mon Sep 17 00:00:00 2001 From: mattias Date: Sat, 28 Jan 2006 11:33:30 +0000 Subject: [PATCH] fixed setting unitname for non units on save as git-svn-id: trunk@8641 - --- ide/main.pp | 8 +++++--- ide/project.pp | 21 +++++++++++++-------- 2 files changed, 18 insertions(+), 11 deletions(-) diff --git a/ide/main.pp b/ide/main.pp index 231298bb2a..9014f593eb 100644 --- a/ide/main.pp +++ b/ide/main.pp @@ -3485,9 +3485,11 @@ begin NewShortFilename:=ExtractFilenameOnly(NewFilename); // use as unitname the NewShortFilename, but with the case of the // original unitname. e.g. 'unit12.pas' becomes 'Unit12.pas' - NewUnitName:=ChompEndNumber(NewUnitName); - NewUnitName:=NewUnitName+copy(NewShortFilename,length(NewUnitName)+1, - length(NewShortFilename)); + if Descriptor.IsPascalUnit then begin + NewUnitName:=ChompEndNumber(NewUnitName); + NewUnitName:=NewUnitName+copy(NewShortFilename,length(NewUnitName)+1, + length(NewShortFilename)); + end; end; //debugln('TMainIDE.CreateNewCodeBuffer NewFilename=',NewFilename,' NewUnitName=',NewUnitName); diff --git a/ide/project.pp b/ide/project.pp index 94a13dc9d4..3e26171364 100644 --- a/ide/project.pp +++ b/ide/project.pp @@ -813,8 +813,9 @@ begin Result:=mrOk; end; until Result<>mrRetry; - if ReadUnitName then + if ReadUnitName then begin fUnitName:=CodeToolBoss.GetSourceName(fSource,false); + end; Result:=mrOk; end; @@ -829,15 +830,18 @@ begin NewUnitName:=CodeToolBoss.GetSourceName(fSource,false); if NewUnitName='' then begin // unable to parse the source - // use default: the filename - NewUnitName:=ExtractFileNameOnly(Filename); - if CompareText(NewUnitName,fUnitName)=0 then begin - // the last stored unitname has the better case - exit; + if FilenameIsPascalSource(Filename) then begin + // use default: the filename + NewUnitName:=ExtractFileNameOnly(Filename); + if CompareText(NewUnitName,fUnitName)=0 then begin + // the last stored unitname has the better case + exit; + end; end; end; - if NewUnitName<>'' then + if NewUnitName<>'' then begin fUnitName:=NewUnitName; + end; end; function TUnitInfo.CreateUnitName: string; @@ -849,8 +853,9 @@ end; procedure TUnitInfo.ImproveUnitNameCache(const NewUnitName: string); begin - if (fUnitName='') or (CompareText(fUnitName,NewUnitName)=0) then + if (fUnitName='') or (CompareText(fUnitName,NewUnitName)=0) then begin fUnitName:=NewUnitName; + end; end; {------------------------------------------------------------------------------