Hi Andrew: Here are the swig-generated octave bindings diff results as of revision 11431:
octave Missing examples : 19 33 Differing postscript output : 04 18 26 Missing stdout : Differing stdout : That is, I now obtain the same diff diagnostic results with the new swig-generated octave bindings as I do with the original matwrapped ones. Despite my fundamental lack of octave knowledge, I was able to achieve this success quite rapidly because swig allowed me to borrow (somewhat blindly) from the previous matwrap work by Joao Cardoso, Rafael Laboissiere, and you in an efficient manner. Could you take a look at what I have done with swig? In particular, I felt my copying of some of the wrappers (especially the laborious transformation of matrix results) used in matwrap was not really taking full advantage of swig capabilities. Also from some of the machinations done in plplot_octave.i it is clear there are some unnecessary differences between the PLplot octave and C API's which I have continued to preserve so as not to introduce octave PLplot API breakage (except in not vectorizing some of the scalar PLplot functions for the reasons explained in plplot_octave.i). At this point you might wish to declare a PLplot octave bindings API break and change plplot_octave.i to reduce or eliminate those gratuitous differences, but I leave that judgement call to you. There are still some issues to work out with this new set of bindings for octave, and I hope you will be able to help with those. 1. You cannot use the gcc option -fvisibility=hidden on Linux. No such issue occurs for our Python, Java, and Lua bindings so I may have forgotten something obvious that is done for those other bindings or there may be some bug in swig octave support that needs to be addressed by the swig developers. 2. The octave help command does not work for PLplot functions. The way this is implemented for the matwrapped approach is the help files generated by the make_documentation target are integrated into plplot_stub.m by the "massage" programme by wrapping each raw octave bindings call with a documented version. So massage.c has to be changed to do this same integration for the swig-generated octave bindings as well. Despite these issues, my feeling is that we should use the swig-generated bindings from here on out. The advantages are that addition of new API usually comes automatically and simultaneously for Python, Java, Lua, and now Octave, through a single simple change to bindings/swig-support/plplotcapi.i, and the maintenance of the swig-generated bindings for octave should be straightforward. Therefore, I have enabled (revision 11432) the swig-generated bindings by default which means that to obtain the old matwrapped bindings you must now specify -DENABLE_swig_octave=OFF. The only other octave plans I have at the moment are to get rid of the propagation issues that affect examples 04, 18, 26, and 33 using the swig-generated bindings approach. That should leave Example 19 still unimplemented because I don't believe I have the octave skill to deal with it. As you indicated before there is at least some chance of dealing with it using swig-generated bindings (as opposed to the matwrapped bindings where there was little chance) so I hope you will take it on. 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); PLplot scientific plotting software package (plplot.org); 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 __________________________ ------------------------------------------------------------------------------ Learn how Oracle Real Application Clusters (RAC) One Node allows customers to consolidate database storage, standardize their database environment, and, should the need arise, upgrade to a full multi-node Oracle RAC database without downtime or disruption http://p.sf.net/sfu/oracle-sfdevnl _______________________________________________ Plplot-devel mailing list Plplot-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/plplot-devel