
1






       Subject:  PRIMOS

       Release:  24.0

       Date:  February 18, 1994


       1. New Functionality
+         _________________


       1.1 Config_Users
+          ____________


       Ehancements have been made to PRIMOS and CONFIG_USERS to aid  migration
       of user accounts from 50-Series Computers to Open Systems.  The primary
       enhancement for migration is to store the Open System's Encryption of a
       user's password  in  the  System  Administration Directory (SAD).  This
       enhancement will allow the user to login with the  same  password  that
       they were  using  on  the 50-Series Computer.  The other enhancement to
       PRIMOS/CONFIG_USERS is the new User Name Field in the SAD.  This  field
       will also  be  migrated  to the Open System.  The migration strategy is
       that these enhancements are targetted to help  a  System  Administrator
       prepare for the migration over a period of time.

       1.2 CPL improvements
+          ________________

       At Rev 24.0 the PRIMOS CPL interpreter has been optimized and enhanced.
       New features  include new CPL directives, new command functions and new
       options to existing directives and functions.

       Rev 24.0 CPL is completely compatible with previous revisions  of  CPL,
       except as is usual, for a small number of corrections to problems where
       previous revisions  of  CPL  functioned  wrongly  or  contrary  to  the
       documentation.

       The Rev 24.0 CPL interpreter runs considerably faster than at  previous
       revisions.  The  internal  optimizations which achieve this performance
       improvement may, when Rev 24.0 CPL is used in default mode, change  the
       behavior of  a  very small number of existing CPL programs that rely on
       features of PRIMOS or CPL that are either documented or unsupported  or
       considered  to  be  rarely  or  never  used.   REV  24.0  CPL  provides
       configuration switches which in these rare cases may be used to restore
       compatibility program behavior, at the price of returning  to  prev-REV
       24.0 levels of performance.

       The REV  24.0 interpreter is on the average 4 to 6 times faster than at
       previous revisions.   The  actual  improvement  depends  on  which  CPL
       directives   and  command  functions  are  used.   All  commonly   used
       directives are 4 to 6 times faster;  some of the less  common  features
       and directives are considerably faster than this.

       This performance  improvement  applies  only  to  the time spent in the
       interpreter itself.  It does not apply to  PRIMOS  commands  and  other
       programs executed  via  CPL.  Improvement performance will therefore be





1






       most obvious in CPL programs which spend a lot of  time  executing  CPL
       directives rather than PRIMOS commands.

       Prior to  Rev  24.0,  only one segment of storage was available for CPL
       internal use, including both the  interpreter's  stack  and  all  local
       variables.  CPL  programs  would  abort when storage was exhausted, for
       example by nesting  complex  &DO  loops  several  levels  deep,  or  by
       creating more than several hundred local variables of average size.

       At Rev  24.0,  more storage is available.  Initially eight segments are
       provided.  Since Rev 24.0 CPL  uses  less  space  for  the  interpreter
       stack, the increased space will appear to be wholly available for local
       variables.  At  Rev  24.0  it is possible to create approximately eight
       times as many local variables as previously possible,  if  you  have  a
       need.

       The changes  in  storage  management also fix a problem due to which it
       was possible for CPL to fail when complex  &DO  loops  were  nested  as
       little as  two  or three levels deep.  At Rev 24.0, the permitted level
       of nesting will appear to be effectively unlimited.

       For additional information on Rev 24.0 CPL, please  refer  to  the  Rev
       24.0 Software Release Document.

       1.3 CMPF and MRGF enhancements
+          __________________________

       At Rev  24.0,  the CMPF and MRGF commands have been enhanced with a new
       option -WHITE_SPACE.  This option changes the comparison  algorithm  so
       that it interprets one space as equivalent to one or more spaces.

       One space  is  not,  however,  interpreted  as equivalent to no spaces.
       Therfore, CMPF and MRGF still show a line consisting of only spaces  as
       different from a blank (empty line).

       A side-effect of -WHITE_SPACE is to relax the usual CMPF and MRGF rules
       that space  compression  in  files  must  be identical for the files to
       compare as identical.

       -WHITE_SPACE can be particularly useful for comparing  program  sources
       written  in  a  block-structured  language  (like  C),  when  the  only
       difference between large numbers of lines may be the  extent  to  which
       they are indented.

       1.4 LD Command
+          __________

       LD has two new sort options, and now allows multiple sort options to be
       specified.  In  addition,  a new sort algorithm has been implemented to
       make sorting faster and  to  correct  minor  defects  in  the  previous
       algorithm.

       Prior to Rev 24.0 only one sort option was allowed and the sorted order
       for equal  items  (for  example, those with equal sizes when -SORT_SIZE
       was specified) was unpredictable.  While only one explicit sort  option
       was allowed, LD would in most cases (all except -NO_SORT or -SORT_NAME)





