Re: [Lazarus] Duplicate items in xml doc files

2019-12-19 Thread Don Siders via lazarus
Okay, Back to the original topic.

The duplicates in graphics.xml are almost certainly because they are
overloaded methods. Whether that is correct in the context of the tool
used to update the file, I do not know,

I am submitting a patch for other files with duplicate topics.This
does not include graphics.xml; I was hoping the new content could be
resolved by the author,

--
Don
-- 
___
lazarus mailing list
lazarus@lists.lazarus-ide.org
https://lists.lazarus-ide.org/listinfo/lazarus


Re: [Lazarus] Duplicate items in xml doc files

2019-12-19 Thread Don Siders via lazarus
> makeskel does support update, the Makefile of fpc docs has even a target for
> it ?
> It only does additions, though.
> I suppose that deletions should also be easily added.
>
> Michael.

My initial efforts to use it were in the Lazarus 1.8.x time frame. and
it would not run without exception then. So I sought an alternate
mechanism.
I'd be glad to give it another try to see how it works out.

==
Don
-- 
___
lazarus mailing list
lazarus@lists.lazarus-ide.org
https://lists.lazarus-ide.org/listinfo/lazarus


Re: [Lazarus] Duplicate items in xml doc files

2019-12-19 Thread Werner Pamler via lazarus

Am 19.12.2019 um 20:48 schrieb Don Siders via lazarus:

That's a possibility. Mistakes happen. But in looking at the file
there are several duplicates. I don't think I would have been that
careless.


Just to make sure: It was never my intention to say that you did.



I edit manually too. It's neither difficult nor error prone. I get
exactly the FP Doc markup that I feel is appropriate.


Now we have a problem. FPDocEditor and LazDocEditor ARE distributed with 
Lazarus, and nobody is prevented from using them. So, when I modify one 
of your recent xml files using FPCDocEditor, there's a chance that 
FPDocEditor will destroy your markup and add numerous svn diffs again.




I am using the IDE to navigate source and determine ancestry. I use
Atom to edit the FP Doc XML description files (due to its support for
XML syntax and "XML-completion" facilities). I use Tidy to validate
the XML content. I use ASpell to catch spelling mistakes and
fat-fingered typing.


A long tool-chain. Only enthusiast like you will do that.

I really think that in particular FPDocEditor, maybe also LazDocEditor, 
is an important tool for the occasional user. But it should be re-worked 
to produce consistent and svn-friendly xml files.


--
___
lazarus mailing list
lazarus@lists.lazarus-ide.org
https://lists.lazarus-ide.org/listinfo/lazarus


Re: [Lazarus] Duplicate items in xml doc files

2019-12-19 Thread Michael Van Canneyt via lazarus



On Thu, 19 Dec 2019, Don Siders via lazarus wrote:


BTW: User Don Siders is doing an excellent job in continuously
submitting patches for the xml files. The help files have improved
considerably since then (I wonder how he is editing the xml files.)


Thanks for the compliment.

I am using the IDE to navigate source and determine ancestry. I use
Atom to edit the FP Doc XML description files (due to its support for
XML syntax and "XML-completion" facilities). I use Tidy to validate
the XML content. I use ASpell to catch spelling mistakes and
fat-fingered typing.
Since makeskel doesn't support update mode, I resolve additions and
removals using a tool I cobbled together using TPasSrcAnalysis and
TXMLDocument. Apparently a duplicate check needs to be added to it.


makeskel does support update, the Makefile of fpc docs has even a target for
it ?

It only does additions, though. 
I suppose that deletions should also be easily added.


Michael.
--
___
lazarus mailing list
lazarus@lists.lazarus-ide.org
https://lists.lazarus-ide.org/listinfo/lazarus


Re: [Lazarus] Duplicate items in xml doc files

2019-12-19 Thread Don Siders via lazarus
On Wed, Dec 18, 2019 at 10:24 AM  wrote:

> From: Werner Pamler 
> Subject: Re: [Lazarus] Duplicate items in xml doc files
> Message-ID: 

