On 2008-03-03 09:25+0100 Werner Smekal wrote: > Hi Jonathan, > > thanks again for your comments and for the patches. As usual I already > worked on a fix and in fact made nearly the identical changes to the > code as you suggested (commited to svn just now). About the merging > the options - this we should discuss here on the list. I conclude now > everything and ask the list for comments:
I am not sure whether you changed the processing of general options or not, but I confirm those still work as expected for a single stream. For example, if you have the sequence plsetopt("geometry", "500x200"); plsetopt("bg", "ffff00"); (void) plparseopts(&argc, argv, PL_PARSE_FULL); plinit(); in your C code, then the specified geometry and bg options are the defaults and can be overridden from the command-line. If the order is (void) plparseopts(&argc, argv, PL_PARSE_FULL); plsetopt("geometry", "500x200"); plsetopt("bg", "ffff00"); plinit(); then geometry and bg specified on the command line are ignored, and those in the code are always honored (i.e., are hard-coded). IOW, if an option is specified more than once, the last version is used so if you want the command-line version to override the code version (the commonly desired result, I assume) then it is important to call plparseopts after all plsetopt commands. Using example 14, I also discovered that the general options work as expected for multiple streams, that is you can specify completely different geometries for the two streams (and presumably all other general options as well). However, that does not seem to be the case for independent driver options for the two streams (specified by, e.g., plsetopt("drvopt", "text=0" for the second stream for device ps);) for example 14. Depending on device (I tried, png, pngcairo, and ps), I get segfaults, drvopt ignored, different results for different pages of the example, and indeed in one case (the ps device driver) it actually does seem to work. At this point I don't know whether these issues are due to specific driver implementation problems, drvopt problems for multiple streams, a combination of the two, or something else. Werner, assuming there are no problems in the device drivers do you think plsetopt("drvopt", "whatever driver option is appropriate for the given driver"); should work for multiple streams for your present plargs.c changes or is more work on plargs.c required for that case? 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 __________________________ ------------------------------------------------------------------------- This SF.net email is sponsored by: Microsoft Defy all challenges. Microsoft(R) Visual Studio 2008. http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/ _______________________________________________ Plplot-devel mailing list Plplot-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/plplot-devel