Re: [fpc-devel] fpdoc path + system.uitypes problems.

2023-12-29 Thread Michael Van Canneyt via fpc-devel




On Fri, 29 Dec 2023, Marco van de Voort via fpc-devel wrote:



Op 27/12/2023 om 13:37 schreef Marco van de Voort via fpc-devel:


- The short description in the overview (#rtl) page still doesn't appear ,


After some debugging, my guess is that in this specific case the path 
chopping code in TDocNode.CreateChildren at dglobals:455 and further is to 
blame.


The tag gets chopped up, and a node is made with name "system" not 
"system.uitypes"


I will have a look.

Michael.
___
fpc-devel maillist  -  fpc-devel@lists.freepascal.org
https://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-devel


Re: [fpc-devel] fpdoc path + system.uitypes problems.

2023-12-29 Thread Marco van de Voort via fpc-devel



Op 27/12/2023 om 13:37 schreef Marco van de Voort via fpc-devel:


- The short description in the overview (#rtl) page still doesn't 
appear ,


After some debugging, my guess is that in this specific case the path 
chopping code in TDocNode.CreateChildren at dglobals:455 and further is 
to blame.


The tag gets chopped up, and a node is made with name "system" not 
"system.uitypes"


___
fpc-devel maillist  -  fpc-devel@lists.freepascal.org
https://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-devel


Re: [fpc-devel] fpdoc path + system.uitypes problems.

2023-12-27 Thread Marco van de Voort via fpc-devel


Op 26/12/2023 om 19:53 schreef Michael Van Canneyt via fpc-devel:


If you say so.   It is still ambiguous though, even if most common 
cases can disambiguated.   (a.b.c.d is either symbol d in unit b.c  
or field d in structure type c in unit b), which is why I didn't 
favor it.


Can you explain what the exact problem is with system.uitypes other than
that the description file was not included in the build project xml ?


It was that mostly, I retested it, but missed that you hadn't committed 
that.



I built the docs with it and it is as complete as can be expected. All 
works as it is supposed to work, links and all.


But not everything is ok.

- The short description in the overview (#rtl) page still doesn't appear ,

-  the unit description seems to be replaced by some copyright text 
rather than the description in the XML


I'll see if I can play with that.



I removed it again from the build project (commented out the relevant
entries), since the xml file is horribly incomplete, and we only 
include completed units in the docs.


Maybe that is a good  policy in the general case, but with core types as 
TColor and -Rec  that hinders lazarus.






___
fpc-devel maillist  -  fpc-devel@lists.freepascal.org
https://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-devel


Re: [fpc-devel] fpdoc path + system.uitypes problems.

2023-12-27 Thread Michael Van Canneyt via fpc-devel




On Tue, 26 Dec 2023, Marco van de Voort via fpc-devel wrote:



Op 26/12/2023 om 19:53 schreef Michael Van Canneyt via fpc-devel:


Can you explain what the exact problem is with system.uitypes other than
that the description file was not included in the build project xml ?

I built the docs with it and it is as complete as can be expected. All 
works as it is supposed to work, links and all.


See the link I posted to the daily snapshot. The lemmas of the symbols exist 
but only contain the declaration, no information whatsoever from the XML. Not 
even the short description of the unit on the main contents page.


Don mostly clicked through because of the TColor description.


Well, I can't reproduce it.

The relevant texts are there when I generate the HTML documentation with the 
latest trunk version of fpdoc.

Most likely the fpdoc version on idefix used to generate the daily docs needs 
to be updated.

Michael.
___
fpc-devel maillist  -  fpc-devel@lists.freepascal.org
https://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-devel


Re: [fpc-devel] fpdoc path + system.uitypes problems.

2023-12-26 Thread Marco van de Voort via fpc-devel



Op 26/12/2023 om 19:53 schreef Michael Van Canneyt via fpc-devel:


Can you explain what the exact problem is with system.uitypes other than
that the description file was not included in the build project xml ?

I built the docs with it and it is as complete as can be expected. All 
works as it is supposed to work, links and all.


See the link I posted to the daily snapshot. The lemmas of the symbols 
exist but only contain the declaration, no information whatsoever from 
the XML. Not even the short description of the unit on the main contents 
page.


Don mostly clicked through because of the TColor description.

___
fpc-devel maillist  -  fpc-devel@lists.freepascal.org
https://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-devel


Re: [fpc-devel] fpdoc path + system.uitypes problems.

2023-12-26 Thread Michael Van Canneyt via fpc-devel



On Tue, 26 Dec 2023, Marco van de Voort via fpc-devel wrote:



Op 26/12/2023 om 18:20 schreef Michael Van Canneyt via fpc-devel:


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


This is the road to take. It's similar to what the compiler does, 
after all.
Not the easiest, not the safest, if at any time during the fpdoc run, 
the complete list of units is available.


The complete list is always available.


If you say so.   It is still ambiguous though, even if most common cases 
can disambiguated.   (a.b.c.d  is either symbol d in unit b.c  or field 
d in structure type c in unit b), which is why I didn't favor it.


Can you explain what the exact problem is with system.uitypes other than
that the description file was not included in the build project xml ?

I built the docs with it and it is as complete as can be expected. 
All works as it is supposed to work, links and all.


I removed it again from the build project (commented out the relevant
entries), since the xml file is horribly incomplete, and we only 
include completed units in the docs.


Michael.___
fpc-devel maillist  -  fpc-devel@lists.freepascal.org
https://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-devel


Re: [fpc-devel] fpdoc path + system.uitypes problems.

2023-12-26 Thread Marco van de Voort via fpc-devel


Op 26/12/2023 om 18:20 schreef Michael Van Canneyt via fpc-devel:


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


This is the road to take. It's similar to what the compiler does, 
after all.
Not the easiest, not the safest, if at any time during the fpdoc run, 
the complete list of units is available.


The complete list is always available.


If you say so.   It is still ambiguous though, even if most common cases 
can disambiguated.   (a.b.c.d  is either symbol d in unit b.c  or field 
d in structure type c in unit b), which is why I didn't favor it.


___
fpc-devel maillist  -  fpc-devel@lists.freepascal.org
https://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-devel


Re: [fpc-devel] fpdoc path + system.uitypes problems.

2023-12-26 Thread Michael Van Canneyt via fpc-devel



On Tue, 26 Dec 2023, Marco van de Voort via fpc-devel wrote:



Op 26/12/2023 om 10:29 schreef Michael Van Canneyt via fpc-devel:




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


This is the road to take. It's similar to what the compiler does, 
after all.
Not the easiest, not the safest, if at any time during the fpdoc run, 
the complete list of units is available.


The complete list is always available.

Michael.___
fpc-devel maillist  -  fpc-devel@lists.freepascal.org
https://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-devel


Re: [fpc-devel] fpdoc path + system.uitypes problems.

2023-12-26 Thread Marco van de Voort via fpc-devel


Op 26/12/2023 om 10:29 schreef Michael Van Canneyt via fpc-devel:




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


This is the road to take. It's similar to what the compiler does, 
after all.
Not the easiest, not the safest, if at any time during the fpdoc run, 
the complete list of units is available.




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


The # notation is already taken to indicate a fully qualified name.

At the start yes, I remembed that when I looked in the sources 
yesterday, but another escapes character can be used, it doesn't 
invalidate the principle.
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.


and everything referring to it since any cross-reference would also 
need to be changed.


True, but how many references are there already to dotted units? Not yet 
that much. It looked me the easiest short term doable one.



___
fpc-devel maillist  -  fpc-devel@lists.freepascal.org
https://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-devel


Re: [fpc-devel] fpdoc path + system.uitypes problems.

2023-12-26 Thread Michael Van Canneyt via fpc-devel



On Mon, 25 Dec 2023, Marco van de Voort via fpc-devel wrote:



(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.


This obviously needs to be extended. dotted unit names didn't exist when
fpdoc was made.



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


This is the road to take. It's similar to what the compiler does, after all.



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


The # notation is already taken to indicate a fully qualified name.

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.


and everything referring to it since any cross-reference would also need to be 
changed.

I will have a look this week, I have holidays so I have some time.

Michael.___
fpc-devel maillist  -  fpc-devel@lists.freepascal.org
https://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-devel