> But now I am quite confused because it does not necessarily
> consider all nodes in a file. As we see here, there are two
> TCanvas.PolyBezier nodes in the same file. The FPDocEditor uses only the
> first node and ignores the second one; and the mouse-over hint is
> constructed also from the first node only -- the (larger) work somebody
> else has put into the second one is forgotten.

> I wonder how it was
> possible that a second node could be added at all. Carelessness of the
> user manually editing the file?

That's a possibility. Mistakes happen. But in looking at the file
there are several duplicates. I don't think I would have been that
careless.

Here are the duplicates I've detected:

TCanvas.Arc
TCanvas.Arc.height
TCanvas.Arc.width
TCanvas.Arc.x
TCanvas.Arc.y
TCanvas.Chord
TCanvas.Chord.Height
TCanvas.Chord.Width
TCanvas.Chord.x
TCanvas.Chord.y
TCanvas.Ellipse
TCanvas.FillRect
TCanvas.Frame
TCanvas.FrameRect
TCanvas.PolyBezier
TCanvas.PolyBezier.Continuous
TCanvas.PolyBezier.Filled
TCanvas.PolyBezier.Points
TCanvas.Polygon
TCanvas.Polygon.NumPts
TCanvas.Polygon.Points
TCanvas.Polygon.Winding
TCanvas.Polyline
TCanvas.Polyline.NumPts
TCanvas.Polyline.Points
TCanvas.RadialPie
TCanvas.RadialPie.Height
TCanvas.RadialPie.Width
TCanvas.RadialPie.x
TCanvas.RadialPie.y
TCanvas.Rectangle
TCanvas.RoundRect
TCanvas.RoundRect.RX
TCanvas.RoundRect.RY
TCustomBitmap.CanReadGraphicStreams.AClass
TCustomBitmap.CanReadGraphicStreams.Result
TFont.Assign
TPortableNetworkGraphic

> I suppose that it is possible to merge the two nodes and remove the
> duplicates manually. Correct?

Sure. Just a matter of resolving conflicting content (if any).

> Another issue with the FPDocEditor is that it frequently writes back to
> the xml file although nothing has been changed. Unfortunately it formats
> the xml text in its own way which causes a lot of text changes and
> pollutes the svn history.

Yes. That's some of the the reasons I stopped using LazFPDocEditor and
FP DocEditor. The other being that those tools don't enforce stylistic
use of FPDoc markup. There no reason to ever see BR sand PRE tags in
an FP Doc XML file. Whether it was generated by FP Doc or manually.

> The attached TortoiseMerge screenshot shows
> the diffs induced by opening lclintf.inc in Lazarus with FPDocEditor and
> clicking on some LCLIntf-related keywords in the source files of
> winapi.inc and winapih.inc: a huge number of lines is changed due to
> replacement of empty expanded xml tags such as  by their
> short forms  (see the left gutter for an overview of all
> changes). This is an extreme case, normally I have seen only changes at
> a few places. I cannot tell what exactly causes the different behavior.

I can't see the attachment; it is scrubbed in the email digest. The
 could be because of my editing process. At a minimum,
a doc topic needs a short tag. I have a habit of putting them in when
I start editing a file.

> >> Can both tools, FPDoc Editor and LazDocEditor, be used to edit help
> >> information? Or is it recommended to do this manually (which is
> >> extremely error-prone)?

> > For FPC, I only edit manually. I don't see why this would be error
> > prone ?

I edit manually too. It's neither difficult nor error prone. I get
exactly the FP Doc markup that I feel is appropriate.

> Typos! Once I tried to build the html help files myself and it failed
> because somebody had forgotten the slash in the end tag of some element.
> I can imagine dozens of such errors. And there is no feedback, only when
> someone at some time in the future builds the help files again and is
> annoyed by the crash due to somebody else's mistakes. Therefore, an
> easy-to use editing tool is essential if we want the (poor) help files
> of Lazarus to be improved.

Immediate feedback on tagging and structure issues is available using
Tidy. Works for me.

In general, I think the editors are great if you're uncomfortable with
XML markup.I'm all for them when they work properly. When they become
a hindrance, I avoid them. In my case, they were more of a nuisance
than an aid.

> BTW: User Don Siders is doing an excellent job in continuously
> submitting patches for the xml files. The help files have improved
> considerably since then (I wonder how he is editing the xml files.)

