[fpc-devel] fpdoc path + system.uitypes problems.
Marco van de Voort
fpc at pascalprogramming.org
Mon Dec 25 20:32:01 CET 2023
(forum thread:
https://forum.lazarus.freepascal.org/index.php/topic,65629.0.html)
Don noticed that the system.uitypes lemma's in the CHM are empty, both
with 3.2.x as 3.3.x fpdoc.
I checked the only html snapshot and it is the same:
https://www.freepascal.org/daily/doc/rtl/system.uitypes/index-5.html
I can remember that I tried to debug this a while back, and that this is
a fundamental problem of fpdoc because it uses dots to separate the
parts of a lemma. (e.g. packagename.unitname.recordtype.fieldname).
Separating a path on dot then breaks the unit name. If unit name is
system.uitypes.somevariable, it tries to find symbol uitypes in system,
and then searches for a field in somevariable etc.
To fix this either we have to e.g. keep a list of packages and a list of
units and then try to disambiguate to only pick the longest match. That
maybe have risks that other corner cases be found or that the list of
units is not yet complete at any point when this system is inside
fpdoc. This requires no changes to the .xmls
A more definitive choice is to change something about the notation and
somehow replace or escape dots within identifiers. like
rtl.#system.uitypes#.recordtype.fieldname or like
rtl.system#uitypes.recordtype.fieldname or
rtl.system..uitypes.recordtype.fieldname. (exact characters to be used
T.b.d. Only requires changes to the XML for dotted unit names.
Opinions etc ?
More information about the fpc-devel
mailing list