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