Thanks for the compliment.

I am using the IDE to navigate source and determine ancestry. I use
Atom to edit the FP Doc XML description files (due to its support for
XML syntax and "XML-completion" facilities). I use Tidy to validate
the XML content. I use ASpell to catch spelling mistakes and
fat-fingered typing.
Since makeskel doesn't support update mode, I resolve

Re: [Lazarus] Duplicate items in xml doc files

2019-12-18 Thread Werner Pamler via lazarus

Am 18.12.2019 um 13:11 schrieb Marco van de Voort via lazarus:
A lemma in the help that is just "polybezier", and not 
TCanvas.polybezier. I assume it is a global procedure


The lemma has Source position: winapih.inc line 211


I looked at TCanvas.PolyBezier (the help text is in graphics.xml). The 
help text for the lemma that you mention is in interfacebase.xml and is 
structured correctly (in my opinion) because is does not contain 
duplicate xml nodes, and the non-canvas PolyBezier does display the 
description in the mouse-over hint.


(But your note reminds me to adapt the docs change that I made in 
graphics.xml for issue https://bugs.freepascal.org/view.php?id=36452 
also in interfacebase.xml.)


--
___
lazarus mailing list
lazarus@lists.lazarus-ide.org
https://lists.lazarus-ide.org/listinfo/lazarus


Re: [Lazarus] Duplicate items in xml doc files

2019-12-18 Thread Mattias Gaertner via lazarus
On Wed, 18 Dec 2019 16:21:33 +0100
Werner Pamler via lazarus  wrote:

>[...]
> Another issue with the FPDocEditor is that it frequently writes back
> to the xml file although nothing has been changed.

Sound like a regression. It contains code to check if something has
changed.

Mattias
-- 
___
lazarus mailing list
lazarus@lists.lazarus-ide.org
https://lists.lazarus-ide.org/listinfo/lazarus


Re: [Lazarus] Duplicate items in xml doc files

2019-12-18 Thread Werner Pamler via lazarus

Am 18.12.2019 um 16:36 schrieb Werner Pamler via lazarus:

Am 18.12.2019 um 16:29 schrieb Michael Van Canneyt via lazarus:
That's why the docs of fpc have the checkxml tool, which is used to 
quickly check

the XML structure after editing, before committing or building.

Thanks - I did not know that.
Where is this tool? I did a search through all fpc folders and did not 
find it.

--
___
lazarus mailing list
lazarus@lists.lazarus-ide.org
https://lists.lazarus-ide.org/listinfo/lazarus


Re: [Lazarus] Duplicate items in xml doc files

2019-12-18 Thread Werner Pamler via lazarus

Am 18.12.2019 um 16:29 schrieb Michael Van Canneyt via lazarus:
That's why the docs of fpc have the checkxml tool, which is used to 
quickly check

the XML structure after editing, before committing or building.

Thanks - I did not know that.

--
___
lazarus mailing list
lazarus@lists.lazarus-ide.org
https://lists.lazarus-ide.org/listinfo/lazarus


Re: [Lazarus] Duplicate items in xml doc files

2019-12-18 Thread Michael Van Canneyt via lazarus



On Wed, 18 Dec 2019, Werner Pamler via lazarus wrote:


For FPC, I only edit manually. I don't see why this would be error prone ?


Typos! Once I tried to build the html help files myself and it failed because 
somebody had forgotten the slash in the end tag of some element. I can 
imagine dozens of such errors. And there is no feedback, only when someone at 
some time in the future builds the help files again and is annoyed by the 
crash due to somebody else's mistakes.


That's why the docs of fpc have the checkxml tool, which is used to quickly 
check
the XML structure after editing, before committing or building.

Michael.
--
___
lazarus mailing list
lazarus@lists.lazarus-ide.org
https://lists.lazarus-ide.org/listinfo/lazarus


Re: [Lazarus] Duplicate items in xml doc files

2019-12-18 Thread Werner Pamler via lazarus

Disregarding LazFPDoc for the moment:

