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

Reply via email to