|
From: Alan W. I. <ir...@be...> - 2017-08-29 20:28:17
|
I am planning to do a substantial amount of backwards-incompatible changes to remove cruft in our git master branch version of PLplot which will be the basis for our next release (currently planned for early 2018). So unless I hear strong arguments to the contrary because some of you are still dependent on this cruft, I am planning to go ahead with these changes in the next couple of days. That is, speak now or forever hold your peace. :-) Here is what is planned.... 1. Remove PL_NC_GENERIC_POINTER and PL_NC_GENERIC_POINTER (both typedefed to void *). These typedefs were introduced in plplot-5.12.0 as preparation for a plan I ultimately decided was not a good idea. Therefore, these two typedefs were deprecated in favor of the long-available PlPointer (also typedefed to void *) as of plplot-5.13.0. Because PL_NC_GENERIC_POINTER and PL_NC_GENERIC_POINTER have been available such a short amount of time, I don't think a long deprecation period is required which is why I plan to remove them in the next release. But I am willing to deprecate them longer if some of you are currently using them extensively. 2. Officially deprecate plshade1. i.e., it will only be accessible if the user specifies the -DPL_DEPRECATED=ON option for the next release, and it will likely be removed one or two more releases down the road. The reason for this deprecation is anything plshade1 can do can also be done by plshade (which is identical to plshade1 except for the more general type of its first matrix argument). This change should only concern those still using plshade1 rather than the plshade alternative. 3. Remove plrgb, plrgb1, plhls, and plwid which have been officially deprecated for a long time. This change should only concern those who are using the -DPL_DEPRECATED=ON cmake option (the only current way it is possible to gain access to these officially deprecated functions). 4. Remove the deprecated old fortran binding which was superseded by the new fortran binding as of plplot-5.12.0 (released in January this year). The new fortran binding was implemented using the powerful capabilities of the Fortran 2003 iso_c_binding module (as opposed to an interface written in C that was used to implement the old Fortran binding). The new binding is much more consistent and standards-compliant than the old binding, and also has some powerful new features (both single and double precisions Fortran floating-point arguments are accepted). Therefore, the new binding is necessarily backwards incompatible with the old binding. This change to remove the old fortran binding should only be of concern to those of you who who are using -DPL_DEPRECATED_f95=ON for plplot-5.12.0 or the equivalent -DPL_DEPRECATED_fortran=ON for plplot-5.13.0 (these cmake options are the only way to gain access to this old fortran binding for those two releases). 5. Remove the deprecated old tcl binding which was superseded by the new "redacted" tcl binding as of plplot-5.12.0 (released in January this year). This was a major backward-incompatible change that replaced e.g., $w cmd plline $nsize x y with $w cmd plline x y where the redundant $nsize (because both the x and y arrays carry that information) argument is dropped (redacted) just like in the rest of our bindings (except currently for c++ which will likely also be changed to redacted form in the future). This change to remove the old tcl binding should only concern those who are using the -DUSE_NON_REDACTED_TCL_TK=ON cmake option (the only way to gain access to this old "non-redacted" Tcl binding). So let me know if any of these changes affect you adversely, and we will take it from there. 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 __________________________ |