Here are my ToDo lists for some remaining things I want to do with the
Fortran binding that just landed and also some further general PLplot
issues I want to address before the release. None of these topics are
release critical, but they are all in the "would be nice" category.

I assume most of these issues are "only" going to take from just a few
hours to a few days each to address, but there sure are a lot of them!
Anyhow, I would like to get through all the Fortran ones and most of
the others before even starting to plan when the forthcoming release
of 5.12.0 should occur (with the "12" in honor of the major change in
the Fortran binding and examples).

____________________________________________________

Fortran binding:

* Tidy/beautify our Fortran code which is currently in an identation
mess.  I am currently researching a GPL'd tool called f90ppr to do
this.  It's a dead project (no development for more than a decade),
but a lot of people swear by it, and I could easily revive it again by
storing its Fortran 90 (!) source code plus a CMake-based build system I
plan to implement myself as a subproject under the epa_build umbrella.

* Replace all use of plflt by test_flt in the examples and set this
type for arbitrary precision testing purposes in plplot.f90.  We still
provide plflt for backwards compatibility for users, but it is
strongly deprecated so I want it removed from our examples.  However,
an arbitrary kind values called test_flt should be of little interest
to users because of its name, and it is extremely useful for
developmental testing of our examples to force the case where the
example floating-point precision disagrees with PLFLT configured for
our C library.

* Redo sed script to generate included_plplot_parameters.f90

* Systematically update testing of all dimensions when
there are multiple associated arrays in the argument list
following what is done in bindings/swig-support/plplotcapi.i.
Ultimately, there should be a complete list of functions in README.release where
the API has been changed because of this.  (Note, this topic was
recently discussed on list, and the consensus is this is the correct
way to test dimension consistency.)

* Add plcont, plshade, and plshades real Fortran callback API (as
opposed to the xg, and yg 1D and 2D arguments we have always used
before to simulate Fortran callback functionality.  (We will
continue to support those variants for backwards compatibility.)

* Test the routines that have callback arguments with every variant of the 
callbacks
(to make sure there are no typographical errors in our interface for the 
callbacks).

____________________________________________________

Other PLplot issues I have noticed and would like to fix
"soon".

* search for trailing whitespace and fix it.  Arjen's editor caught a
lot of those during our collaboration on the new Fortran binding
private topic branch, but I am sure there are more that need to be
addressed.  After the issue is fixed, I vaguely recall there is a git
configuration item that can automatically keep our source code clean
of such issues.  But just running a trailing-whitespace-cleanup script
periodicially might be a better solution.

* c_plparseopts API change (that function messes with its arguments
a lot by design so that const attribute should be removed.)

* All returned values from functions changed from type of int
to PLINT. This affects c_plparseopts and plsetopt amongst others?

* test_diff_psc generates two runs of the examples to generate
the results.  Fix that build-system bug which I very
likely introduced myself.

* test blank in source, build, and install directory names.

* Documentation problems I am currently aware of that need addressing.

i. All changes above, e.g., plparsopts, plsetopt changes

ii. plerrx, plerry, plurals

iii. plimage zmin, zmax 0, 0 (this is from handwritten notes, and I
am not sure what the issue is there).

iv. Add plpat documentation

v. plmapstring is not tested in any example.

vi. Callback documentation should be done consistently with named
arguments and discussion of each of those arguments. I need to check
what has already been done for plfill, pltr0, pltr1, and pltr2
callbacks and fix those if required, but this improvement definitely
is required for the documentation of the label_func callback
(currently documented without last argument within the plslabelfunc
documentation), the coordinate_transform callback (currently
documented within the plstransform documentation), and the mapform
callback (repeatedly documented without naming arguments for each of
the plmap* routines as well as the plmeridians routine).

* -dev svg should be used by default for all tests rather than -dev
psc since the former is a full-fledged modern device driver that does
essentially everything correctly so it tests our C and bindings API's
to the limit while the latter often just produces incorrect results
(e.g., anything having to do with unicode text, alpha-transparent,
gradients, or text size) from our examples so our PostScript
difference testing merely assures us that the garbage produced is the
same for C and our language bindings.

* Lena replaced by Westie as discussed on list.

----------------------------------------------------------------

Post-release

* The rare fill issues that occur.  This may be promoted to the above
"would be nice" category if Phil can come up with even a complicated
example I can test here.

* Use arbitrary units (mm, pt, and pixels) for -dev svg just to explore what
is possible (I have an svg private topic branch for this, but it has
been a while since I worked on it).

* Remove "c_" prefix.  I just realized the current "c_" prefix manipulations are
essential for the old_f95 binding and examples.  So I don't have to
worry about this change until we finally get rid of the old_f95
approach (probably at least several releases from now depending on the
reception our new Fortran binding gets from our users.)

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
__________________________

------------------------------------------------------------------------------
Site24x7 APM Insight: Get Deep Visibility into Application Performance
APM + Mobile APM + RUM: Monitor 3 App instances at just $35/Month
Monitor end-to-end web transactions and take corrective actions now
Troubleshoot faster and improve end-user experience. Signup Now!
http://pubads.g.doubleclick.net/gampad/clk?id=267308311&iu=/4140
_______________________________________________
Plplot-devel mailing list
Plplot-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/plplot-devel

Reply via email to