mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-04-07 17:58:03 +02:00
codetools: fixed repairing file case for include files and uses section
git-svn-id: trunk@33260 -
This commit is contained in:
parent
8920e57911
commit
2f56a3d603
@ -241,7 +241,8 @@ type
|
||||
function FindCompiledUnitInUnitSet(const Directory, AUnitName: string): string;
|
||||
procedure IterateFPCUnitsInSet(const Directory: string;
|
||||
const Iterate: TCTOnIterateFile);
|
||||
function FindDiskFilename(const Filename: string): string;
|
||||
function FindDiskFilename(const Filename: string;
|
||||
{%H-}SearchCaseInsensitive: boolean = false): string;
|
||||
function FindUnitInDirectory(const Directory, AUnitName: string;
|
||||
AnyCase: boolean = false): string;
|
||||
function FindVirtualFile(const Filename: string): string;
|
||||
@ -1596,18 +1597,19 @@ begin
|
||||
Cache.IterateFPCUnitsInSet(Iterate);
|
||||
end;
|
||||
|
||||
function TCTDirectoryCachePool.FindDiskFilename(const Filename: string
|
||||
): string;
|
||||
{$IF defined(NotLiteralFilenames) or defined(CaseInsensitiveFilenames)}
|
||||
function TCTDirectoryCachePool.FindDiskFilename(const Filename: string;
|
||||
SearchCaseInsensitive: boolean): string;
|
||||
var
|
||||
ADirectory: String;
|
||||
Cache: TCTDirectoryCache;
|
||||
ShortFilename: String;
|
||||
{$ENDIF}
|
||||
begin
|
||||
Result:=ChompPathDelim(TrimFilename(Filename));
|
||||
if Result='' then exit;
|
||||
{$IF defined(NotLiteralFilenames) or defined(CaseInsensitiveFilenames)}
|
||||
{$ELSE}
|
||||
if (not SearchCaseInsensitive) then exit;
|
||||
{$ENDIF}
|
||||
ADirectory:=ExtractFilePath(Result);
|
||||
if ADirectory=Result then
|
||||
exit; // e.g. / under Linux
|
||||
@ -1616,7 +1618,6 @@ begin
|
||||
Result:=Cache.FindFile(ShortFilename,ctsfcAllCase);
|
||||
if Result='' then exit;
|
||||
Result:=Cache.Directory+Result;
|
||||
{$ENDIF}
|
||||
end;
|
||||
|
||||
function TCTDirectoryCachePool.FindUnitInDirectory(const Directory,
|
||||
|
@ -1171,7 +1171,7 @@ function TStandardCodeTool.FixUsedUnitCaseInUsesSection(
|
||||
end;
|
||||
CheckDirectoryCache;
|
||||
if DirectoryCache=nil then exit;
|
||||
Result:=DirectoryCache.Pool.FindDiskFilename(AFilename);
|
||||
Result:=DirectoryCache.Pool.FindDiskFilename(AFilename,true);
|
||||
if Result='' then exit;
|
||||
if MakeRelative then
|
||||
Result:=CreateRelativePath(Result,CurDir);
|
||||
@ -6288,7 +6288,7 @@ var
|
||||
begin
|
||||
Result:=TrimFilename(AFilename);
|
||||
if FilenameIsAbsolute(Result) then begin
|
||||
Result:=DirectoryCache.Pool.FindDiskFilename(Result);
|
||||
Result:=DirectoryCache.Pool.FindDiskFilename(Result,true);
|
||||
Add(FilenameSrcPos,Result,FileExistsCached(Result));
|
||||
//DebugLn('SearchIncludeFilename AbsoluteFilename="',Result,'"');
|
||||
end else begin
|
||||
@ -6299,7 +6299,7 @@ var
|
||||
AFilePath:=ExtractFilePath(Result);
|
||||
if AFilePath<>'' then begin
|
||||
// search relative to unit
|
||||
CurFilename:=DirectoryCache.Pool.FindDiskFilename(BaseDir+Result);
|
||||
CurFilename:=DirectoryCache.Pool.FindDiskFilename(BaseDir+Result,true);
|
||||
Result:=copy(CurFilename,length(BaseDir)+1,length(CurFilename));
|
||||
if FileExistsCached(CurFilename) then
|
||||
Add(FilenameSrcPos,CurFilename,true)
|
||||
|
Loading…
Reference in New Issue
Block a user