T.R | Title | User | Personal Name | Date | Lines |
---|
135.1 | | POMPY::LESLIE | [email protected] as of Feb 14 | Tue Feb 04 1997 02:53 | 6 |
| 1) Dunno about official, but it's been this way for a very long time.
I'm not sure dcl differentiates between CTRL_C and CTRL_Y at all.
2) He can't that I know of.
You may wish to try the EPS::COMMAND_PROCEDURES and NOTED::HACKERS
conferences for workarounds etc.
|
135.2 | See HELP SET CONTROL | GREGOR::OPP | | Tue Feb 04 1997 08:00 | 5 |
| Refer also to HELP SET CONTROL. You may be able to develop
a 'hack' that works for your specific application.
Greg
|
135.3 | QAR The Docs | XDELTA::HOFFMAN | Steve, OpenVMS Engineering | Tue Feb 04 1997 09:28 | 17 |
|
:1. Is this an officially correct function which ON CONTROL_Y command has ?
Yes, this is expected and long-standing behaviour of DCL. Log a
QAR against the DCL dictionary and the user's manual, as both do
not clearly document this behaviour. (One has to read through
the fine print in the terminal driver section -- if no <CTRL/C>
AST is enabled, the terminal driver converts a <CTRL/C> to a
<CTRL/Y> -- in the I/O user's manual to learn of this behaviour.)
:2. How can he control CTRL/Y or CTRL/C separately in a command procedure ?
DCL processes both interrupts -- <CTRL/Y> and <CTRL/C> -- the same,
it establishes no <CTRL/C> handler. Images can choose to behave
differently, and can establish -- via calls to the terminal driver
and a call to the run-time libraru LIB$ENABLE_CTRL routine.
|
135.4 | | AUSS::GARSON | DECcharity Program Office | Tue Feb 04 1997 17:11 | 21 |
| re .*
Note also that the terminal driver echoes CTRL/C in a context specific
way. That is, if no CTRL/C handler is enabled, CTRL/C is echoed as a
CTRL/Y (Interrupt) and processed as one. If a CTRL/C handler is
enabled, CTRL/C is echoed as Cancel. (Try for example pressing CTRL/C
while TYPEing a longish file.)
DCL is blameless and it is not surprising that DCL documentation
doesn't cover this.
I can't see any easy way of achieving separate CTRL/C processing in a
DCL command procedure and DCL would not want to have an unconditionally
enabled CTRL/C handler itself since that would break lots of applications
that have their own handler.
You may have to change the "user interface" to take account of this
behaviour of the terminal driver e.g. have CTRL/Y handling ask
indirectly whether Y or C was required, or e.g. require two CTRL/Y
presses in reasonably quick succession to get the CTRL/C behaviour (but
that won't work too well if logged in via SET HOST).
|
135.5 | | TKTV20::HASHIMOTO | | Wed Feb 05 1997 19:55 | 1 |
| Thank you for your many precious information. They help me a lot.
|