{
{    The purpose of this request is to allow execution of the specified
{  program as a task with less privilege (target ring) than the requestor.
{  This request differs from PMP$EXECUTE in that the target ring influences
{  the task's execution ring(s) rather than the requestor's ring, and the
{  task's current command file (i.e. $COMMAND) can be specified.
{
{        PMP$EXECUTE_WITH_COMMAND_FILE (TARGET_RING, PROGRAM_DESCRIPTION,
{          PARAMETERS, COMMAND_FILE, WAIT, TASK_ID, TASK_STATUS, STATUS)
{
{  TARGET_RING: (input) This parameter influences the ring(s) in which the
{        task will execute (target_ring must be >= requestor's ring).
{
{  PROGRAM_DESCRIPTION: (input) This parameter specifies the description
{        of the program to be executed.
{
{  PARAMETERS: (input) This parameter specifies the parameters to be passed
{        to the task.
{
{ COMMAND_FILE: (input)  This parameter specifies a file which becomes the
{       current command file (i.e.  $COMMAND) within the new task.  This
{       parameter is only meaningful if the command being executed is a
{       command utility, or for some other reason references the current
{       command file.  A null or blank string can be used to specify the
{       absence of a command file.
{
{  WAIT: (input) This parameter specifies whether the requesting task
{        is to await completion of the executed task or is to execute
{        asynchronously with the executed task.
{
{  CL_TASK: (input) This parameter specifies whether the task is the
{        result of the execution of a Command Language TASK/TASKEND command.
{
{  TASK_ID: (output) This parameter specifies the system supplied
{        identification of the executed task.  This identification can be
{        used in subsequent requests.
{
{  TASK_STATUS: (output) This parameter specifies the status of the
{        executed task.  For synchronously executed tasks, it is returned
{        after the request has been processed.  For asynchronously
{        executed tasks, it is set to incomplete after the request has been
{        processed and set to complete when the asynchronously executed task
{        terminates.  This implies that the lifetime of the task status
{        variable must be the duration of the asynchronously executed
{        task.
{
{  STATUS: (output) This parameter specifies the request status.
{       CONDITIONS: pme$prog_description_too_small, pme$invalid_list_length,
{                   pme$invalid_file_name, pme$invalid_term_error_level,
{                   pme$invalid_preset_option, pme$invalid_stack_size_option,
{                   pme$map_option_conflict, pme$target_ring_error.
{       IDENTIFIER: 'PM'
{