1






       actually sort  on  two  keys:   first  by  file  type, and then by some
       criterion such as size, date/time modified, etc.  However, there was no
       way to specify further sorting for objects with the same size or  date.

       Please refer  to  the Rev 24.0 Software Release Document for additional
       information on LD enhancements.

       1.5 Spool Enhancements

       Further enhancements have been made to the  Spooler  subsystem  at  Rev
       24.0.  These  changes incorporate the introduction of new functionality
       and fixes to known problems.  Please refer to the Operator's  Guide  to
       the SPOOLER subsystem (DOC9303-006) for additional information.

       2. Problems Fixed- User Visible
+         ____________________________


       Spar 4065768:
                     Fix size check to allow for bigger EPFs to be registered.

       Spar None:
                     CF$SME can now be called on any logical file  type  on  a
                     Robust Partition.

       Spar 4042988, 4047655:
                     Resolved problem with flow control which  caused  LHC/TCP
                     to hang.

       Spar 4065565:
                     Primenet now correctly accepts RR's for frames which were
                     retransmitted.

       Spar 4065159:
                     Increased limit of primenet  addresses,  node  names  and
                     paths that  was  to  accomodate customers with very large
                     diverse network configurations.

       Spar 4061928:
                     Changed so that batch jobs get their ACL groups when  the
                     system administrator  is  using  either  edit_profile  or
                     config_users.

       Spar 4064687:
                     Fix talk problem with multiple targets.  Added new key to
                     CROSS PROCESS SIGNALING  SUBROUTINE  to  enable  of  user
                     numbers for  all  time.   I.E.   will  not  be cleared on
                     logout.

       Spar 4059496:
                     After BIND -COMPRESS of an existing EPF, the file size of
                     the EPF will decrease appropriately.  This addresses  the
                     problem that the file size was remaining unchanged.

       Spar 4065431:





1






                     LO -PH from the systems console  will  now  log  out  all
                     users of type PHANTOM.  Similarly, LO -SPOOL will log out
                     all spoolers,  &c.   This  addresses the problem that the
                     command was only logging  out  users  named  SYSTEM  when
                     issued from the console.

       Spar None:
                     Added max buffers per ldev to locate and add to  fs$rd  &
                     fs$st for control.

       Spar 4061675:
                     SPOOL -LIST on a large queue will now be more  efficient,
                     when only  a  small  selection  of the total # entries is
                     wanted.

       Spar None:
                     Users will now  see  interpreted  control  characters  in
                     error messages.   For  instance  if  XOFF was not enabled
                     when Control-S was typed,  then  say  DATE  was  entered,
                     Primos   will  report:   'Invalid   command    "^SDATE".'
                     Similarly control characters are interpreted in calls  to
                     ERRPR$ and  ER$PRINT,  except  any  BEL  characters still
                     sound the audible alarm and are not interpreted.

       Spar 4064630:
                     The  COMM_CONTROLLER   command   now   works   with   the
                     information product shared.

       Spar 4062372:
                     Commands of the form "LS 3nnn -NAME" are  now  processed,
                     where nnn  is  a  low  number  referencing Registered EPF
                     procedure.  The command can be used  for  all  registered
                     EPF   procedure  segments,  but  can  only   return   the
                     associated EPF filename for those  EPF's  that  the  user
                     process has currently mapped.

       Spar 4066434:
                     Commands of the form  "LOGOUT  -  nn"  from  the  systems
                     console will no longer log out all users.

       Spar None:
                     New Func:  Added new hardware support for  the  DAT  tape
                     drive.

       Spar None:   Changed  LOGIN  path  to  support  Open  System   Password
                     Encryption Added  System  Default Phantom Limit.  Changed
                     LIST_LIM to display both  the  inactive  time  limit  and
                     phantom limit  for  the  process.  Added gates to support
                     WHO_BE and phantom limit output.

       Spar #:  4067713
                     Fixed problem which caused the TCP/IP manager process  to
                     use up all the CPU time when running TCP/IP 3.0.1.






1






       2.1  RRS Migration Information

       The following 23.4 RRS fixes are also in 24.0.r1

       RRS Release      Spar Number       Product
       -----------------------------------------------------------
       23.4.0.R22       4058635           COPY
                        4068426           DRB
                        4063847           DRB
                        4064842           DRB
                        4065307           DRB
       23.4.0.r21       4061111           PRIMOS
       23.4.0.R20       4063834           PRIMOS
       23.4.0.R19       4041578           EDIT_PROFILE
       23.4.0.R18       4062194           PRIMOS
       23.4.0.R17       4059679 4068275   PRIMOS, COPY
       23.4.0.R16       4067713           PRIMOS
       23.4.0.R15       4066942           SPOOL
                        4066228           SPOOL
                        4064841           SPOOL
                        4064759           SPOOL
                        4064633           SPOOL
                        4064634           SPOOL
                        4064635           SPOOL
                        4064486           SPOOL
                        4062300           SPOOL
                        4062301           SPOOL
                        4062302           SPOOL
                        4062302           SPOOL
                        4053147           SPOOL
       23.4.0.R14       4064630           Comm_Controller
       23.4.0.R13       None              PRIMOS, DRB and DOWN_LINE_LOAD*
       23.4.0.R12       4056816           FIX_DISK
       23.4.0.R11       4063847           DRB
       23.4.0.R10       4067051           FIX_DISK
                        4067052           FIX_DISK
                        4067114           FIX_DISK
       23.4.0.R9        4066328           PRIMOS
                        4061928, 4059361  PRIMOS
                        4059031           PRIMOS
                        4064687           TALK
                        4062356           PRIMOS
                        4065768           PRIMOS
       23.4.0.R8        4065565           PRIMOS/PRIMENET
       23.4.0.R7        4065159           PRIMOS.PRIMENET
       23.4.0.R6        4065894           BATCH
       23.4.0.R5        4060643           DSM
       23.4.0.R4        4063847           DRB
       23.4.0.R3        4058936           DRB
       23.4.0.R2        4065241           PRIMOS
       23.4.0.R1        4064895           FIX_DISK
                        4064185           FIX_DISK
                        4064560           PRIMOS






