[Lazarus] FPDocManager now handles selectable FCL packages

Hans-Peter Diettrich DrDiettrich1 at aol.com
Sat Feb 18 05:33:15 CET 2012


Mattias Gaertner schrieb:
> On Fri, 17 Feb 2012 19:09:54 +0100
> Hans-Peter Diettrich <DrDiettrich1 at aol.com> wrote:
> 
>> Mattias Gaertner schrieb:
>>> On Fri, 17 Feb 2012 14:30:17 +0100
>>> Hans-Peter Diettrich <DrDiettrich1 at aol.com> wrote:
>>>
>>>> [...]
>>>> Most FPDoc tools fail to work on units which deserve special compiler 
>>>> options, when the user cannot supply the required options. I.e. you may 
>>>> not be able to add descriptions in the FPDoc Editor,
>>> Please report FCL units that fail to parse in Lazarus.
>> I didn't talk about Lazarus (IDE)?

Clarification: When working on/with the FPDocManager, or with the 
documentation commandline tools (fpdoc, makeskel...), the fpdoc units 
can report errors when processing units. This is one scenario.
When I open these reported units in the IDE, these are not normally part 
of the current project, so this is another scenario.


The file fcl-process/src/pipesipc.pp is broken on many platforms. It 
only contains:
   {$define ipcunit}
   {$i simpleipc.inc}
but neither dummy/simpleipc.inc nor win/simpleipc.inc care about 
ipcunit, so that the module lacks unit, interface, implementation 
clauses and an "end.". This is invalid syntax. When included by 
simpleipc.pp, the module syntax for "unit simpleipc;" is okay, 
beforementioned parts reside in simpleipc.pp.

Even if pipesipc.pp were a program, a "begin ... end." part is missing, 
and it's known that fpdoc doesn't accept program modules.

These are definitely bugs in the fcl-process sources, should I file an 
bug report?


>> But here is such a Lazarus unit:
>>    D:\repos\lazarusTrunk\components\jcf2\Parse\Tokens.pas
> 
> I found a project jcf.lpi which uses this unit. 
> I fixed compilation.
> No parser error.

I just can't test your update, due to SVN server problems. In the last 
version the CodeExplorer didn't show any entries for this unit.

> What project/package have you used?

No special package. I only opened the unit in the IDE, from the global 
search results for "parser".


>> IMO this is a different issue, when the unit is not part of the project 
>> or of a loaded package.
> 
> What do you expect?

I don't expect that the IDE (code tools...) can handle units out of 
their containing package, when these require special compiler options 
(include paths...). FPDoc Editor alerts the user on an attempt to 
document an unit, which is not part of the current project or of a 
(loaded) package.

Please note that the Lazarus FCL package only contains an subset of the 
FPC FCL units, including simpleipc.pp, but not pipesipc.pp. Can I assume 
that all FCL units, which require special compiler options, should 
become part of the Lazarus FCL package? In this case the various 
simpleipc.inc files have to be fixed, before pipesipc.pp can be added to 
this package. But even then I don't understand how the required include 
path for simpleipc.pp is found by Lazarus.

DoDi





More information about the Lazarus mailing list