: --------------------------------------------------------------------
: USER [[-]PROMPT] 
: -PROMPT nondynamical prompt
: PROMPT dynamical prompt
: HU initial Version 
: WE background subtask ('&' is the last character of a comand)
: WE prompt by parameter (with or without pathlist)
: 
: --------------------------------------------------------------------


DYNAM=1;                                         : DYNAMIC PROMPT
PROM='';                                         : START PROMPT
IF TEST $# = 1
THEN
  IF TEST $1 = '-?'
  THEN
    ECHO 'Usage:'
    ECHO 'USER [[-]PROMPT]'
    ECHO '-PROMPT nondynamical prompt'
    ECHO 'PROMPT  dynamical prompt'
    EXIT(0);
  ELSE
    IF TEST SEG[1,1]($1) ='-'
    THEN                                           : NON DYNAMIC
      DYNAM=0;   
      PROM=SEG[2,]($1);                            
    ELSE
      DYNAM=1;                                     : DYNAMIC
      PROM=$1;
    FI;
  FI;
ELSE
  1='';
FI;
PS1=$PROM;
CHOUT=${2-/NIL};

WHILE TRUE;
DO
  IF TEST $DYNAM=1                               : IF DYNAMIC
  THEN
      PS1=$PROM$WORKDIR'> ';
  FI;
  ECHO -N $PS1;
  READ COMAND;
  SET $COMAND ;
  IF TEST $1='EXIT'
  THEN 
    EXIT(0);                                     : TERMINATE SCRIPT
  FI;
  IF TEST $EOF = 1
  THEN 
    RETURN $CHOUT;   
    EXIT(0);                                     : TERMINATE SCRIPT
  FI;
  IF TEST SEG[LEN($COMAND),LEN($COMAND)]($COMAND)=&
  THEN                                           : BACKGROUNG COMAND
    COMAND= SEG[,EXPR LEN($COMAND)-1]($COMAND);  : WITHOUT WAIT
    IF EXEC $COMAND;                                
      THEN TRUE;
    FI;
  ELSE                                           : FOREGROUND
    IF WAIT;EXEC $COMAND;                        : WITH WAIT
      THEN TRUE;
    FI;
  FI;
DONE;
 















