|
From: Dave D. <dde...@es...> - 2005-07-14 11:01:22
|
Ethan Merritt <merritt@u.washington.edu> writes:
> While I was trying to use the term->suspend() and term->resume()
> API to implement Harald Harders' treatment of front/back text labels
> in epslatex, I discovered that it is pretty much useless.
>
> The suspend() and resume() functions are only called if you are
> in interactive mode. That makes them pretty much worthless,
> so far as I can see.
>
it was probably me that added them.
IIRC it was for things like linux vga mode, or kermit tektronix
mode, where there is one physical display, but separate logical
text and graphics displays (whose contents are maintained
independently). Switching to text mode does not clear the graphics,
just selects the text mode. This allows the user to type in the
next command without clearing the graphics that have been rendered so
far (which is required for multiplot mode).
> On terminals that actually need use routines (amiga svga pm vgagl),
> has mulitplot never worked in scripts or via load commands?
>
sure. Since it doesn't need to prompt the user for more input, it can
just stay in graphics mode and continue generating graphics.
definitely worked when I added that feature, but that would have been
a long time ago (3.6 era).
> Documentation in term/README is not very enlightening. It says
>
> TERM_CAN_MULTIPLOT - driver can do multiplot fully-interactively
> when output is not redirected.
>
> I had never imagined this was meant to imply that a terminal could
> *not* multiplot if the output *is* redirected.
>
No. My assumption was that if the output is redirected to a file, it
does not conflict with interactive mode.
eg postscript :
gnuplot> set term post
gnuplot> set multi
lots of output generated, followed by
showpage
Must set output to a file or put all multiplot commands on one input line
gnuplot>
because postscript cannot suspend the graphics when the output is
going to stdout.
But if I do
gnuplot> set multi ; plot sin(x) ; plot cos(x) ; unset multi
I get the whole (useless) graph on stdout, because there was no need
to collect more input during the generation of the output.
> Is there any reason we should not correct this oversight, and
> call suspend/resume regardless of whether the interactive flag
> is set?
Well, with linux vga, it would mean the monitor switching back and
forth to text mode, which ISTR was rather unpleasant.
dd
--
Dave Denholm <dde...@es...> http://www.esmertec.com
|