diff --git a/components/codetools/codecache.pas b/components/codetools/codecache.pas index fd008f2972..d826ac7b5e 100644 --- a/components/codetools/codecache.pas +++ b/components/codetools/codecache.pas @@ -749,9 +749,10 @@ end; function TCodeCache.CreateFile(const AFilename: string): TCodeBuffer; begin Result:=FindFile(AFileName); - if Result<>nil then begin - Result.Clear; - end else begin + // Create a new buffer also when only char case differs in names. + if (Result<>nil) and (Result.Filename=AFilename) then + Result.Clear + else begin Result:=TCodeBuffer.Create; Result.FileName:=AFileName; FItems.Add(Result); diff --git a/ide/sourcefilemanager.pas b/ide/sourcefilemanager.pas index 55a6b361f7..849b7e478f 100644 --- a/ide/sourcefilemanager.pas +++ b/ide/sourcefilemanager.pas @@ -6024,7 +6024,7 @@ begin // check if file is already lowercase (or it does not matter in current OS) OldShortFilename:=ExtractFilename(OldFilename); NewShortFilename:=lowercase(OldShortFilename); - if CompareFilenames(OldShortFilename,NewShortFilename)=0 then exit; + if OldShortFilename=NewShortFilename then exit; // create new filename NewFilename:=ExtractFilePath(OldFilename)+NewShortFilename;