On 2014-01-27 23:07+0800 Hailiang Wang wrote:

> Hi Alan,
>
> It is easy to add a return code so I have done it. Now it just returns
> -1 when there is at least one mismatch.

Hi Hǎiliàng:

Thanks for that fix.  However, you still need to push it according
to https://github.com/hailiang/go-plplot/

I request one further fix.  Currently,  your code appears to
uniformly gives false positives on function pointer arguments,
e.g.,

para 9 of func plcont type mismatch [ void (*) (PLFLT, PLFLT, PLFLT *, PLFLT *, 
PLPointer) ] vs. [ * ]
para 11 of func plimagefr type mismatch [ void (*) (PLFLT, PLFLT, PLFLT *, 
PLFLT *, PLPointer) ] vs. [ * ]
para 0 of func plmap type mismatch [ void (*) (PLINT, PLFLT *, PLFLT *) ] vs. [ 
* ]
para 0 of func plmeridians type mismatch [ void (*) (PLINT, PLFLT *, PLFLT *) ] 
vs. [ * ]

I think you mentioned this issue previously.

I assume slightly improved parsing of the function pointer arguments
in plplot.h (currently just producing the incomplete "[ * ]" result)
will solve this issue.

> Out of curiosity, how will you integrate a Go program into the
> building process? Just assume the check program is under $PATH or more
> sophisticated rule?

Essentially the latter.  My understanding is that in the Go world
generic names are fine since the full pathname is implied to sort out
any name clashes. But outside that world, nameclashes are a problem so
I was concerned about the generic "check" name for the application.  I
solved that by using a symlink.  So I build check and set up the
symlink outside the whole PLplot build process, then CMake only has to
be able to find that symlink name (api.xml_consistency_checker) on the
PATH.  See the logic right after ADD_SPECIAL_CONSISTENCY_CHECKING is
mentioned in doc/docbook/src/CMakeLists.txt for the rest of the
details about configuring a custom target (check_api_xml_consistency)
to be run (e.g., by the command

make check_api_xml_consistency

) any time the user desires to check for inconsistencies.

I have done a lot of editing of api.xml (and used the above target
repeatedly) to reduce the list of api.xml inconsistencies (including
the function pointer ones above) from ~140 down to 81 after half a
day's work on it yesterday.  So with luck I should be able to create
an almost clean report with a further day's worth of editing (and an
actual clean report if you are able to respond on the function
argument issue mentioned above).

To the others here: the large number of api.xml inconsistencies I have
been able to fix thanks to Hǎiliàng's check programme illustrates how
badly out of synch our api.xml documentation had become compared to
our actual API.  However, I anticipate many and perhaps all of these
documentation issues are going to be fixed for the 5.10.0 release
which is still planned for just 5 (!) days from now.

Alan
__________________________
Alan W. Irwin

Astronomical research affiliation with Department of Physics and Astronomy,
University of Victoria (astrowww.phys.uvic.ca).

Programming affiliations with the FreeEOS equation-of-state
implementation for stellar interiors (freeeos.sf.net); the Time
Ephemerides project (timeephem.sf.net); PLplot scientific plotting
software package (plplot.sf.net); the libLASi project
(unifont.org/lasi); the Loads of Linux Links project (loll.sf.net);
and the Linux Brochure Project (lbproject.sf.net).
__________________________

Linux-powered Science
__________________________

------------------------------------------------------------------------------
CenturyLink Cloud: The Leader in Enterprise Cloud Services.
Learn Why More Businesses Are Choosing CenturyLink Cloud For
Critical Workloads, Development Environments & Everything In Between.
Get a Quote or Start a Free Trial Today. 
http://pubads.g.doubleclick.net/gampad/clk?id=119420431&iu=/4140/ostg.clktrk
_______________________________________________
Plplot-devel mailing list
Plplot-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/plplot-devel

Reply via email to