{
{   The purpose of the CLP$INCLUDE_FILE request is to interpret text contained
{ in a specified file.  This request allows SCL statements contained in a
{ specified file to be processed in the same context as the issuer of the
{ request; i.e.  parameter substitution, variables and condition selections are
{ the same.
{
{   This request can be used on its own or in conjunction with the
{ clp$begin_utility request to initiate processing of the commands for a
{ utility.  When used with a utility, the file to be interpreted should
{ typically be specified as clc$current_command_input which is equivalent to
{ the SCL function $COMMAND.  Its use will result in the utility's commands
{ being read from the file that invoked the utility.
{
{   The text in the file may not contain incomplete statements, e.g.  if a
{ WHILE statement is in the file, the corresponding WHILEND must also be in the
{ file.
{
{   The attributes of the included file must conform to the following
{ constraints.
{
{   1.  The file_contents attribute must be either LEGIBLE_SCL_INCLUDE,
{       LEGIBLE_DATA or UNKNOWN.
{
{   2.  The record_type attribute may not be undefined (U).
{
{   3.  The access_mode attribute must contain at least the read and/or execute
{       modes.
{
{   4.  The request must be issued from a ring that is less than or equal to
{       the R2 component of the ring_attributes of the file.  If the
{       access_mode attribute does not include read (i.e.  the file is
{       "execute-only", the request is also constrained to be issued from a
{       ring greater than or equal to the R1 component of the ring attributes
{       of the file.
{
{   5.  A user defined file access procedure (fap) may be associated with the
{       file provided that read is in the access_mode attribute.
{
{   If the file to be included is associated with an interactive (terminal)
{ device, and the include is associated with a utility that has established an
{ "interactive include processor", that processor is called prior to
{ interpreting any commands from the file.  (This call may result in the
{ utility "going into screen mode" and therein doing its own "reading" of
{ commands.)
{
{   When control is returned from the "interactive include processor", further
{ processing is determined as follows:
{
{   1.  If the returned status is abnormal, this request terminates with that
{       status.
{
{   2.  If the utility's termination command has been executed, this request
{       terminates with normal status.
{
{   3.  Otherwise, processing of commands from the interactive file takes place
{       as if there had been no "interactive include processor".
{
{
{       CLP$INCLUDE_FILE (FILE, PROMPT, UTILITY, STATUS)
{
{ FILE: (input)  This parameter specifies the file to be included.
{
{ PROMPT: (input)  This parameter specifies a prompt string to be used if the
{       file is assigned to an interactive terminal.  If the request is used in
{       conjunction with a command utility, this parameter is ignored and the
{       utility's prompt attribute is used.
{
{ UTILITY: (input)  This parameter specifies the name of the utility with which
{       the clp$include_file is to be associated.  Osc$null_name may be
{       specified to avoid association with any utility.
{
{ STATUS: (output) This parameter specifies the request status.
{       CONDITIONS: any
{
