[Lazarus] Clearing a project

Mattias Gaertner nc-gaertnma at netcologne.de
Tue Feb 5 15:54:53 CET 2013


On Tue, 05 Feb 2013 14:34:03 +0000
Mark Morgan Lloyd <markMLl.lazarus at telemetry.co.uk> wrote:

> Mattias Gaertner wrote:
> > On Tue, 05 Feb 2013 13:40:44 +0000
> > Mark Morgan Lloyd <markMLl.lazarus at telemetry.co.uk> wrote:
> > 
> >> Mattias Gaertner wrote:
> >>> On Tue, 05 Feb 2013 13:23:25 +0000
> >>> Mark Morgan Lloyd <markMLl.lazarus at telemetry.co.uk> wrote:
> >>>
> >>>> [...]
> >>>> OK. The only thing I was noting was that in a case where the editor has 
> >>>> two files open one of those has one entry (Unit1 above) while the other 
> >>>> has two (Unit12, Unit13 above).
> >>> No. Every unit in the lpi has a unique filename.
> >>>
> >>> When you come from Linux (case sensitive) to Window (case insensitive)
> >>> the IDE deletes one. But this is a rare case.
> >> Understood, but we're back at the situation where a name is 
> >> distinguished only by whether a symlink's been followed.
> >>
> >>         <Unit12>
> >>           <Filename Value="../../inifiles/trunk/dbconfigcode2.pas"/>
> >> ..
> >>         <Unit13>
> >>           <Filename Value="../inifiles/trunk/dbconfigcode2.pas"/>
> > 
> > These are two different files for the IDE. Don't forget that this is
> > about the meta data, not the content. The content is stored in the file
> > itself.
> > One belongs to the project, one does not.
> 
> OKaaay...so what you're saying is that when the compiler finds the 
> syntax error in 
> /usr/local/src/heavywethers/inifiles/trunk/dbconfigcode2.pas and reports 
> it to the IDE, the IDE is opening an editor on that file as though it's 
> not in the project.

If the compiler gives an absolute filename the IDE opens just that.
If the compiler gives a relative file, e.g. only 'dbconfigcode2.pas',
then the IDE starts guessing and then it might use the information
from the lpi and lps.

The filenames in the lpi are stored relative. When loading the lpi the
IDE converts them to absolute filenames.

> [Checks] It also does exactly the same (i.e. the 
> .lps has one entry for heavywetherscode.pas and two for 
> dbconfigcode2.pas) if heavywetherscode.pas and dbconfigcode2.pas are 
> both already open, but at least I don't get a duplicate tab/pane any 
> more :-)


Mattias
 




More information about the Lazarus mailing list