I do like the FPDoc Editor because once I understood its principle I 
could simply edit existing and create new help items. And moving the 
mouse over the corresponding keywords in the text gave an immediate 
feedback. But now I am quite confused because it does not necessarily 
consider all nodes in a file. As we see here, there are two 
TCanvas.PolyBezier nodes in the same file. The FPDocEditor uses only the 
first node and ignores the second one; and the mouse-over hint is 
constructed also from the first node only -- the (larger) work somebody 
else has put into the second one is forgotten. I wonder how it was 
possible that a second node could be added at all. Carelessness of the 
user manually editing the file?


I suppose that it is possible to merge the two nodes and remove the 
duplicates manually. Correct?


Another issue with the FPDocEditor is that it frequently writes back to 
the xml file although nothing has been changed. Unfortunately it formats 
the xml text in its own way which causes a lot of text changes and 
pollutes the svn history. The attached TortoiseMerge screenshot shows 
the diffs induced by opening lclintf.inc in Lazarus with FPDocEditor and 
clicking on some LCLIntf-related keywords in the source files of 
winapi.inc and winapih.inc: a huge number of lines is changed due to 
replacement of empty expanded xml tags such as  by their 
short forms  (see the left gutter for an overview of all 
changes). This is an extreme case, normally I have seen only changes at 
a few places. I cannot tell what exactly causes the different behavior.



Can both tools, FPDoc Editor and LazDocEditor, be used to edit help 
information? Or is it recommended to do this manually (which is 
extremely error-prone)?


For FPC, I only edit manually. I don't see why this would be error 
prone ?


Typos! Once I tried to build the html help files myself and it failed 
because somebody had forgotten the slash in the end tag of some element. 
I can imagine dozens of such errors. And there is no feedback, only when 
someone at some time in the future builds the help files again and is 
annoyed by the crash due to somebody else's mistakes. Therefore, an 
easy-to use editing tool is essential if we want the (poor) help files 
of Lazarus to be improved.


BTW: User Don Siders is doing an excellent job in continuously 
submitting patches for the xml files. The help files have improved 
considerably since then (I wonder how he is editing the xml files.)


-- 
___
lazarus mailing list
lazarus@lists.lazarus-ide.org
https://lists.lazarus-ide.org/listinfo/lazarus


Re: [Lazarus] Duplicate items in xml doc files

2019-12-18 Thread Marco van de Voort via lazarus


Op 2019-12-18 om 12:55 schreef Werner Pamler via lazarus:
 You are sure you really have TCanvas.polybezier in the editor, and 
not the polybezier global? (at least I see a polybezier global in the 
last CHM snapshot)



No, I am not sure. I even don't know what "polybezier global" is...


A lemma in the help that is just "polybezier", and not 
TCanvas.polybezier. I assume it is a global procedure


The lemma has Source position: winapih.inc line 211



--
___
lazarus mailing list
lazarus@lists.lazarus-ide.org
https://lists.lazarus-ide.org/listinfo/lazarus


Re: [Lazarus] Duplicate items in xml doc files

2019-12-18 Thread Werner Pamler via lazarus

Am 18.12.2019 um 11:05 schrieb Marco van de Voort via lazarus:


Op 2019-12-17 om 22:52 schreef Werner Pamler via lazarus:


