On 2015-02-13 00:04-0500 Jim Dishaw wrote: > The attached patch is a roll-up of all the changes that I have made: > > - Moved the memory allocation routines from pdf_utils to plmem.c (new file) > - Bug fixes to plbuf.c > - Reading/Writing plot metafiles > - Test routine for plbuf.c > > The plbuf.c changes should be production ready. I'm still trying to figure > out why there is an extraneous color change at the beginning on a replot, but > it does not affect the appearance. > > The plot metafiles is still is a work in progress, but I wanted to make it > available for testing. There are two new command line options, -mfo and > -mfi. The -mfi option will read in a plot metafile and almost correctly > displays the output. I have not finished the output method.
Thanks very much for your efforts. I have found some minor issues that need fixing before I can test this patch series and commit it to master. test_plbuf doesn't build because of visibility issues. Here is the error message I get using the gcc option -fvisibility=hidden (which makes all library functions in Linux hidden unless specified otherwise so it is very similar to the Windows situation). Linking C executable test_plbuf CMakeFiles/test_plbuf.dir/test_plbuf.c.o: In function main': test_plbuf.c:(.text.startup+0x32): undefined reference to plreadmetafile' To fix this visibility issue (this will also fix all visibility issues on Windows) you must declare plreadmetafile in some PLplot header using the PLDLLIMPEXP macro. (Currently you don't declare plreadmetafile anywhere so I assume ANSI C is making some guesses about what that declaration is.) Your header choices depend on whether you feel this API is worth having for each of our language bindings or only just for C. In the former case you should declare the function in include/plplot.h but otherwise you should declare it in include/plplotP.h. When you fix this (as well as any other visibility issues you might have for new functions like plreadmetafile that you have introduced), then I suggest you should rebase your topic branch before sending the series of patches. In the present case git am errored out the first time I tried it because your patch series was not based on the current tip of the master branch (i.e., your patch series included - Moved the memory allocation routines from pdf_utils to plmem.c and the subsequent quick-fix patch for that patch where those two patches have already landed on the master branch. The other issue I noticed is the current test_plbuf source code exits almost immediately after reading in a metafile and playing the buffer. Did you mean that to be the complete test from now on? If so we need some metafile to read in so the test can be run, and you should also remove all the large amount of code after the exit. I look forward to your updated patch series with the above issues fixed. I also hope you achieve quick turnaround because Phil's series of patches should arrive shortly which are based on top of yours. @Phil: Whenever I get your wxwidgets patch series tomorrow, I will just apply them on top of Jim's patch series (or on top of a new topic branch based on the latest master if I have have had a chance to test Jim's revised patch series and commit it to master). So if you have any of Jim's patches in your series I will just skip them using the "git am -i option". @everybody: I just double-checked and there are style changes that need to be made for the following list of files: software@raven> scripts/style_source.sh src/plargs.c src/plbuf.c src/plmem.c src/plmetafile.c src/plsdef.c src/plstdio.c include/metadefs.h include/plplot.h include/plplotP.h include/plstrm.h drivers/plmeta.c examples/c/test_plbuf.c bindings/tcl/plplot_parameters.h bindings/tcl/tclAPI.c bindings/f95/sc3d.c bindings/f95/scstubs.c bindings/d/plplot.d examples/d/x08d.d examples/d/x19d.d Of course, this is an extremly intrusive change so I will hold off doing this until everything lands on master to avoid conflicts with all the work that is currently being developed in topic branches by both Jim and Phil. 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 __________________________ ------------------------------------------------------------------------------ Dive into the World of Parallel Programming. The Go Parallel Website, sponsored by Intel and developed in partnership with Slashdot Media, is your hub for all things parallel software development, from weekly thought leadership blogs to news, videos, case studies, tutorials and more. Take a look and join the conversation now. http://goparallel.sourceforge.net/ _______________________________________________ Plplot-devel mailing list Plplot-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/plplot-devel