

            














                                SSSoooffftttwwwaaarrreee TTToooooolllsss SSSuuubbbsssyyysssttteeemmm

                        VVVeeerrrsssiiiooonnn 777...111 tttooo VVVeeerrrsssiiiooonnn 888 CCCooonnnvvveeerrrsssiiiooonnn GGGuuuiiidddeee












                                  Terrell L. Countryman
                                    Jeanette T. Myers
                                      Peter N. Wan












                       School of Information and Computer Science
                             Georgia Institute of Technology
                                 Atlanta, Georgia  30332


                                       April, 1982










            




            Version 8 Conversion Guide                                       


                                      IIInnntttrrroooddduuuccctttiiiooonnn


                 Version 8  of  the  Software  Tools  Subsystem  differs from
            Version 7.1 in a number of ways, most of which  will  not  impact
            the  average  user.  Most changes are extensions or internal per-
            formance improvements, and affect one or two commands rather than
            the entire Subsystem.  This  conversion  guide  is  divided  into
            three  sections:   GGGlllooobbbaaalll CCChhhaaannngggeeesss  discusses the alterations that
            affect large portions of the user interface;  SSStttaaatttuuusss ooofff VVV777...111 CCCooommm-
            mmmaaannndddsss    and   SSStttaaatttuuusss ooofff VVV777...111 SSSuuubbbrrrooouuutttiiinnneeesss   describe   additions,
            deletions, and modifications  made  to  individual  commands  and
            subroutines.



                                     GGGlllooobbbaaalll CCChhhaaannngggeeesss


            TTTeeerrrmmmiiinnnaaalll TTTyyypppeee HHHaaannndddllliiinnnggg

                 Various  programs  and  library  routines  now  support  the
            tailoring  of  output  for  specific  terminals.   This  entailed
            changes in the library, the macro definitions file, the Subsystem
            common blocks, 'swt', 'se', 'term', and 'term_type'.  You will be
            affected  by  these  changes  if you have added terminal types to
            'se' or if you have used the preliminary version of  the  Virtual
            Terminal Handler (VTH) library on the Version 7.1 release.  Since
            a  prompt  for  terminal type may now occur upon Subsystem entry,
            you may have to add terminal types  to  the  "=ttypes="  file  or
            educate your users about terminal types.

                 If  you  want  to  extend the terminal type knowledge of the
            Subsystem, you  must  add  new  terminal  types  and  information
            concerning  them to the file "=ttypes=", add a new initialization
            file in the directory "=vth=" for each  new  terminal  type,  and
            modify  and  recompile  'se'  with  new  code  to  handle the new
            terminal.


            TTTeeemmmppplllaaattteeesss

                 Templates are no longer mapped to a single case.  Unless you
            have some single-case terminals or regularly  program  in  upper-
            case only, this change is unlikely to affect you.

                 If  a  template  must contain imbedded equals signs, use two
            consecutive equals signs to pass one through the template  expan-
            der;  in  an  earlier  version  of  the  template  processor, the
            "at sign" was used to "escape" the equals sign.


            SSSpppeeeeeeddd

                 Version 8 of the Subsystem uses considerably less  CPU  time
            for I/O than Version 7.1.  Unfortunately, if you are moving up to


                                          - 1 -                              




            Version 8 Conversion Guide                                       


            Revision 18  of  Primos,  you  may  not  notice  much difference;
            Revision 18 can be that much slower than Revision 17.


            MMMeeemmmooorrryyy SSSeeegggmmmeeennntttsss

                 Prime has now used all available  private  memory  segments.
            At  Version 8  of  the  Subsystem,  it  has  become  necessary to
            increase the NUSEG parameter in the Primos configuration file  to
            at  least  42  (octal),  to provide private segments for the Sub-
            system that do not conflict with standard Prime  programs.   This
            implies  that  programs using secret knowledge of the Subsystem's
            common blocks must be relinked.  It also implies that you  cannot
            bring up Version 8 without rebooting your system.

                 Listed below are the segments required for the Subsystem:

                                                _V_e_r_s_i_o_n _8      _V_e_r_s_i_o_n _7._1
                 
                 SWT Shell and template area      2030             2030
                 SWT Screen Editor                2031             2031
                 SWT Library                      2035             2035
                 SWT Common                       4040             4036
                 SWT Stack                        4041             4035



            PPPrrroooccceeessssss IIIdddsss tttooo TTThhhrrreeeeee DDDiiigggiiitttsss

                 To  accomodate  the  increase  in the number of processes in
            Primos 18, process ids will be three digits instead of two.   The
            "=termlist="  file  has  changed slightly in format to accomodate
            the increased id lengths and AMLC numbers.


            CCCllldddaaatttaaa TTTeeemmmppplllaaattteee

                 The location of "cldata", a Primos command interpreter  data
            structure  referenced  by the Subsystem shell, is now a template.
            The Version 8 release has "cldata" defined to  be  segment  6002,
            word  6,  which  applies to you if you are running Primos 18.3 or
            above.  If you are running Primos 18.2 or lower, there is a  com-
            mented  template in the "Configuration Options" section of "=tem-
            plate=" that you need to use.


            EEExxxccceeeppptttiiiooonnn HHHaaannndddllliiinnnggg

                 The new version of the shell now  allows  you  to  intercept
            exceptional  conditions, such as pointer faults, arithmetic value
            errors, interrupts, etc.  Quits (via control-p or "break")  abort
            the  current  program  and  return to command level in the shell,
            rather than leaving the you stranded in Primos, as was  the  case
            in  previous versions of the shell.  If you have a shell variable
            named "_quit_action" (the value is not important), then when  the
            quit occurs, the shell will prompt you as to whether to abort the


                                          - 2 -                              




            Version 8 Conversion Guide                                       


            current  program, continue, or call Primos.  If Primos is called,
            the current program may be continued by typing START, or the Sub-
            system may be re-entered by typing REN.


            DDDBBBGGG SSSuuuppppppooorrrttt

                 There is now some support for invoking the symbolic debugger
            from the Subsystem.  Please see the  Reference  Manual  entry  on
            'dbg' for more information.


            NNNeeewww SSShhheeellllll CCCooonnntttrrrooolll VVVaaarrriiiaaabbbllleeesss

                 The  variable  "_kill_resp" can be used to set the character
            string that will be printed on your screen whenever  you  type  a
            "kill"  (the default is the string "\\"); "_prt_form" can be used
            to specify your usual printing form (the default is  to  use  the
            default  installation  printer  form); "_prt_dest" can be used to
            specify your favorite line printer (the default  is  to  use  the
            default installation printer); and, "_quit_action" can be used to
            take advantage of the new quit handling capabilities of the shell
            (by   default,   this  variable  is  not  declared  and  you  are
            automatically returned to the command level of the shell, with no
            choice of error handling for quits).

                 Note that when a variable is set using either  'declare'  or
            'set',  the  value  does  not take effect until you exit the Sub-
            system and re-enter.


            DDDeeellleeettteeeddd MMMaaacccrrrooo DDDeeefffiiinnniiitttiiiooonnn

                 One macro definition has  been  removed  from  the  standard
            macros file.  ESCCHAR is no longer defined; use ESCAPE instead.


            CCChhhaaannngggeee iiinnn VVVaaallluuueee ooofff EEEOOOSSS

                 After  Version 8  of the Subsystem, the value of the end-of-
            string character (EOS) will be changed.   The  current  value  of
            EOS, as defined in the Subsystem definition file, is -2.  It will
            be  changed  to  the value 0 to maintain consistency with the way
            the C  library  handles  the  end-of-string.   If  you  have  any
            programs  which  depend  on  the  value of EOS being of a certain
            magnitude (i.e., being negative), you should recode them to avoid
            depending on that  assumption.   This  change  will  require  the
            recompilation of all local Subsystem programs.


            NNNeeewww RRReeefffeeerrreeennnccceee MMMaaannnuuuaaalll SSSeeeccctttiiiooonnnsss

                 Two new sections have been created to contain low level com-
            mands  (Section  5)  and  low level subroutines (Section 6).  You
            should not invoke these commands and routines under  normal  cir-
            cumstances;  they  are usually support routines for user-callable


                                          - 3 -                              




            Version 8 Conversion Guide                                       


            Subsystem commands and routines.

                 The following commands were moved from sections 1 and  3  to
            section 5:

                      bbbmmmeeerrrgggeee          bbbnnnaaammmeeesss           bbbsss
                      bbbsss111             bbbuuugggfffmmm            bbbuuugggnnn
                      ggguuueeessssss           mmmkkkccclll


                 The  following  routines were moved from sections 2 and 4 to
            section 6:

                      aaattt$$$             bbbpppooonnnuuu$$$           ccc$$$eeennnddd
                      ccc$$$iiinnncccrrr          ccc$$$iiinnniiittt           cccaaallllll$$$$$$
                      ccchhhuuunnnkkk$$$          cccooofff$$$             cccpppfffiiilll$$$
                      cccpppssseeeggg$$$          dddgggeeetttlll$$$           dddmmmaaarrrkkk$$$
                      dddmmmpppcccmmm$$$          dddmmmpppfffddd$$$           dddooopppeeennn$$$
                      dddpppuuutttlll$$$          dddrrreeeaaaddd$$$           dddsssdddbbbiiiuuu
                      dddssseeeeeekkk$$$          dddwwwrrriiittt$$$           fffiiinnndddfff$$$
                      fffiiinnnfffooo$$$          fffiiirrrsssttt$$$           fffllluuussshhh$$$
                      gggcccdddiiirrr$$$          gggccciiifffuuu$$$           gggeeetttfffddd$$$
                      gggfffnnnaaammm$$$          iiicccooommmnnn$$$           iiioooffflll$$$
                      iiioooiiinnniiittt          llldddssseeeggg$$$           llldddtttmmmppp$$$
                      lllooopppeeennn$$$          llluuuttteeemmmppp           mmmkkkdddiiirrr$$$
                      mmmkkkfffddd$$$           mmmkkkpppaaa$$$            mmmkkktttrrr$$$
                      rrreeeooonnnuuu$$$          rrrmmmfffiiilll$$$           rrrmmmssseeeggg$$$
                      rrrtttnnn$$$$$$           sssppprrrooottt$$$           sssttt$$$llluuu
                      ttt$$$cccllluuuppp          ttt$$$eeennntttrrr           ttt$$$eeexxxiiittt
                      ttt$$$tttiiimmmeee          ttt$$$tttrrraaaccc           tttcccooooookkk$$$
                      tttgggeeetttlll$$$          tttmmmaaarrrkkk$$$           tttpppuuutttlll$$$
                      tttrrreeeaaaddd$$$          tttssscccaaannn$$$           tttssseeeeeekkk$$$
                      ttttttyyyppp$$$fff          ttttttyyyppp$$$lll           ttttttyyyppp$$$qqq
                      ttttttyyyppp$$$rrr          ttttttyyyppp$$$vvv           tttwwwrrriiittt$$$
                      uuupppkkkfffnnn$$$          vvvttt$$$aaalllccc           vvvttt$$$ccclllrrr
                      vvvttt$$$dddbbb           vvvttt$$$dddbbb111           vvvttt$$$dddbbb222
                      vvvttt$$$dddbbb333          vvvttt$$$dddeeefff           vvvttt$$$dddeeelll
                      vvvttt$$$dddssswww          vvvttt$$$eeerrrrrr           vvvttt$$$gggeeettt
                      vvvttt$$$gggsssqqq          vvvttt$$$iiidddfff           vvvttt$$$iiieeerrr
                      vvvttt$$$nnndddfff          vvvttt$$$ooouuuttt           vvvttt$$$pppooosss
                      vvvttt$$$pppuuuttt          vvvttt$$$rrrdddfff           zzzmmmeeemmm$$$



            NNNeeewww SSSuuubbbsssyyysssttteeemmm LLLiiibbbrrraaarrriiieeesss

                 VVVttthhhllliiibbb has been totally rewritten, and is now  supported  as
            part  of  the Subsystem.  It is much faster than the earlier ver-
            sion, and  offers  more  features.   In  general,  the  rewritten
            routines  are not compatible with those of the earlier release of
            VTH.  Programs which used the earlier version of VTH will have to
            have the VTH calls recoded to use the new routine names (and  new
            calling formats).





                                          - 4 -                              




            Version 8 Conversion Guide                                       


            NNNeeewww SSSuuubbbsssyyysssttteeemmm TTTeeemmmppplllaaattteeesss

                 The  templates "=newcmdnc0=" and "=newsystem=" specify where
            newly compiled  Subsystem  files  that  belong  in  "cmdnc0"  and
            "system" are placed during a recompilation of the Subsystem.  The
            "=ttypes="  file  contains  a list of terminals supported by your
            Subsystem and their characteristics.   The  "=cldata="  template,
            mentioned  above, indicates where the Primos "cldata" data struc-
            ture is located.  The "=sysname=" template is  used  to  indicate
            the Primenet node name, if the system is a network system.

                 Obsolete  templates  have  been  removed  from the Version 8
            release template file.



                             SSStttaaatttuuusss ooofff VVVeeerrrsssiiiooonnn 777...111 CCCooommmmmmaaannndddsss


                 This section summarizes the user-visible changes  that  have
            been  made  to  Subsystem  commands for Version 8.  It is divided
            into several subsections:   obsolete  commands,  superseded  com-
            mands,  modified  commands, enhanced commands, and unchanged com-
            mands.  The final subsection is a summary of  commands  that  are
            new for the Version 8 release.


            OOObbbsssooollleeettteee CCCooommmmmmaaannndddsss

                 The commands in this subsection were part of the Version 7.1
            Subsystem,  but  are not included in the Version 8 release.  Most
            of them were used only by certain shell programs  and  have  out-
            lived their usefulness.  In other cases, the commands were relics
            of  past  Subsystems,  and  either  were  no longer useful, or no
            longer worked.

                      NNNooo cccooommmmmmaaannndddsss aaarrreee ooobbbsssooollleeettteeeddd aaattt VVVeeerrrsssiiiooonnn 888...


            SSSuuupppeeerrrssseeedddeeeddd CCCooommmmmmaaannndddsss

                 The commands in this subsection are not  part  of  the  Ver-
            sion 8  Subsystem; their functionality has been subsumed by other
            commands.  Each entry describes the command and options  you  can
            use to get the same results.

                 aaarrr
                      Has  been  completely  rewritten.   The old 'ar' is now
                      'old_ar'.  All existing archives  should  be  processed
                      with  'old_ar',  and  then reprocessed with 'ar', since
                      support  of  'old_ar'  will  be  dropped  in  a  future
                      release.

                 ddduuummmppplllsss
                      Use  the  new command 'dump' instead.  The command line
                      would be "dump ls".


                                          - 5 -                              




            Version 8 Conversion Guide                                       


                 ddduuummmpppsssvvv
                      Use the new command 'dump' instead.  The  command  line
                      would be "dump sv".


            MMMooodddiiifffiiieeeddd CCCooommmmmmaaannndddsss

                 The  commands  listed  in this subsection have been modified
            for the Version 8 release and are no longer completely compatible
            with their Version 7.1 counterparts.  Each entry  gives  a  brief
            description  of  the  changes, but before using any of these com-
            mands, please check the corresponding Reference Manual  entry  to
            be sure of the command's exact behavior.

                 dddppprrriiinnnttt
                      The  argument  syntax  has  been changed slightly.  The
                      length  option  is  now  "-l <length>",   rather   than
                      "-<length>".

                      'Dprint'  can  now  handle  the  generation of multiple
                      copies.

                 mmmooonnn
                      Accepts four commands while running; three are used  to
                      reformat  the screen and the fourth command redraws the
                      screen.

                      Now uses VTH to do output, so it will work on terminals
                      besides Beehives (any terminal supported by VTH).

                 pppggg
                      The  control-c  response  causes  'pg'  to  ignore  any
                      remaining  file  names that were command line arguments
                      and exit to the command interpreter.

                      Default prompt now shows the file  being  displayed  as
                      well as the page number.

                      The  "-s"  option  has  been  added;  it  allows you to
                      specify the screen size as an argument.  The old syntax
                      of "-<screen size>" was ambiguous if the  <screen size>
                      was  1, 2, or 3 (it was too close to the Subsystem con-
                      vention of referencing the standard input/output  ports
                      with a "-<port number>").

                 rrrtttiiimmmeee
                      By default, the output of the command being measured is
                      diverted  to  /dev/tty;  you  can  specify diversion to
                      /dev/null if no output is desire.









                                          - 6 -                              




            Version 8 Conversion Guide                                       


                 ssseee
                      Your terminal type can now be obtained by a call to the
                      Subsystem.  (This usually eliminates the need  to  know
                      terminal type mnemonics, or at least the need to retype
                      them  as long as the Subsystem knows your terminal type
                      --- if the Subsystem does not know your terminal  type,
                      it will prompt you for it when you invoke 'se').

                      Long  input lines are now scrolled horizontally, allow-
                      ing the cursor to remain visible at all times.

                      New options include "oh[<baud>]",  to  tell  'se'  your
                      baud  rate;  "olm[<column>]", to set the left margin of
                      text to be displayed in the window (permitting handling
                      of very wide files);  and,  "os[s | f | f77]",  to  set
                      several programming language related parameters at once
                      ("oss" for PMA, "osf" for FTN, "osf77" for F77).

                      Documented options include "ok", to indicate whether or
                      not  the  current edit buffer has been saved; and, "om"
                      to display a message (sent via 'to').

                      New commands include "e!", "w!"  and "q!"  which can be
                      used to enter, write or quit without having  'se'  tell
                      you  if  you  are about to destroy the contents of your
                      edit buffer or the contents of an existing file.  These
                      replace the old forms "ea",  "wa",  and  "qa",  respec-
                      tively.

                      New  terminal  types  supported by 'se' are the hz1510,
                      ts1, tvi, and z19.

                      'Se' now takes  advantage  of  terminal  hardware  line
                      insert/delete  functions (if they are available for the
                      given terminal) to  speed  up  processing  over  slower
                      transmission  lines  (i.e., dialups).  The "-h" command
                      line option and the "oh"  'se'  command  set/query  the
                      baud  rate  you  are  running at; 'se' decides how many
                      nulls to put out, and whether to use the hardware  line
                      insert/delete  functions or not, based on a combination
                      of the baud rate and terminal type.  If you want to add
                      terminal types to 'se' for locally available terminals,
                      the   file   "=src=/spc/se.u/how_to_add_terminal_types"
                      explains  how to do it (it also includes information on
                      where to add the code necessary to handle the  hardware
                      line  insert/delete  functions).   We  at  Georgia Tech
                      would be interested to know about  terminals  that  you
                      add  to  both  'se' and the VTH package, so that we can
                      include them in future releases of the Subsystem.









                                          - 7 -                              




            Version 8 Conversion Guide                                       


                 ssshhh
                      The shell now handles breaks  and  control-p.   If  you
                      declare  the  variable  "_quit_action",  you  receive a
                      prompt after a break and are allowed  to  continue  the
                      program,  terminate  the program and return to the Sub-
                      system, or terminate the program and drop out to Primos
                      (for debugging).  If "_quit_action"  is  not  declared,
                      interrupted  programs  simply  return  control  to  the
                      shell.

                 ttteeerrrmmm
                      Support for  the  Subsystem  terminal  type  management
                      routines has been added.

                      New  "-newline"  and  "-eof" options to specify newline
                      and  end-of-file  characters;  new  "-vth"  and   "-se"
                      options  to specify whether or not the terminal type is
                      supported by the Virtual  Terminal  Handler  (VTH)  and
                      'se'.

                      Removed "-tab" and "-enb".

                 ttteeerrrmmm___tttyyypppeee
                      Now   uses   the  Subsystem  terminal  type  management
                      facilities.  Options  have  been  added  to  query  the
                      values of particular terminal attributes, as well.

                 xxx
                      'X'  now calls the Primos command interpreter directly,
                      via the Primos routine CP$.   (This  reduces  execution
                      time  and  the  amount  of  garbage  displayed  on your
                      terminal.)

                      'X' can execute Primos commands interactively,  regain-
                      ing control when you generate an end-of-file.


            EEEnnnhhhaaannnccceeeddd CCCooommmmmmaaannndddsss

                 Commands  in this subsection have been functionally enhanced
            for the Version 8 release, but remain compatible with their  Ver-
            sion 7.1 counterparts.

                 ccchhhaaannngggeee
                      Accepts  a string as an argument that is to be searched
                      for a pattern.

                 dddeeeccclllaaarrreee
                      Will not modify a shell variable that has already  been
                      declared at the current level.

                 dddeeeccclllaaarrreeeddd
                      No   longer   decides   whether  a  shell  variable  is
                      "declared" if an illegal lexical level offset  is  sup-
                      plied.



                                          - 8 -                              




            Version 8 Conversion Guide                                       


                 dddeeefffiiinnneee
                      Finally does what the documentation says it will do.

                 dddiiiffffff
                      A  "-b"  option  has  been added to allow direct binary
                      comparison of files.  (Note  that  files  that  compare
                      "equal"  under  the  usual  text  comparison may not be
                      equal under the binary  comparison,  because  of  blank
                      compression.)

                 eee
                      Takes  'se'  options as arguments and uses new terminal
                      type handling.

                 fff777777ccc
                      New "-w" option to generate floating round instructions
                      which improves the accuracy of single precision  float-
                      ing point calculations.

                 fffccc
                      New "-w" option to generate floating round instructions
                      which  improves the accuracy of single precision float-
                      ing point calculations.

                 fffiiillleee
                      No longer returns "-1" when it could not perform a test
                      on a file; it returns a zero, which is in accordance to
                      the documentation.  An  error  message  is  written  to
                      ERROUT for this case.

                 fffmmmttt
                      New  ".eo" and ".oo" commands to specify different page
                      offsets for even- and odd-numbered pages.

                      Documented the ".dv"  (divert  stream)  command  which,
                      when  used  in  conjunction  with ".so", can produce an
                      automatic table of contents.

                 ggguuueeessssss
                      Requires an argument that is the  command  name  to  be
                      used and optionally accepts a "tolerence" level.

                 ggguuuiiidddeee
                      Version 8 Conversion Guide now available.

                 hhhddd
                      New  "-n" and "-u" options to display "normalized" (440
                      words/record) or "unnormalized" (1024 words per record)
                      record counts, respectively.

                 hhheeelllppp
                      Documented the "-u" option  to  print  usage  for  com-
                      mand(s).

                      'Help'  now  uses  'page' for paging so you can use all
                      the responses acceptable to 'page'.


                                          - 9 -                              




            Version 8 Conversion Guide                                       


                 lllddd
                      The templates "=cm_loc=" and "=tp_loc=" are checked  to
                      allow  overriding  the default segment numbers for Sub-
                      system common blocks and template storage areas.   This
                      is  useful  if you are modifying the Subsystem and must
                      run a production copy and a development  copy  side-by-
                      side.

                 lllfff
                      New "-q" option to print nonowner password.

                 mmmaaaiiilll
                      Mail  is  saved  in  the  file  defined by the template
                      "=mailfile=".      The     Subsystem     default     is
                      "=varsdir=/.mail".

                      Checks  for  valid addressee name(s) before reading the
                      letter to be sent.

                 mmmkkkcccllliiisssttt
                      New "-s" argument to create the system defined  command
                      list ("=ubin=" is ignored).

                 mmmoooooottt
                      An  "index"  command  has  been  added to summarize the
                      entries that have been made in the current conference.

                 mmmttt
                      'Mt' has been heavily modified to fix all known bugs.

                      New "-v" option to cause 'mt' to print  the  number  of
                      blocks read or written.

                 ppplllgggccc
                      New "-w" option to generate floating round instructions
                      which  improves the accuracy of single precision float-
                      ing point calculations.

                 ppprrriiinnnttt
                      New "-i" option to indent listing, "-j" option to cause
                      'print' to put a FORMFEED character at  the  end  of  a
                      page  instead  of  generating  the number a blank lines
                      required to get to the top of the next page, and a "-l"
                      option to indicate the number of lines per page.

                 pppuuubbbllliiissshhh
                      A warning is now issued if you  interrupt  a  'publish'
                      (interrupting  a  'publish'  has  possible harmful side
                      effects).

                 rrreeetttrrraaacccttt
                      A "-q" option has been added to allow retraction  of  a
                      news article without printing a retraction notice.





                                         - 10 -                              




            Version 8 Conversion Guide                                       


                 rrrppp
                      Declarations are now handled as a separate data stream.

                      You  can now put statements in your Ratfor program that
                      will not be touched by 'rp' and  you  can  indicate  if
                      those statements are to be routed to the "declaration",
                      "data", or "code" stream.

                      A  "-g"  option  has  been added to invoke an algorithm
                      that tries to  eliminate  chains  of  GOTO  statements.
                      (When  this  was  applied to the preprocessor itself, a
                      10% speedup resulted.)

                      New "-x" option and a  accompanying  translation  table
                      can   be   used   for  user  definable  character  code
                      translation.

                      A new "-y" option is available that causes 'rp' to  not
                      place  "call init"  and  "call swt"  statements  in the
                      Fortran code.

                      Several internal speed-up improvements have been made.

                      String tables now allow multiple slashes, causing  mar-
                      ginal  index  entries  to  be  duplicated.  The maximum
                      string table size has been increased.

                      The standard Ratfor macro definitions file now includes
                      "SET_OF_GRAPHICS" and "SET_OF_SPECIAL_CHAR" for use  in
                      "when" clauses in Ratfor.

                 ssseeemmmaaa
                      Now   handles   named   and  negative  (Primos  system)
                      semaphores.

                 ssstttaaacccccc
                      A "null token" construct (epsilon) has  been  added  to
                      cause a match without scanning any input.

                      A  "quick  select"  construct  has been added to permit
                      fast selection between a number of alternatives  begin-
                      ning with distinct terminal symbols.

                      General processing speed has been improved by eliminat-
                      ing the use of temporary files.

                      'Stacc'  can  now  generate  code  in the C programming
                      language, as well  as  Ratfor.   The  Reference  Manual
                      entry has been corrected so that it no longer indicates
                      that  SSPL,  Pascal,  and  PLP  are supported (they are
                      not).

                 tttaaaiiilll
                      Now correctly accepts a filename as an  argument,  even
                      if it is the only argument (before, 'tail' would try to
                      convert  the  lone  file  name  as  the number of lines


                                         - 11 -                              




            Version 8 Conversion Guide                                       


                      parameter, get an error in the conversion, and  end  up
                      reading  the  default  number  of  lines  from standard
                      input).

                 tttllliiittt
                      Running time has been improved drastically.

                      For compatibility with 'take', 'drop', and  other  com-
                      mand  line  utility  functions,  'tlit' can also accept
                      strings as arguments to be transliterated.

                 tttooo
                      The header line format has  been  changed,  to  provide
                      more information.

                 tttrrraaannnssslllaaannnggg
                      Added  the "nor" operator, which was inadvertently left
                      out of the lexical analyzer.

                 wwwhhhooo
                      Changed to call the new Primos  GMETR$  to  access  the
                      system data bases.

                      An  "r"  flag is appended onto the pid if the user is a
                      remote user.

































                                         - 12 -                              




            Version 8 Conversion Guide                                       


            UUUnnnccchhhaaannngggeeeddd CCCooommmmmmaaannndddsss

                 This subsection lists the commands that have no user-visible
            changes made for Version 8.

                      aaalllaaarrrmmm           aaarrrggg              aaarrrgggsss
                      aaarrrgggssstttooo          aaasss111111             aaasss666888000000
                      aaasss888000888000          bbbaaannnnnneeerrr           bbbaaasssyyysss
                      bbbaaatttccchhh           bbbllloooccckkk            bbbsss
                      bbbuuuggg             bbbyyyeee              cccaaalll
                      cccaaassseee            cccaaattt              cccddd
                      ccchhhaaattt            ccchhhooowwwnnn            cccllleeeaaarrr
                      cccllloooccckkk           cccmmmppp              cccnnn
                      cccooolll             cccooommmmmmooonnn           cccooommmooo
                      cccooopppyyy            cccooopppyyyooouuuttt          cccppp
                      cccrrryyypppttt           ccctttiiimmmeee            ccctttooo
                      dddaaattteee            dddaaayyy              dddeeeccclllaaarrreeeddd
                      dddeeelll             dddeeetttaaabbb            dddmmmaaaccchhh
                      dddnnnuuummm            dddrrroooppp             eeeccchhhooo
                      eeekkk              eeelllssseee             eeennntttaaabbb
                      eeerrrrrrooorrr           eeesssaaaccc             eeevvvaaalll
                      eeexxxiiittt            fff777777ccclll            fffccclll
                      fffdddmmmppp            fffiii               fffiiieeelllddd
                      fffiiillleeesss           fffiiinnnddd             fffiiixxxppp
                      fffmmmttt             fffoooccclllddd            fffooorrrgggeeettt
                      fffooosss             fffsssiiizzzeee            gggoootttooo
                      hhhiiissstttooorrryyy         hhhppp               iiifff
                      iiimmmiii             iiinnncccllluuudddeee          iiinnndddeeexxx
                      iiinnnssstttaaallllllaaatttiiiooonnn    iiinnnttteeelll            iiioootttaaa
                      jjjoooiiinnn            kkkiiillllll             kkkwwwiiiccc
                      lllaaammm             lllddd               llleeennngggttthhh
                      llleeexxx             llliiibbb              llliiinnneee
                      llliiinnnkkk            lllkkk               lllooocccaaattteee
                      llloooggg             lllooogggiiinnn___nnnaaammmeee       lllpppsss
                      mmmaaacccrrrooo           mmmeeemmmooo             mmmkkkcccllliiisssttt
                      mmmkkkdddiiirrr           mmmkkkllliiibbb            mmmkkktttrrreeeeee
                      mmmkkkuuusssrrr           mmmooottt              mmmvvv
                      nnnaaarrrgggsss           nnneeewwwsss             ooopppttt666888000000
                      ooopppttt888000888000         ooosss               ooouuuttt
                      ppp444ccc             ppp444ccclll             pppaaasssssswwwddd
                      pppaaauuussseee           pppccc               pppccclll
                      ppphhh              ppphhhiiisssttt            ppphhhooonnneee
                      ppplllgggccclll           pppmmmaaaccc             pppmmmaaaccclll
                      ppprrr              ppprrriiinnnttt            ppprrrooofffiiillleee
                      pppuuubbbllliiissshhh         pppwwwddd              pppwwwooorrrddd
                      qqquuuooottteee           rrrccclll              rrrfff
                      rrrffflll             rrrmmmuuusssrrr            rrrnnnddd
                      rrrooottt             rrrsssaaa              sssaaavvveee
                      ssscccrrrooollllll          ssseeeppp              ssseeettt
                      ssshhh              ssshhhooowww             ssshhhtttrrraaaccceee
                      sssiiizzzeee            sssllliiiccceee            sssooorrrttt
                      sssooouuurrrccceee          sssppp               ssspppeeellliiinnnggg
                      ssssssppplll            ssssssrrr              sssttt___ppprrrooofffiiillleee
                      ssstttaaatttsss           ssstttoooppp             sssuuubbbssscccrrriiibbbeee
                      sssuuubbbssstttrrr          sssyyymmmbbbooolllsss          sssyyyssstttaaattt
                      tttaaakkkeee            tttccc               ttteeeeee


                                         - 13 -                              




            Version 8 Conversion Guide                                       


                      ttteeemmmppplllaaattteee        ttthhheeennn             tttiiimmmeee
                      tttsss              uuunnniiiqqq             uuunnnooocccttt
                      uuunnnrrrooottt           uuusss               uuusssaaagggeee
                      vvvaaarrrsss            wwwhhheeennn             wwwhhheeerrreeeiiisss
                      wwwhhhoooiiisss           xxxrrreeefff



            NNNeeewww CCCooommmmmmaaannndddsss

                 This subsection lists commands that are new for Version 8.

                 bbbaaassseeennnaaammmeee
                      Select various portions of a pathname.

                 bbbmmmeeerrrgggeee
                      Merge object code files into one file  for  building  a
                      library.

                 bbbnnnaaammmeeesss
                      Print entry point names in object files.

                 bbbsss111
                      Identical  to  'bs' except that it reduces search time,
                      with the possible result of having a  less  intelligent
                      guess.

                 bbbuuugggfffmmm
                      Format a bug report created with the 'bug' command.

                 bbbuuugggnnn
                      Process the highest bug number.

                 cccccc
                      Compiles a C program with the Subsystem C compiler.

                 cccccclll
                      Compiles and loads a C program.

                 cccdddmmmlllccc
                      Compiles  a Prime DBMS Cobol Data Manipulation Language
                      program.

                 cccdddmmmlllccclll
                      Compiles and  loads  a  DBMS  Cobol  Data  Manipulation
                      Language program.

                 cccooobbbccc
                      Compiles a Cobol program.

                 cccooobbbccclll
                      Compiles and loads a Cobol program.

                 cccsssuuubbbccc
                      Compiles a Primos DBMS Cobol subschema.



                                         - 14 -                              




            Version 8 Conversion Guide                                       


                 dddbbbggg
                      Interface to Primos source level debugger.

                 ddddddlllccc
                      Compiles a Prime DBMS schema.

                 dddeeesss
                      An  implementation  of the National Bureau of Standards
                      Data Encryption System.

                 ddduuummmppp
                      Debugging aid which dumps the shell's various  internal
                      data  bases  in  a  semi-readable format.  This command
                      supersedes  the  Version 7.1  commands   'dumpls'   and
                      'dumpsv'.

                 fffdddmmmlllccc
                      Compiles  a  program  written in the Prime DBMS Fortran
                      Data Manipulation Language.

                 fffdddmmmlllccclll
                      Compiles and loads a Prime DBMS Fortran Data  Manipula-
                      tion Language program.

                 fffsssuuubbbccc
                      Compiles a Primos DBMS Fortran subschema.

                 lllaaasssttt
                      Allows you to look at the last few lines of a file.

                      Can also count the number of lines in a file very quic-
                      kly.

                 mmmkkkccclll
                      Make a command list in compressed binary format for use
                      with the 'guess' command.

                 ooolllddd___aaarrr
                      Subsystem  archiver from Version 7.1; included to allow
                      you to retrieve your  files  and  convert  to  the  new
                      archiver, 'ar'.

                 ppplllpppccc
                      Compiles a PL/P program.

                 ppplllpppccclll
                      Compiles and loads a PL/P program.

                 ppprrriiimmmooosss
                      Allows  the  use of the Primos command interpreter from
                      the Subsystem.  This command is somewhat different from
                      the 'x' command, in that 'primos' causes a new level of
                      the Primos command interpreter to be initiated.





                                         - 15 -                              




            Version 8 Conversion Guide                                       


                 rrraaadddiiixxx
                      Convert  numbers  from  one  radix  representation   to
                      another.

                 rrraaaiiiddd
                      Examine  bug  report submitted with 'bug' command (this
                      is intended for the use of the Subsystem manager).

                      The bug reports can also be optionally  be  printed  so
                      that a hardcopy may be obtained.

                 rrrdddcccaaattt
                      Relational  database  command  which  concatenates  two
                      identical relations.

                 rrrdddeeexxxtttrrr
                      Relational database  command  which  extracts  relation
                      data from a given relation.

                 rrrdddjjjoooiiinnn
                      Relational database command which joins two relations.

                 rrrdddmmmaaakkkeee
                      Relational database command which constructs a relation
                      from a data file.

                 rrrdddppprrriiinnnttt
                      Relational  database  command  to print a relation or a
                      relation descriptor.

                 rrrdddppprrrooojjj
                      Relational database command to project a relation.

                 rrrdddssseeelll
                      Relational database  command  to  select  tuples  of  a
                      relation.

                 rrrdddsssooorrrttt
                      Relational database command to sort a relation.

                 rrrddduuunnniiiqqq
                      Relational  database command to remove duplicate tuples
                      from a relation.

                 sssooolll
                      Game of solitaire.  A good  demonstration  of  the  new
                      Virtual Terminal Handler (VTH) package.

                 ssspppeeellllll
                      Faster than 'speling'.

                      Has  a  "verbose" output format to aid in locating mis-
                      spelled words.

                      Is more intelligent about not reporting formatter  com-
                      mands as misspelled words.


                                         - 16 -                              




            Version 8 Conversion Guide                                       


                 tttiiippp
                      Check if terminal input is pending.

                 vvvpppsssddd
                      Interface to invoke the Primos V-mode Symbolic Debugger
                      on Subsystem programs.



                            SSStttaaatttuuusss ooofff VVVeeerrrsssiiiooonnn 777...111 SSSuuubbbrrrooouuutttiiinnneeesss


                 This section summarizes the user-visible changes to the Sub-
            system library routines.  It is divided into several subsections:
            obsolete   routines,   superseded  routines,  modified  routines,
            enhanced routines, unchanged routines and new routines.


            OOObbbsssooollleeettteee RRRooouuutttiiinnneeesss

                 The routines listed here were only  used  by  other  library
            routines.  Since their services are no longer required, they have
            been deleted.

                 cccmmmdddfff$$$$$$
                      Obsoleted because of a smarter shell.

                 rrrtttrrr666888000000
                      The   SSPL  run-time  support  library  for  the  M6800
                      microprocessor has been removed.

                 vvvttt$$$bbbccc
                      Obsoleted by the new VTH routines.

                 vvvttt$$$cccccc
                      Obsoleted by the new VTH routines.

                 vvvttt$$$lllddd
                      Obsoleted by the new VTH routines.

                 vvvttt$$$llllll
                      Obsoleted by the new VTH routines.

                 vvvttt$$$mmmvvv
                      Obsoleted by the new VTH routines.

                 vvvttt$$$pppkkk
                      Obsoleted by the new VTH routines.

                 vvvttt$$$rrrccc
                      Obsoleted by the new VTH routines.

                 vvvttt$$$uuupppkkk
                      Obsoleted by the new VTH routines.




                                         - 17 -                              




            Version 8 Conversion Guide                                       


                 vvvtttccceeeooolll
                      Obsoleted by the new VTH routines.

                 vvvtttccceeeooosss
                      Obsoleted by the new VTH routines.

                 vvvttteeennnccc
                      Obsoleted by the new VTH routines.

                 vvvtttiiinnnlll
                      Obsoleted by the new VTH routines.

                 vvvtttiiinnnsss
                      Obsoleted by the new VTH routines.

                 vvvtttmmmvvvdddnnn
                      Obsoleted by the new VTH routines.

                 vvvtttmmmvvvlllfff
                      Obsoleted by the new VTH routines.

                 vvvtttmmmvvvrrrttt
                      Obsoleted by the new VTH routines.

                 vvvtttmmmvvvuuuppp
                      Obsoleted by the new VTH routines.

                 vvvtttpppooosss
                      Obsoleted by the new VTH routines.


            SSSuuupppeeerrrssseeedddeeeddd RRRooouuutttiiinnneeesss

                 The following routines have  been  subsumed  by  other  more
            powerful  routines.   Each entry names the Version 8 routine that
            performs the same function.

                 iiinnnllloooccc$$$
                      Use 'decode'.

                 iiitttoooccc000
                      Use 'gitoc' or 'encode'.

                 iiitttoooccc888
                      Use 'gitoc' or 'encode'.

                 ppprrrooottt$$$
                      Use 'sprot$'.  The name was changed to avoid a conflict
                      with the Primos routine of the same name.


            MMMooodddiiifffiiieeeddd RRRooouuutttiiinnneeesss

                 The routines listed in this subsection have been modified so
            that  they  are  no  longer  compatible  with  their  Version 7.1
            counterparts.   Although each entry briefly describes the changes


                                         - 18 -                              




            Version 8 Conversion Guide                                       


            that  have  been  made,  you  should  examine  the  corresponding
            Reference  Manual  entries to determine the exact behavior of the
            routines.

                 cccooofff$$$
                      Requires a "state" argument.

                 eeennnttteeerrr
                      'Enter' is now a function that returns a pointer to the
                      dynamic storage area containing text of next symbol.

                 eeexxxpppaaannnddd
                      If a template must contain uninterpreted "="s,  do  not
                      precede it by a "@" but by another "=".

                 iiioooffflll$$$
                      Requires a "state" argument.

                 sssyyysss$$$$$$
                      New argument to specify file unit from which the Primos
                      command takes its input.

                 tttssscccaaannn$$$
                      The 'path' argument is changed by this routine, but was
                      not  documented  to say so.  The documentation has been
                      changed.

                 vvvttt$$$dddbbb
                      Has been rewritten for new VTH library.

                 vvvttt$$$dddeeelll
                      Has been rewritten for new VTH library.

                 vvvttt$$$ooouuuttt
                      Has been rewritten for new VTH library.

                 vvvtttccclllrrr
                      Has been rewritten for new VTH library.

                 vvvtttiiinnniiittt
                      Has been rewritten for new VTH library.

                 vvvtttpppuuutttlll
                      Has been rewritten for new VTH library.

                 vvvtttttteeerrrmmm
                      Has been rewritten for new VTH library.

                 vvvtttuuupppddd
                      Has been rewritten for new VTH library.


            EEEnnnhhhaaannnccceeeddd RRRooouuutttiiinnneeesss

                 The routines listed in this subsection have additional func-
            tionality in the Version 8 release, but  remain  compatible  with


                                         - 19 -                              




            Version 8 Conversion Guide                                       


            their Version 7.1 counterparts.

                 cccaaallllll$$$$$$
                      Accepts an optional argument for the creation of an on-
                      unit.

                 dddaaattteee
                      There  are  now system defines for the request keys (so
                      that actual numbers for the type of request need not be
                      supplied).

                      New values  returned  are  minutes,  seconds  and  mil-
                      liseconds past midnight.

                 dddooopppeeennn$$$
                      Now  takes  an  argument  to  determine  the  number of
                      retries on encountering a "file in use" situation.

                 gggeeettttttooo
                      MFD  passwords  are  now  consistently  assumed  to  be
                      "XXXXXX".   Mixed-case  passwords  have  caused several
                      problems; the real source of the difficulty is a change
                      Prime made to TA$ that  renders  it  incompatible  with
                      earlier revisions of Primos.

                 lllooopppeeennn$$$
                      Will  put  in the values for the user's shell variables
                      "_prt_form"  and  "_prt_dest",  if  available,  in  the
                      spooler entry.

                 ooopppeeennn
                      Now  takes a fourth argument to determine the number of
                      retries on encountering a "file in use" situation.

























                                         - 20 -                              




            Version 8 Conversion Guide                                       


            UUUnnnccchhhaaannngggeeeddd RRRooouuutttiiinnneeesss

                 No user-visible changes  have  been  made  to  the  routines
            listed in this subsection.

                      aaaddddddssseeettt          aaammmaaatttccchhh           aaatttoooccc
                      ccc$$$eeennnddd           ccc$$$iiinnncccrrr           cccaaannnttt
                      cccaaatttsssuuubbb          ccchhhkkkaaarrrggg           ccchhhkkkiiinnnppp
                      ccclllooossseee           cccpppfffiiilll$$$           cccpppssseeeggg$$$
                      cccrrreeeaaattteee          ccctttoooaaa             ccctttoooccc
                      ccctttoooddd            ccctttoooiii             ccctttooolll
                      ccctttooommmnnn           ccctttoooppp             ccctttooorrr
                      ccctttooovvv            dddeeecccooodddeee           dddeeelllaaarrrggg
                      dddeeellleeettteee          dddgggeeetttlll$$$           dddmmmaaarrrkkk$$$
                      dddooodddaaassshhh          dddpppuuutttlll$$$           dddrrreeeaaaddd$$$
                      dddsssdddbbbiiiuuu          dddsssddduuummmppp           dddssseeeeeekkk$$$
                      dddsssfffrrreeeeee          dddsssgggeeettt            dddsssiiinnniiittt
                      dddtttoooccc            dddwwwrrriiittt$$$           eeedddiiittt
                      eeennncccooodddeee          eeennnttteeerrr            eeeqqquuuaaalll
                      eeerrrrrrooorrr           eeesssccc              eeexxxeeeccc
                      eeexxxeeecccnnn           fffcccooopppyyy            fffiiilllcccpppyyy
                      fffiiilllssseeettt          fffiiillltttsssttt           fffiiinnndddfff$$$
                      fffiiinnnfffooo$$$          fffllluuussshhh$$$           fffooollllllooowww
                      gggcccddd             gggcccdddiiirrr$$$           gggccctttoooiii
                      gggccctttooolll           gggeeetttaaarrrggg           gggeeetttcccccclll
                      gggeeetttccchhh           gggeeetttkkkwwwddd           gggeeetttllliiinnn
                      gggeeettttttooo           gggeeetttvvvdddnnn           gggfffnnnaaarrrggg
                      gggiiitttoooccc           gggkkklllaaarrrggg           gggllltttoooccc
                      gggttteeemmmppp           gggvvvlllaaarrrggg           iiicccooommmnnn$$$
                      iiinnndddeeexxx           iiinnniiittt             iiinnnpppuuuttt
                      iiinnnvvvmmmoooddd          iiioooiiinnniiittt           iiisssaaattttttyyy
                      iiitttoooccc            jjjdddaaattteee            llldddssseeeggg$$$
                      llldddtttmmmppp$$$          llleeennngggttthhh           lllooocccaaattteee
                      lllooooookkkuuuppp          lllsssaaallllllooo           lllssscccmmmpppkkk
                      lllssscccooommmppp          lllssscccooopppyyy           lllssscccuuuttt
                      lllsssdddeeelll           lllsssdddrrroooppp           lllsssddduuummmppp
                      lllssseeexxxtttrrr          lllsssfffrrreeeeee           lllsssgggeeetttccc
                      lllsssgggeeetttfff          lllsssiiinnniiittt           lllsssiiinnnsss
                      lllsssjjjoooiiinnn          lllsssllleeennn            lllsssmmmaaakkkeee
                      lllssspppooosss           lllssspppuuutttccc           lllssspppuuutttfff
                      lllssssssuuubbbsss          lllssstttaaakkkeee           llltttoooccc
                      llluuuttteeemmmppp          mmmaaakkkpppaaattt           mmmaaakkksssuuubbb
                      mmmaaapppdddnnn           mmmaaapppfffddd            mmmaaapppssstttrrr
                      mmmaaapppsssuuu           mmmaaapppuuuppp            mmmaaarrrkkkfff
                      mmmaaatttccchhh           mmmkkkdddiiirrr$$$           mmmkkkfffddd$$$
                      mmmkkkpppaaa$$$           mmmkkktttaaabbblll           mmmkkkttteeemmmppp
                      mmmkkktttrrr$$$           mmmnnntttoooccc            mmmooovvveee$$$
                      ooommmaaatttccchhh          ooopppeeennn             pppaaagggeee
                      pppaaarrrsssdddttt          pppaaarrrssstttmmm           pppaaatttsssiiizzz
                      ppprrriiimmmeee           ppprrriiinnnttt            ppptttoooccc
                      pppuuutttccchhh           pppuuutttdddeeeccc           pppuuutttllliiinnn
                      pppuuutttllliiittt          pppwwwrrrmmmoooddd           rrreeeaaadddfff
                      rrreeemmmaaarrrkkk          rrreeemmmooovvveee           rrreeeooonnnuuu$$$
                      rrreeewwwiiinnnddd          rrrmmmfffiiilll$$$           rrrmmmssseeeggg$$$
                      rrrmmmtttaaabbblll          rrrmmmttteeemmmppp           rrrtttnnn$$$$$$
                      rrrtttoooccc            ssscccooopppyyy            sssccctttaaabbblll


                                         - 21 -                              




            Version 8 Conversion Guide                                       


                      sssdddrrroooppp           ssseeeeeekkkfff            ssseeettt___cccooopppyyy
                      ssseeettt___cccrrreeeaaattteee      ssseeettt___dddeeellleeettteee       ssseeettt___eeellleeemmmeeennnttt
                      ssseeettt___eeeqqquuuaaalll       ssseeettt___iiinnniiittt         ssseeettt___iiinnnssseeerrrttt
                      ssseeettt___iiinnnttteeerrrssseeecccttt   ssseeettt___rrreeemmmooovvveee       ssseeettt___sssuuubbbssseeettt
                      ssseeettt___sssuuubbbtttrrraaacccttt    ssseeettt___uuunnniiiooonnn        ssseeettteeerrrrrr
                      sssttt$$$llluuu           ssstttaaakkkeee            ssstttccclllooosss
                      ssstttrrrbbbsssrrr          ssstttrrrcccmmmppp           ssstttrrriiimmm
                      ssstttrrrlllsssrrr          sssuuubbbssstttrrr           ssswwwttt
                      ttt$$$cccllluuuppp          ttt$$$eeennntttrrr           ttt$$$eeexxxiiittt
                      ttt$$$tttiiimmmeee          ttt$$$tttrrraaaccc           tttgggeeetttlll$$$
                      tttmmmaaarrrkkk$$$          tttpppuuutttlll$$$           tttqqquuuiiittt$$$
                      tttrrreeeaaaddd$$$          tttrrruuunnnccc            tttssseeeeeekkk$$$
                      tttwwwrrriiittt$$$          tttyyypppeee             uuupppkkkfffnnn$$$
                      vvvfffyyyuuusssrrr          vvvtttoooccc             wwwiiinnnddd
                      wwwkkkdddaaayyy           wwwrrriiittteeefff           zzzmmmeeemmm$$$



            NNNeeewww RRRooouuutttiiinnneeesss

                 The  routines  listed  in  this section are new for the Ver-
            sion 8 release.

                 aaattt$$$
                      Subsystem interlude to Primos ATCH$$.

                 bbbpppooonnnuuu$$$
                      On-unit handler for "BAD_PASSWORD$" condition.

                 ccc$$$iiinnniiittt
                      Initializes a  Ratfor  program  in  preparation  for  a
                      statement count run.

                 ccchhhkkkssstttrrr
                      Check a string for printable characters.

                 dddmmmpppcccmmm$$$
                      Dump  the  contents  of  Subsystem  common  blocks in a
                      printable format.

                 dddmmmpppfffddd$$$
                      Dump information about a file descriptor.

                 fffiiillleee$$$ppp
                      When called from a Pascal program, allows  the  program
                      to  use  the I/O redirection and piping features of the
                      Subsystem.

                 fffiiirrrsssttt$$$
                      This routine sees if it has been called before;  it  is
                      used by the Subsystem for initialization purposes.

                 gggccciiifffuuu$$$
                      Get  the  file unit which is providing command input to
                      the shell.



                                         - 22 -                              




            Version 8 Conversion Guide                                       


                 gggeeetttaaa$$$fff
                      Allows Fortran programs access to  the  arguments  from
                      the Subsystem command line.

                 gggeeetttaaa$$$ppp
                      Allows Pascal programs to access the arguments from the
                      Subsystem command line.

                 gggeeetttaaa$$$ppplllggg
                      Allows PL/I (subset G) programs to access the arguments
                      from the Subsystem command line.

                 gggeeetttfffddd$$$
                      Look for an empty file descriptor.

                 gggeeetttwwwrrrddd
                      Retrieve the next word from a buffer.

                 gggfffnnnaaammm$$$
                      Get pathname of an open file.

                 gggtttaaattttttrrr
                      Returns a user's terminal attributes.

                 gggttttttyyypppeee
                      Returns the user's terminal type name.

                 iiinnniiittt$$$fff
                      Allows the Fortran programmer to take advantage of Sub-
                      system  I/O  (especially  the standard input and output
                      ports).

                 iiinnniiittt$$$ppp
                      Allows the Pascal programmer to take advantage of  Sub-
                      system  I/O  (especially  the standard input and output
                      ports).

                 iiinnniiittt$$$ppplllggg
                      Allows the PL/I (subset G) programmer to take advantage
                      of Subsystem I/O (especially  the  standard  input  and
                      output ports).

                 iiisssaaadddssskkk
                      Test to see if a file is a disk file.

                 sssppprrrooottt$$$
                      Set the protection attributes for a file.  This routine
                      used to be named 'prot$', but had to be renamed because
                      of a name conflict with a Primos routine.

                 tttcccooooookkk$$$
                      Read  a line from the terminal and handle operations of
                      processing escape sequences,  case  and  character  set
                      mapping, line kills, etc.  ("cooking" the line).




                                         - 23 -                              




            Version 8 Conversion Guide                                       


                 ttttttyyyppp$$$fff
                      Obtain  the  user's terminal type from the "=termlist="
                      file, if available.

                 ttttttyyyppp$$$lll
                      List the available terminal types (as  defined  in  the
                      "=ttypes=" file).

                 ttttttyyyppp$$$qqq
                      Query for the terminal type from the user.

                 ttttttyyyppp$$$rrr
                      Return the user's terminal type from the Subsystem com-
                      mon area, if available.

                 ttttttyyyppp$$$vvv
                      Set  the  terminal's attributes in the Subsystem common
                      areas.

                 vvvttt$$$aaalllccc
                      Allocate another VTH definition table for the  keyboard
                      macros.

                 vvvttt$$$ccclllrrr
                      Send the clear screen sequence.

                 vvvttt$$$dddbbb111
                      VTH  debugging  routine  which prints mnemonics for the
                      unprintable characters to be output.

                 vvvttt$$$dddbbb222
                      VTH  debugging  routine  to  dump  the  terminal  input
                      tables.

                 vvvttt$$$dddbbb333
                      VTH  debugging  routine  to  dump  the macro definition
                      table.

                 vvvttt$$$dddeeefff
                      Allows the user to define a keyboard macro.

                 vvvttt$$$dddssswww
                      Perform a garbage  collection  on  the  VTH  definition
                      tables.

                 vvvttt$$$eeerrrrrr
                      Print a VTH error message.

                 vvvttt$$$gggeeettt
                      VTH input routine.

                 vvvttt$$$gggsssqqq
                      VTH  input  routine  to receive a delimited sequence of
                      characters.




                                         - 24 -                              




            Version 8 Conversion Guide                                       


                 vvvttt$$$iiidddfff
                      VTH input processor which invokes user-defined keyboard
                      macros.

                 vvvttt$$$iiieeerrr
                      Report an error in a VTH initialization file.

                 vvvttt$$$nnndddfff
                      Remove a VTH macro definition.

                 vvvttt$$$pppooosss
                      VTH positioning routine which moves the terminal cursor
                      by means of absolute positioning sequences.

                 vvvttt$$$pppuuuttt
                      Copy a string into a VTH screen buffer.

                 vvvttt$$$rrrdddfff
                      Remove a VTH keyboard macro from the definition table.

                 vvvttteeennnbbb
                      Enable input on a particular screen line.

                 vvvtttgggeeetttlll
                      Retrieve a line from the VTH screen buffer.

                 vvvtttiiinnnfffooo
                      Return information contained in the VTH common block.

                 vvvtttmmmooovvveee
                      Position the cursor to a given row and column.

                 vvvtttmmmsssggg
                      Display a message in the VTH status line.

                 vvvtttooopppttt
                      Set optional parameters for the VTH screen.

                 vvvtttpppaaaddd
                      Pad the rest of a field with blanks.

                 vvvtttppprrrttt
                      Output formatted information to the screen buffers.

                 vvvtttrrreeeaaaddd
                      Read characters  from  the  terminal  into  the  screen
                      buffers.

                 vvvtttssstttoooppp
                      Reset  a  terminal's  attributes  before  terminating a
                      program.







                                         - 25 -                              




            




























































            




            


                                    ___TTT___AAA___BBB___LLL___EEE___ ___OOO___FFF___ ___CCC___OOO___NNN___TTT___EEE___NNN___TTT___SSS




            IIInnntttrrroooddduuuccctttiiiooonnn .............................................   1

            GGGlllooobbbaaalll CCChhhaaannngggeeesss ...........................................   1
               Terminal Type Handling ................................   1
               Templates .............................................   1
               Speed .................................................   1
               Memory Segments .......................................   2
               Process Ids to Three Digits ...........................   2
               Cldata Template .......................................   2
               Exception Handling ....................................   2
               DBG Support ...........................................   3
               New Shell Control Variables ...........................   3
               Deleted Macro Definition ..............................   3
               Change in Value of EOS ................................   3
               New Reference Manual Sections .........................   3
               New Subsystem Libraries ...............................   4
               New Subsystem Templates ...............................   5

            SSStttaaatttuuusss ooofff VVVeeerrrsssiiiooonnn 777...111 CCCooommmmmmaaannndddsss ...........................   5
               Obsolete Commands .....................................   5
               Superseded Commands ...................................   5
               Modified Commands .....................................   6
               Enhanced Commands .....................................   8
               Unchanged Commands ....................................  13
               New Commands ..........................................  14

            SSStttaaatttuuusss ooofff VVVeeerrrsssiiiooonnn 777...111 SSSuuubbbrrrooouuutttiiinnneeesss ........................  17
               Obsolete Routines .....................................  17
               Superseded Routines ...................................  18
               Modified Routines .....................................  18
               Enhanced Routines .....................................  19
               Unchanged Routines ....................................  21
               New Routines ..........................................  22




















                                         - iii -                             




            




























































            


