$Q[UIT] indicates whether the current block of code was called as an extrinsic function or as a subroutine.
If $Q[UIT] contains 1 (when the current process-stack frame is invoked by an extrinsic function), the QUIT would therefore require an argument.
Note | |
---|---|
When a process is initiated, but before any commands are processed, the value of $Q[UIT] is zero (0). |
This special variable is mainly used in error-trapping conditions. Its value tells whether the current DO level was reached by means of a subroutine call (DO xxx) or by a function call (SET variable=$$xxx).
A typical way of exiting from an error trap is:
QUIT:$QUIT "" QUIT
Note | |
---|---|
GT.M does not permit $QUIT to be SET or NEWed. |