On 2013-08-07 18:40-0700 Jerry wrote: > I've only glanced at these e-mails but want to make a quick response anyway.
> I would be stunned if the GNAT version difference was causing this because of being more careful about types. Ada has always been rigorous about types. > I noted the API change at the time but assumed that this had been discussed. Were no other languages affected? Do all the other PLplot languages automatically convert types so that this did not appear as an API change? > To answer to "if there is a simple fix" I need to know what we want to present to the user as an API. Do we want to break backward compatibility? If we want to keep backward compatibility then indeed a new function is in order. It could be an overloaded function, however, so that the same function name works depending on if the argument is Integer or Long_Float; however, it would need to call a different C routine. As I said, I haven't yet dug into this today so some of my comments may have obvious answers. More later. Hi Jerry: To remind you of the background, the "Replace plwid everywhere by plwidth" commit (revision 12288 that Orion referred to) was an extremely broad change that created and used floating-point line widths (for a changed function name (plwidth rather than plwid) rather than the integer linewidths we had before with plwid that severely limited line-width possibilities that were available for certain of our devices. This widespread change was discussed on list at the time and does consist of a backwards-incompatible API change as noted at README.release. As a result of that discussion, plwid was moved to src/pldeprecated.c which is completely ignored unless users specifically ask for it using the -DPL_DEPRECATED=ON option. With regard to your last question, I think it would make the change a little bit easier for your users if you provided an overloaded version of the line width function that had integer arguments, but we haven't done that for any other language (C++, Python, etc.) that has overloading. My own feeling on this is that the integer line widths are going to become more and more restrictive compared to what can actually be done with floating line widths these days with modern graphics libraries such as pango/cairo and Qt4. Therefore, "tough love" may be the better approach for you to take with Ada users so you break them of the habit of using integer line widths. But that is up to you and the alternative of giving them a soft landing with overloading is a reasonable choice as well in my opinion. Although your decision to give Ada users "tough love" or "soft landing" is an important issue, it is a side issue compared to the issue of possible Ada breakage which I want to turn to now. My widespread change mostly gave good test results, but there were some exceptions such as Ada which broke. However, as far as I know Andrew cleared up that Ada breakage (commit 12337, "Update Ada bindings to change line width arguments from Integer to Long_Float in pllegend and plshade.") Among other things, that fixed bindings/ada/plplot.adb so that the incorrect integer type was changed to the correct floating type for the new plwidth-related function. After revision 12337 all worked well here with gnatgcc-4.6.3-14, but now Orion apparently has found an additional issue with his (much) later gnatgcc version. @Orion: just to confirm that, could you double-check you are testing the latest revision of PLplot trunk that includes Andrew's revision 12337 fixes for my widespread revision 12288 change? @Jerry: what gnatgcc version do you have access to and what happens when you test latest PLplot trunk? 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 __________________________ ------------------------------------------------------------------------------ Get 100% visibility into Java/.NET code with AppDynamics Lite! It's a free troubleshooting tool designed for production. Get down to code-level detail for bottlenecks, with <2% overhead. Download for free and get started troubleshooting in minutes. http://pubads.g.doubleclick.net/gampad/clk?id=48897031&iu=/4140/ostg.clktrk _______________________________________________ Plplot-devel mailing list Plplot-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/plplot-devel