1






       3. Problems Fixed- Not User Visible
+         ________________________________

       None.


       4. Outstanding Problems
+         ____________________

       At the time of 24.0 release, we are not aware of any problems with 24.0
       specific changes/enhancements.


       5. Permanent Restrictions
+         ______________________

       At the  time  of  24.0  release,  we  are  not  aware  of any permanent
       restrictions with 24.0 specific changes/enhancements.


       6.  Environment
+          ___________

       Standard.


       7.  Installation and Build Procedures
+          _________________________________

       Please note:

       Rev 24.0 requires T3 or greater to be installed.  If you are  modifying
       PRIMOS source at 24.0, you MUST install T3.2.

       A BUILD  file,  called  PRIMOS.BUILD, is generated for each release and
       will probably be different for each release.  Be sure to always use the
       latest PRIMOS.BUILD  supplied  with  each  release.   PRIMOS.BUILD  and
       BUILDFILE are used by BUILD to build Primos.  There are a few new files
       for search rules set up and there is a new directory called BUILD.

       There are some changes to PRIMOS.BUILD.CPL.  PRIMOS.BUILD.CPL now takes
       a -NO_TOOLS (-NT) and a -INTEG option.

       The -NT  option will suppress the building of PSD, USAGE, LOGIN_SERVER,
       COPY_SERVER, MAPGEN, NAME_SERVER, SCHEDULER and the rebuilding of  hash
       tables.  This  will save some time when rebuilding if they are known to
       be correct  and  rebuilding  the  tools  is  not  necessary.   The  -NI
       (no_install) option  will  now copy runfiles and maps to PRIMOS>PRIRUN.

       The -INTEG option should always be used, it assumes all source  modules
       reside   in  PRIMOS.   It  prevents  PRIMOS.BUILD.CPL  from   searching
       auxiliary directories for PRIMOS source modules.

       The format of the build file (PRIMOS.BUILD) is:

       FOO.BIN:  FOO.PLP BAR.INS.PLP

       This means foo.bin is  created  from  foo.plp,  its  source  file,  and
       bar.ins.plp.  If,  at build time, anything on the right side of the ':'





1






       is found to have a more recent  DTM  ('Date/Time  Modified')  than  the
       object on the left, the entry (in this case, foo.plp) is rebuilt either
       by using  the  default  rules  at the top of BUILDFILE or using special
       rules which may follow any entry in PRIMOS.BUILD.  (For an  example  of
       special rules,  look  at  the rules that follow the dependency list for
       PRIMOS.SAVE, which is the first entry in PRIMOS.BUILD.)  Any new source
       and/or the adding or removing of  insert  files  from  source  must  be
       reflected by  changing  the build file.  If a dependency list uses more
       than one line, use a '\' at the end of the first line as a continuation
       marker.  A blank line  must  separate  each  dependency  list.   Please
       examine the  PRIMOS.BUILD file and related source for further examples.

       When building PRIMOS without using any options,  a  full  PRIMOS  build
       will be  performed (all source modules will be compiled).  Runfiles and
       maps will get copied to the top-level PRIRUN directory.

       Building PRIMOS using  any  of  the  available  options  (-NT,  -NI  or
       -INTEG), will  result in a partial build.  Only those modules modified,
       will be compiled.  If insert files are modified, all modules which  use
       those insert files will be re-compiled.


       What does all of this mean?

       When source is modified and PRIMOS is rebuilt, only the source affected
       by the  changes  will  be recompiled.  (The tools will still be rebuilt
       unless suppressed.  See instructions concerning the -NT option, above).
       The build will be forced to recompile all  source  if  no  options  are
       supplied.

       COMPILE.CPL was  re-added  to  PRIMOS  as  of  22.1.   It is useful for
       compiling single  modules.   The  recommended  procedure  is   to   use
       PRIMOS.BUILD.CPL.  Do  not  use  COMPILE.CPL  for  the  compilation  of
       definition modules.  If changes are  made  to  definition  modules  use
       PRIMOS.BUILD.CPL to  ensure all appropriate modules are compiled in the
       correct sequence.























