{ Set default symbol values:                             }
{                                                        }
{        HOME = Username if not yet defined              }
{        TERM = value of TERMINAL if not yet defined     }
{             = vi200 if TERMINAL is undefined           }

%include "Inc:Fs.imp"
%include "Inc:FSUtil.imp"
%include "Inc:Dict.imp"

%begin
   %string(255) Home, Terminal

   { Ripped off from CLI }
   %routine do trans(%string(255) symbol, default, %string(255) %name to)

     { translate Symbol into To. If the symbol doesnt exist use Default }

     %integer i
     i = refname(symbol,comdict)
     %if i <= 0 %start
       to = default
     %else
       i = integer(i)
       transname(i,to)
       to = default %if length(to) = 0
     %finish
   %end

   %routine toupper(%string (*) %name s)
     %byte %name b == charno(s,1)
     %byte l = length(s)

     %while l # 0 %cycle
       b = b - 'a' + 'A' %if 'a' <= b <= 'z'
       b == b [1]
       l = l -1
     %repeat
   %end
  
   %routine tolower(%string (*) %name s)
     %byte %name b == charno(s,1)
     %byte l = length(s)

     %while l # 0 %cycle
       b = b - 'A' + 'a' %if 'A' <= b <= 'Z'
       b == b [1]
       l = l -1
     %repeat
   %end

   %routine define symbol(%string(255)symbol,value)
   %string (255) fred
   %integer stag,vtag
     toupper(symbol)
     stag = defname(symbol,comdict,8)
     %if stag=0 %start
       printstring("*Command dict full"); newline; %return
     %finish
     vtag = defname(value,fildict,8)
     %if vtag=0 %start
       printstring("*File dict full"); newline; %return
     %finish
     %if stag<0 %start
       stag = stag<<1>>1
     %finish
     integer(stag) = vtag<<1>>1
   %end


   do trans("HOME", "", Home)
   Home = Current User %if Home = ""
   %if Home = "" %start
      Open Input(1, ":T")
      Select Input(1)
      Prompt("What is your home directory ? ")
      Read(Home)
      Select Input(0)
   %finish
   toupper(Home)
   define symbol("HOME", Home)
   define symbol("USER", Home)
   do trans("TERM", "", Terminal)
   %stop %if Terminal <> ""
   do trans("TERMINAL", "vi200", Terminal)
   tolower(Terminal)
   Terminal = "vi200" %if Terminal = "visual200"
   Terminal = "v55" %if Terminal = "visual55"
   define symbol("TERM", Terminal)
%endofprogram
