Codetools,IDE: Allow renaming project files to lowercase in a case-insensitive file system. Issue #10370.

This commit is contained in:
Juha 2024-07-06 06:08:20 +03:00
parent e9e8f61f5a
commit 3d47bef87e
2 changed files with 5 additions and 4 deletions

View File

@ -749,9 +749,10 @@ end;
function TCodeCache.CreateFile(const AFilename: string): TCodeBuffer; function TCodeCache.CreateFile(const AFilename: string): TCodeBuffer;
begin begin
Result:=FindFile(AFileName); Result:=FindFile(AFileName);
if Result<>nil then begin // Create a new buffer also when only char case differs in names.
Result.Clear; if (Result<>nil) and (Result.Filename=AFilename) then
end else begin Result.Clear
else begin
Result:=TCodeBuffer.Create; Result:=TCodeBuffer.Create;
Result.FileName:=AFileName; Result.FileName:=AFileName;
FItems.Add(Result); FItems.Add(Result);

View File

@ -6024,7 +6024,7 @@ begin
// check if file is already lowercase (or it does not matter in current OS) // check if file is already lowercase (or it does not matter in current OS)
OldShortFilename:=ExtractFilename(OldFilename); OldShortFilename:=ExtractFilename(OldFilename);
NewShortFilename:=lowercase(OldShortFilename); NewShortFilename:=lowercase(OldShortFilename);
if CompareFilenames(OldShortFilename,NewShortFilename)=0 then exit; if OldShortFilename=NewShortFilename then exit;
// create new filename // create new filename
NewFilename:=ExtractFilePath(OldFilename)+NewShortFilename; NewFilename:=ExtractFilePath(OldFilename)+NewShortFilename;