Fixing a docs-related issue today 
(https://bugs.freepascal.org/view.php?id=36452), I noticed that the 
entry for TCanvas.PolyBezier almost does not have any elements when 
the item is displayed in the *FPDoc editor* of Lazarus, i.e. I do 
"View" > "FPDoc Editor" and place the cursor in the normal source 
code window on the PolyBezier identifier - then the FPDoc editor 
displays only the "short" text, all other tabs are empty. On the 
other hand, the full chm file contains a lot more information 
(https://lazarus-ccr.sourceforge.io/docs/lcl/graphics/tcanvas.polybezier.html), 
among it the description node which is the topic of that bug report.


How is this possible?

You are sure you really have TCanvas.polybezier in the editor, and not 
the polybezier global? (at least I see a polybezier global in the last 
CHM snapshot)



No, I am not sure. I even don't know what "polybezier global" is...
--
___
lazarus mailing list
lazarus@lists.lazarus-ide.org
https://lists.lazarus-ide.org/listinfo/lazarus


Re: [Lazarus] Duplicate items in xml doc files

2019-12-17 Thread Michael Van Canneyt via lazarus



On Tue, 17 Dec 2019, Werner Pamler via lazarus wrote:

Fixing a docs-related issue today 
(https://bugs.freepascal.org/view.php?id=36452), I noticed that the entry for 
TCanvas.PolyBezier almost does not have any elements when the item is 
displayed in the *FPDoc editor* of Lazarus, i.e. I do "View" > "FPDoc Editor" 
and place the cursor in the normal source code window on the PolyBezier 
identifier - then the FPDoc editor displays only the "short" text, all other 
tabs are empty. On the other hand, the full chm file contains a lot more 
information 
(https://lazarus-ccr.sourceforge.io/docs/lcl/graphics/tcanvas.polybezier.html), 
among it the description node which is the topic of that bug report.


How is this possible?


It's XML, not a database with a unique index on element name.
There is nothing to stop you from adding an entry twice, but such a feature
could easily be added to the editors...

On the other hand, opening the file graphics.xml in the *LazDocEditor *and 
finding the TCanvas node shows two PolyBezier nodes. The first one contains 
the text from the chm file, the second one has subnodes for the parameters of 
the function - there is no text assigned to them, but some of them are listed 
twice.


There are other help items which show the same phenomenon: Chord, Polygon, 
PolyLine, RadialPie, where Polygon even has three entries!


Is this correct? If yes it is at least very confusing and makes the 
LazDocEditor possibly a dangerous tool because the xml file might be damaged 
when text is added to the wrong node.


Why would that damage the XML ?

Can both tools, FPDoc Editor and LazDocEditor, be used to edit help 
information? Or is it recommended to do this manually (which is extremely 
error-prone)?


For FPC, I only edit manually. I don't see why this would be error prone ?

And why are there so many empty lines? If they were added by either 
FPDocEditor or LazDocEditor (and not by the author manually) then these tools 
do not look very mature.


The empty lines are irrelevant.

Probably related: the source code mouse-over hint of PolyBezier shows only 
the "short" text, not the full "description".


That will depend on the XML node that is chosen to display the help.

Michael.
--
___
lazarus mailing list
lazarus@lists.lazarus-ide.org
https://lists.lazarus-ide.org/listinfo/lazarus


[Lazarus] Duplicate items in xml doc files

2019-12-17 Thread Werner Pamler via lazarus
Fixing a docs-related issue today 
(https://bugs.freepascal.org/view.php?id=36452), I noticed that the 
entry for TCanvas.PolyBezier almost does not have any elements when the 
item is displayed in the *FPDoc editor* of Lazarus, i.e. I do "View" > 
"FPDoc Editor" and place the cursor in the normal source code window on 
the PolyBezier identifier - then the FPDoc editor displays only the 
"short" text, all other tabs are empty. On the other hand, the full chm 
file contains a lot more information 
(https://lazarus-ccr.sourceforge.io/docs/lcl/graphics/tcanvas.polybezier.html), 
among it the description node which is the topic of that bug report.


How is this possible?

On the other hand, opening the file graphics.xml in the *LazDocEditor 
*and finding the TCanvas node shows two PolyBezier nodes. The first one 
contains the text from the chm file, the second one has subnodes for the 
parameters of the function - there is no text assigned to them, but some 
of them are listed twice.


There are other help items which show the same phenomenon: Chord, 
Polygon, PolyLine, RadialPie, where Polygon even has three entries!


Is this correct? If yes it is at least very confusing and makes the 
LazDocEditor possibly a dangerous tool because the xml file might be 
damaged when text is added to the wrong node.


Can both tools, FPDoc Editor and LazDocEditor, be used to edit help 
information? Or is it recommended to do this manually (which is 
extremely error-prone)?


And why are there so many empty lines? If they were added by either 
FPDocEditor or LazDocEditor (and not by the author manually) then these 
tools do not look very mature.


Probably related: the source code mouse-over hint of PolyBezier shows 
only the "short" text, not the full "description".


Werner

-- 
___
lazarus mailing list
lazarus@lists.lazarus-ide.org
https://lists.lazarus-ide.org/listinfo/lazarus