|
From: Ethan M. <merritt@u.washington.edu> - 2005-07-13 22:07:35
|
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.
On terminals that actually need use routines (amiga svga pm vgagl),
has mulitplot never worked in scripts or via load commands?
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.
Is there any reason we should not correct this oversight, and
call suspend/resume regardless of whether the interactive flag
is set?
If that would for some reason make one of these old drivers unhappy,
we could add a new terminal flag TERMINAL_ALWAYS_MULTIPLOTS
to indicate that multiplot mode is possible in both interactive
and non-interactive mode.
Alternatively, the terminal drivers themselves could make the
decision whether to ignore suspend() if not in interactive mode.
The caller would not have to guess the drivers preference.
Or more radically, can we remove suspend() and resume() altogether?
The small number of terminals that use them could be modified to
instead implement the same new API call I blocked out for epslatex.
I previously used the name term->sync(), but it could as well be
term->private() or term->miscellaneous or term->layer() or whatever.
--
Ethan A Merritt merritt@u.washington.edu
Biomolecular Structure Center
Mailstop 357742
University of Washington, Seattle, WA 98195
|