From e14efa60175197e37ac9fe464dea5bef19edb4cc Mon Sep 17 00:00:00 2001 From: mattias Date: Sun, 27 Mar 2011 09:00:32 +0000 Subject: [PATCH] codetools: search include file of include file in direcory of unit git-svn-id: trunk@30027 - --- components/codetools/linkscanner.pas | 16 ++++++++++++---- ide/lazconf.pp | 2 +- 2 files changed, 13 insertions(+), 5 deletions(-) diff --git a/components/codetools/linkscanner.pas b/components/codetools/linkscanner.pas index ea9df348e5..f96a221152 100644 --- a/components/codetools/linkscanner.pas +++ b/components/codetools/linkscanner.pas @@ -2978,16 +2978,24 @@ begin if HasPathDelims then DoDirSeparators(AFilename); - // first search include file in the directory of the current source + // first search include file in the directory of the unit {$IFDEF VerboseIncludeSearch} - DebugLn('TLinkScanner.SearchIncludeFile MainSourceFilename="',FMainSourceFilename,'"'); + debugln(['TLinkScanner.SearchIncludeFile FMainSourceFilename="',FMainSourceFilename,'" SrcFile="',SrcFilename,'" AFilename="',AFilename,'" ExpFilename="',ExpFilename,'"']); {$ENDIF} - if FilenameIsAbsolute(SrcFilename) then begin + if FilenameIsAbsolute(FMainSourceFilename) then begin // main source has absolute filename - ExpFilename:=ExtractFilePath(SrcFilename)+AFilename; + // search in directory of unit + ExpFilename:=ExtractFilePath(FMainSourceFilename)+AFilename; NewCode:=LoadSourceCaseLoUp(ExpFilename); Result:=(NewCode<>nil); if Result then exit; + // search in directory of include file + if FilenameIsAbsolute(SrcFilename) then begin + ExpFilename:=ExtractFilePath(SrcFilename)+AFilename; + NewCode:=LoadSourceCaseLoUp(ExpFilename); + Result:=(NewCode<>nil); + if Result then exit; + end; end else begin // main source is virtual NewCode:=FOnLoadSource(Self,TrimFilename(AFilename),true); diff --git a/ide/lazconf.pp b/ide/lazconf.pp index 299786fbe8..b01655b17b 100644 --- a/ide/lazconf.pp +++ b/ide/lazconf.pp @@ -50,7 +50,7 @@ uses InterfaceBase; const - LazarusVersionStr= {$I version.inc}; + LazarusVersionStr = {$I version.inc}; LCLPlatformDisplayNames: array[TLCLPlatform] of string = ( 'gtk (deprecated)',