!Thursday, 08/09/79 15:35:24
*Allen
$rf, swtlib, st_profile
#Added "-c" option to Ratfor to  allow  statement-level  profiling
#count.   Also  made  trivial  changes  to  improve  speed.  Added
#'st_profile' command to post-process the statement profiling info
#from Ratfor.  Added two library routines ('c$incr'  and  'c$end')
#for statement profiling support.
!Friday, 08/10/79 15:46:14
*Dan
$os
#Changed calls to 'getch' to calls to 'getlin'.  Execution time is
#cut in half.
!Sunday, 08/12/79 12:54:45
*Allen
$stacc
#Replaced miscellaneous calls to 'getch' and 'putch' with calls to
#'getlin'  and 'putlin'.  30% speed improvement realized.  'Stacc'
#now uses a halfway-clean pushback mechanism that allows  'getlin'
#to be used for input, 'putlin' to be used for outputting the same
#buffer,  and  does  not  require  the  input line to be reversed.
#Should be useful elsewhere.
!Tuesday, 08/14/79 15:32:12
*Allen
$swtlib
#Added routine 'prot$'  to  allow  Subsystem  programs  to  change
#protection  attributes  on  files.  'Prot$' uses a new syntax for
#specifying permissions.
!Tuesday, 08/14/79 15:33:16
*Allen
$rsa
#Added toy RSA (Rivest-Shamir-Adleman) public-key cryptosystem  to
#local progs, installed help script, sent news.
!Friday, 08/24/79 15:20:57
*Allen
$stacc
#Fixed  bug  that  caused  incorrect line numbers to be printed on
#error messages.
!Sunday, 08/26/79 12:47:27
*Allen
$stacc
#Added ".ext_term" declaration to declare terminal  symbols  whose
#values  are  defined  external  to the code generated by 'stacc'.
#Particularly useful for allowing non-printing  characters  to  be
#used  as  terminal  symbols  (by  employing  their  definition in
#/syscom/defi as a terminal symbol).
#
#Actions may now appear before the first alternative of any right-
#hand-side.   These  actions  will  be  executed   unconditionally
#whenever   the  rhs  is  entered.   (Only  "accept"  actions  are
#honored.)
#
#Actions may now appear after the semicolon terminating a  produc-
#tion.   These  actions  will be executed unconditionally whenever
#the production terminates normally (i.e., with NOMATCH or  ACCEPT
#as the return state).
!Wednesday, 08/29/79 13:20:17
*Allen
$diff
#New and fast file comparator 'diff' installed in /bin.
!Thursday, 08/30/79 14:07:22
*Allen
$guide
#Implemented  'guide' command so I don't have to explain to n.u.'s
#where the User's Guides are located.  Updated reference manual to
#reflect new function.
!Thursday, 08/30/79 14:36:19
*Allen
$hp
#Now automatically prints value of expressions  given  on  command
#line.
!Friday, 08/31/79 15:28:51
*Perry
$term
#Added status of break inhibit flag to information given when term
#is  invoked  without arguments.  This change requires revision 17
#Primos to work.
!Tuesday, 09/04/79 11:56:48
*Perry
$dnum
#Added checks to insure proper specification of starting head  and
#number of heads parameters for storage module packs.
!Tuesday, 09/04/79 23:22:56
*Perry
$se
#Bugs  fixed:   current line pointer is positioned more rationally
#upon exit from overlay mode; leading blanks before the first line
#number are now ignored; "o-" now insures that the screen  has  at
#least  one  line  for text, in addition to the command and status
#lines.
!Monday, 09/10/79 17:56:49
*Perry
$del
#Added check to prevent disastrous accidental deletion of  current
#directory  when trying to delete a ufd whose name begins with "#"
#(e.g., SEG runfiles).  Fixed "-s [<levels>]"  option  to  descend
#the  correct number of levels -- it previously went one level too
#far.
!Tuesday, 09/11/79 21:43:22
*Dan
$fc
#Added g, h, o, m options to provide access to the Rev.  17  FTN's
#DEBUG, PROD, UNCOPT, and OPT options, respectively.
!Thursday, 09/13/79 01:45:41
*Perry
$swt
#Added  a  new  subroutine  to  close all file units regardless of
#Primos configuration parameters.  Added a new  interlude  routine
#to replace SEG's RUNIT.  Said new interlude builds the stack in a
#segment  specified  when  'swt'  is linked, and locates the stack
#root in the same segment (it was  previously  in  segment  4000).
#Changed  the  build_procedure  shell  file  to  define the symbol
#"root_" which locates the stack root.
!Monday, 09/17/79 09:42:23
*Allen
$wcnt lcnt ccnt tc
#Replaced the tools 'wcnt', 'lcnt', and 'ccnt' with the  new  tool
#'tc'  (for  "text  counter").  'Tc' also has the ability to count
#pages.  In addition, output may be  labeled  for  readability  by
#nu's.
!Thursday, 09/20/79 18:51:43
*Perry
$pr
#Modified  format of header line to print entire text of filename.
#Identifier printed on banner page is now taken from the first ar-
#gument to 'pr'.  Argument syntax added to allow printing  of  all
#three  standard  input  ports  (same  as 'cat's argument syntax).
#When a standard input port is  being  printed,  the  header  line
#contains the text "Standard Input n" (where n is the port number)
#in the place of the filename instead of nothing at all.
!Monday, 09/24/79 14:31:01
*Dan
$mktree
#Added  shell  function  (stolen from 'ld') to convert a path name
#into a Primos tree name.
!Monday, 09/24/79 17:54:00
*Perry
$chown
#Revised error messages.  Removed call to  'exit'  from  execution
#path followed when changing owner of current directory.  The call
#was previously inserted for debugging and never removed.
!Wednesday, 09/26/79 17:15:16
*Allen
$defi
#Added definition:  define(pointer,integer)
!Saturday, 09/29/79 22:27:16
*Dan
$call$$
#Check  for keys in the ECB did not allow any of the fault bits to
#be set.  This precluded the execution of PL/I G programs.
!Sunday, 09/30/79 01:01:35
*Dan
$ld
#Changed '-p' global option to modify default behavior to correct-
#ly load a PL/I G program.  Old '-p' option is  now  '-z'  option.
#Also  added '-c <segment no>' option to allow the changing of the
#segment in which common blocks are loaded.
!Sunday, 09/30/79 01:02:02
*Dan
$line
#Replaced ruined reference manual entry.
!Sunday, 09/30/79 01:03:15
*Dan
$rcl
#Modified 'rcl' so that if the source file (always ending in ".r")
#does not exist, 'rcl' exits.  This will avert  destruction  of  a
#naive  user's  source  file  if he doesn't follow the naming con-
#ventions.
!Sunday, 09/30/79 01:03:43
*Dan
$pl1c, pl1cl
#Added shell files to invoke the PL/I G compiler.
!Monday, 10/01/79 10:03:22
*Allen
$wcnt, lcnt, ccnt
#Deleted  appropriate  entries  from  source  code  and  reference
#manual.  Changed programs in /bin to be shell files that complain
#to ERROUT then call 'tc' to perform the correct function.
!Monday, 10/01/79 10:08:21
*Allen
$alldoc
#Deleted it.
!Monday, 10/01/79 10:11:41
*Allen
$total
#Deleted source code.  Changed object code in /bin to a shell file
#requesting the use of 'stats -tq'.
!Monday, 10/01/79 10:30:09
*Allen
$dup
#Deleted  source  and  documentation.   Changed program in /bin to
#echo an error message.
!Monday, 10/01/79 10:48:41
*Allen
$tabs
#Deleted it altogether.
!Monday, 10/01/79 13:58:27
*Perry
$pr
#Fixed problems that resulted in incorrect  date  and  time  being
#printed in the page heading.
!Wednesday, 10/03/79 14:32:42
*Perry
$common
#Fixed  bug  in "common" that cause "common -3" to print all lines
#from all files.
!Wednesday, 10/03/79 17:40:25
*Perry
$lf
#Fixed bug that caused filenames to  be  sorted  differently  than
#they  would  be  by 'sort'.  Added "-n" option to disable sorting
#altogether.
!Saturday, 10/06/79 15:29:38
*Dan
$sp, spool
#Added options to allow specification of printer  location  &  use
#the multiple-copy feature of the Rev.  17 spooler.
!Saturday, 10/06/79 16:44:09
*Dan
$pr
#Modified  calling  sequence  to  'spool'  to  include the two ad-
#ditional arguments.
!Sunday, 10/07/79 14:38:17
*Dan
$os
#Removed call to 'print_buf' at end of file to  suppress  trailing
#page eject.
!Sunday, 10/07/79 15:28:49
*Dan
$copyout
#Installed  'copyout'  which  opens  a spool file on the comoutput
#unit.
!Tuesday, 10/09/79 21:31:57
*Dan
$batch
#Installed 'batch', the Subsystem interface to  the  Primos  Batch
#subsystem.
!Wednesday, 10/17/79 14:20:51
*Perry
$cmp
#'Cmp' now accepts both "=" and "==" relational operators for com-
#patibility with Ratfor and 'eval'.
!Wednesday, 10/17/79 15:01:21
*Perry
$history
#When  invoked  with arguments other than a single "-", or with no
#arguments at all, 'history' now invokes 'phist' to print the Sub-
#system history file.  In addition, when adding new entries to the
#file, the description of the change is formatted  (piped  through
#'fmt') before being recorded.
!Wednesday, 10/17/79 15:05:49
*Perry
$phist
#The  new program 'phist' has been added to /bin to print selected
#portions of the Subsystem history file.  Optional arguments allow
#entries concerning specific commands or entered  on  or  after  a
#specific  date  to be selected for printing.  Because the pattern
#matching  routines  are  used,  the  source   code   resides   in
#/swtsrc/special_progs/phist.u.
!Tuesday, 10/23/79 16:37:00
*Allen
$help, usage, guide, hscript, Reference Manual, User's Guide
#Moved  reference  manual  and  user's  guide documentation out of
#/extra and into /doc (to be described later).  This  necessitated
#a  complete rewrite of 'help' and 'guide'.  Took this opportunity
#to significantly  expand  capabilities  of  'help'  and  'usage'.
#Deleted 'hscript', no longer required to implement 'help'.
!Tuesday, 10/23/79 17:14:25
*Allen
$/extra, /doc
#Moved all documentation out of /extra into /doc.
#
#/doc is now structured as follows:
#
#A   line-printer-formatted  (but  not  overstruck)  copy  of  the
#reference manual resides in /doc/fman.  This is  to  be  released
#with the Subsystem as standard procedure.  An unformatted copy of
#the reference manual resides in /doc/man.  This is to be released
#with the Subsystem, but on a separate logical tape so that people
#not updating their documentation frequently need not waste space.
#
#Each  of the above contain subdirectories 's1' and 's2', contain-
#ing the files for section  1  and  2  of  the  reference  manual,
#respectively.
#
#Each section entry "xxx" resides in a file "xxx.d", un- formatted
#in  /doc/man  and formatted in /doc/fman.  These subdirec- tories
#are not to contain anything other than the manual entries.
#
#/doc/man also contains the necessary formatter macros  (excepting
#'ev') and unformatted header and section 3 information.
#
#/doc/fman  also  contains  formatted headers, tables of contents,
#etc.
#
#Unformatted copies of general information needed by 'help' reside
#in /doc/help/<info>.  Formatted copies of  the  same  information
#reside in /doc/help/<info>.d
#
#A  line-printer-formatted (but not overstruck) copy of the user's
#guide resides in /doc/fguide.  This is also  a  standard  release
#item.   An  unformatted  copy resides in /doc/guide.  As with the
#reference manual, this is to be released on  a  separate  logical
#tape to conserve space.
#
#/doc/guide  contains one subdirectory for each user's guide ('ed'
#for the text editors, 'sh' for the shell, etc.)   as  well  as  a
#file named "intro" containing the introductory material.
#
#/doc/fguide  contains  one file for each user's guide, containing
#the formatted version of the corresponding guide.
#
#Procedures for building /doc/fguide from /doc/guide and /doc/fman
#from /doc/man  reside  in  /doc/build/guide  and  /doc/build/man,
#respectively.
#
#Procedures for printing the contents of /doc/fguide and /doc/fman
#reside in /doc/print/guide and /doc/print/man, respectively.
#
#Procedures  for determining undocumented commands and subprograms
#reside in /doc/undoc/man.
#
#The unformatted version of the  linked  string  reference  manual
#resides in /doc/ls.
#
#The  unformatted  version of the PDP-11 Cross-Assembler reference
#manual resides in /doc/as11.
#
#The help scripts for 'se' are files in the  directory  /doc/se_h.
#Although 'se' does not use these scripts at the moment, it should
#be modified to do so before the next release.
#
#Substantial  changes, too numerous to detail here, have been made
#to certain subdirectories of /doc/guide.  Please check the direc-
#tories themselves for further information.
#
#
#Problems with the current state of /doc:
#
#The organization  of  /doc/help  is  inconsistent;  there  should
#probably be a /doc/help and a /doc/fhelp.
#
#Some  sections of the reference manual are treated in ways vastly
#different from sections 1 and 2.  To prevent some hair pulling in
#the future, this should probably be changed.
!Thursday, 10/25/79 10:53:10
*Perry
$/swtsrc/swt_history
#Ran all change descriptions through 'fmt' so that they conform to
#the same format now produced by 'history'.
!Thursday, 10/25/79 10:59:03
*Perry
$history
#Modified  the  procedure  by which the history file is updated so
#that it is opened only once, thus eliminating a  possible  source
#of inconsistency.
!Tuesday, 11/06/79 14:24:29
*Allen
$fmt
#Changed  underlining  algorithm  so underlines are overwritten by
#underlined characters, rather than the other way around.
!Wednesday, 11/07/79 14:23:42
*Allen
$help
#Change  to  formatter  necessitated  change  to  terminal  output
#routines in 'help'.
!Sunday, 11/18/79 12:29:07
*Dan
$guide
#Replaced  the  'guide'  shell file with a program (a cannibalized
#version of 'help) to  take  advantage  of  the  formatted  user's
#guides  in  "/doc/fguide".   Command  line  syntax  is similar to
#'help'.
!Monday, 11/19/79 20:05:44
*Dan
$mon
#Added  code  to  display  per-user CPU time and rearranged output
#format.
!Monday, 11/19/79 20:06:58
*Dan
$history
#Changed  calls  to  'term'  to '/bin/term' so that 'history' will
#work correctly, even when called from "cmdnc0".
!Sunday, 11/25/79 16:50:01
*Dan
$defi
#Added constants 'ABS' and 'REL' for use with 'seekf'.
!Wednesday, 11/28/79 14:54:14
*Perry
$history, phist
#Moved  the  Subsystem  history  file  to  /doc/hist/history.  The
#'history' shell program and the 'phist' command have been changed
#to reference the new location.
!Thursday, 11/29/79 00:26:12
*Perry
$e
#Modified 'e' to pass all command line arguments on to 'se'.
!Sunday, 12/02/79 06:27:23
*Perry
$se
#Installed new version of 'se' that utilizes the 'erase-to-end-of-
#line' function on those terminals that have it (B150, B200, SBEE,
#CONSUL,  FOX,  REGENT).  This modification achieves a substantial
#reduction  in  the  number   of   transmitted   characters   (and
#consequently  the  amount of time) required to update the screen.
#The change will be most noticeable on terminals  running  at  low
#baud rates.
!Wednesday, 12/05/79 02:15:17
*Perry
$scroll
#Added  code  to  Jack  Waugh's scrolling terminal program for the
#GT40 to support a 'clear-to-end-of-line' function.  The character
#DC4 (ctrl-t) is used for this purpose.  In addition,  the  source
#code  for  the  terminal  program  was  moved into the new source
#directory structure and now resides in /src/lcl/spc/scroll.u.
!Wednesday, 12/05/79 02:17:28
*Perry
$se
#Added  GT40  to  those terminal types using the 'clear-to-end-of-
#line' terminal function to take advantage of the upgrade  to  the
#GT40's terminal program (see previous entry).
!Thursday, 01/10/80 15:18:49
*Allen
$diff
#Rewrote  output  code  entirely.   Now  has one of three formats:
#English-like difference summary, automatic  revision-bar  genera-
#tion for formatter input text, and editor script.  Eliminated use
#of   permuted-block  feature,  although  such  blocks  are  still
#recognized by the algorithm (if  anyone  can  find  any  use  for
#them).
!Thursday, 01/10/80 15:20:37
*Allen
$find
#Fixed  bug  that  caused  filenames  to  be  printed incorrectly.
#Removed -q option and replaced it with -v,  on  the  theory  that
#programs  should  behave  quietly  no  matter  how many arguments
#they're passed, unless specifically  requested  otherwise.   Con-
#verted code to 'rp'.
!Thursday, 01/10/80 15:21:08
*Allen
$as6800
#Added 'org' and 'res' pseudo-ops.
!Friday, 01/11/80 15:05:52
*Allen
$all local programs and subprograms
#Moved  documentation  for  local  progs to new manual section s3.
#Set up new manual section s4 for local subprograms, should  those
#ever be formalized.
!Friday, 01/11/80 15:06:58
*Allen
$help
#Changed to reflect new manual structure; automatic search in sec-
#tion 3 for programs and section 4 for subprograms.
!Saturday, 01/19/80 14:59:38
*Allen
$mail
#Rewrote completely.  Now allows multiple addressees, buffers let-
#ters in temporary files, and saves mail in =varsdir=/.mail rather
#than in the user's login UFD.
!Sunday, 01/20/80 11:42:26
*Allen
$mkci
#Deleted.
!Sunday, 02/24/80 17:45:11
*Dan
$sh
#Modified compound node handling to use a special flag to indicate
#the  "name"  of  a  compound node.  'Execute_node' looks for this
#flag and reconstructs the temporary file  name.   Otherwise,  the
#current  directory  must be in the search rule for compound nodes
#to work.
!Sunday, 02/24/80 17:47:05
*Dan
$swt
#Corrected  argument  parsing  problem that cause "Ph_unit" in the
#common area to always be set to zero.
!Sunday, 02/24/80 17:49:04
*Perry
$expand
#Added  code  to pass through escaped equal signs.  Template names
#are now defined as identifiers, rather than any string  that  can
#get through 'initswt'.
!Sunday, 02/24/80 17:50:29
*Perry
$sh
#Added "missing pathname in redirector" error message to shell  to
#diagnose a funnel surrounded by blanks.
!Monday, 02/25/80 11:31:00
*Perry
$chkarg
#Modified the code so that the only possible return values are ERR
#and  non-negative  integers.   The former case occurs when an il-
#legal  (i.e.,  non-alphabetic  or  specifically  disallowed   al-
#phabetic)  character  appears  in  an  option  argument (one that
#begins with "-").  In all other cases, the return value indicates
#the number of options letters that were encountered.
!Monday, 02/25/80 11:33:38
*Perry
$tc
#Modified code to allow a pathname argument to be specified as the
#input  source.   In  the  absence  of such a pathname, the former
#behavior manifests:  standard input 1 is used.
!Wednesday, 02/27/80 16:35:00
*Allen
$whoami
#Deleted forever.
!Wednesday, 02/27/80 16:35:20
*Allen
$error
#Deleted forever.
!Wednesday, 02/27/80 17:24:02
*Allen
$compare, diff
#Deleted compare.  Functionality now handled by "diff -c[v]".
!Wednesday, 02/27/80 17:36:29
*Allen
$du
#Liquidated.
!Wednesday, 02/27/80 17:38:20
*Allen
$login
#Vanquished.
!Thursday, 02/28/80 11:12:26
*Allen
$slice
#Now   accepts  regular  expressions  for  starting-  and  ending-
#patterns.  An "inclusive/exclusive" flag must  be  specified  for
#each  pattern  supplied,  to indicate whether the line containing
#the pattern is to be copied through.  If the  ending-pattern  and
#its associated inclusion flag are missing, copying proceeds until
#EOF.
!Thursday, 02/28/80 11:13:09
*Allen
$cto
#Replaced  Ratfor  code  with  a  shell  file  that calls 'slice'.
#Semantics unchanged.
!Thursday, 02/28/80 11:18:33
*Dan
$rp
#Added '-m' option for case mapping.
!Thursday, 02/28/80 13:37:07
*Allen
$memo
#Made  'memo'  available  for  general  use as a locally-supported
#program.
!Friday, 02/29/80 13:54:50
*Allen
$speling
#Now  accepts  input from files named as arguments or from STDIN1.
#Also   uses   dictionary   in   =aux=/spelling,    rather    than
#=extra=/spelling.
!Friday, 02/29/80 16:47:48
*Dan
$initswt
#Made  'initswt'  accept  an  argument  to name the template file.
#Default is still "extra>template".
!Sunday, 03/02/80 17:16:35
*Dan
$=incl=/swt_def.r.i
#Added  definition "define(longreal,real*8)".  New name for double
#precision real is "longreal".
!Monday, 03/03/80 10:51:42
*Dan
$rp
#Added  keyword  "doubleprecision".  Removed keywords "double" and
#"precision".  Added "stmtfunc" keyword to  allow  declaration  of
#statement  functions.   Added  code so that "call init" and trace
#code is not added to "blockdata" subroutines.
!Monday, 03/03/80 11:21:13
*Dan
$mkfd$
#Added to library.
!Monday, 03/03/80 11:25:39
*Dan
$dopen$
#Removed unnecessary code for setting the open mode of the file.
!Tuesday, 03/04/80 15:52:11
*Dan
$dtoc
#Corrected handling of exponential format output.  "1E6" was being
#output as "16", etc.
!Thursday, 03/06/80 13:14:50
*Allen
$dprint
#Fixed bug that caused phantom blanks to print incorrectly.
!Thursday, 03/06/80 13:22:20
*Allen
$fmt
#Added  'BS'  and  'bs'  functions for generating backspaces, 'bl'
#function for generating unpaddable blanks.
!Friday, 03/07/80 18:26:34
*Perry
$phist
#Modified  argument  handling  code  to use 'parscl'.  Changed the
#syntax of the date accepted by the "-f" option to
#
#     day | month/day | month/day/year
#
#where the current month and  year  are  used  if  not  explicitly
#specified.
!Friday, 03/07/80 18:59:42
*Perry
$dprint
#Added a "-j" option to cause a final page eject.
!Monday, 03/10/80 12:39:48
*Perry
$tputl$
#Fixed  bug  that caused the grave accent to print as an "at" sign
#when case mapping was turned off.
!Monday, 03/10/80 16:04:50
*Dan
$tgetl$
#Corrected handling of "DEL" in "erase_escape".  It was only eras-
#ing 2 character instead of 3.
!Tuesday, 03/11/80 15:23:10
*Dan
$rp
#Fixed bug that botched output code when presented with "return}".
!Tuesday, 03/11/80 15:25:52
*Dan
$rp
#Added  "escape" line handling.  Lines beginning with "%" are pas-
#sed through into the Fortran.  "%1" passes to declaration stream,
#"%2" to data, and "%3" to code.  "%" defaults to "%3".  Following
#the escape sequence immediately by an ampersand causes first non-
#blank to be output in column 6 rather than column 7.
!Friday, 03/14/80 09:04:07
*Allen
$guide
#Increased input buffer size to 500 characters; 300 was not enough
#to handle some underlined/boldfaced output from the formatter.
!Friday, 03/14/80 16:16:35
*Allen
$iota
#Fixed  totally  unreasonable argument order.  Also added optional
#format specification argument.
!Saturday, 03/15/80 17:20:24
*Perry
$common
#Fixed bug that caused common to go into an infinite loop when the
#input files were of different length.
!Sunday, 03/16/80 15:29:58
*Dan
$sep
#Changed  method  of  finding "include" files.  Instead of looking
#for "include" statements, now 'sep' just looks  for  "<pn>_com.i"
#or "<pn>_com.r.i" and forgets about the rest.
!Monday, 03/17/80 14:05:58
*Perry
$lps
#Fixed  bug that caused number of copies to always be displayed as
#"1".
!Tuesday, 03/18/80 21:12:07
*Dan
$rp
#Added handling for Prime Fortran octal constants (":<number>") in
#'string_table' declarations
!Friday, 03/21/80 17:52:54
*Dan
$getto, follow, tscan$
#Added on-unit to catch bad password errors.
!Friday, 03/21/80 17:53:47
*Dan
$bpas$
#Added  to library to catch (and subvert) the "bad password" error
#signalled by "atch$$".
!Friday, 03/21/80 17:57:15
*Perry
$=extra=/template
#Added  templates =template= (which expands into =extra=/template)
#and =utemplate= (which expands  into  =varsdir=/.template).   The
#latter  is in anticipation of the implementation of per-user tem-
#plates.
!Friday, 03/21/80 18:49:05
*Perry
$swt
#Added code to initialize per-user templates.
!Friday, 03/21/80 18:50:59
*Perry
$=incl=/swt_com.r.i
#Added  to  the end of the common block the declarations necessary
#to implement per-user templates.
!Friday, 03/21/80 19:17:07
*Perry
$lutemp
#Added code to search the per-user template area before the system
#template  area,  completing  the  implementation of per-user tem-
#plates.
!Monday, 03/24/80 13:07:18
*Dan
$cn
#Added code to allow escaped slash in new file name.
!Monday, 03/24/80 16:22:16
*Dan
$guide
#Changed  "display_line" to always throw away the first LINE_START
#- 1 characters of each line, so that  revision  bars  are  thrown
#away on display to a terminal.
!Monday, 03/24/80 16:23:27
*Dan
$help
#Changed  "display_line" to always throw away the first LINE_START
#- 1 characters of each line, so that  revision  bars  are  thrown
#away on display to a terminal.
!Tuesday, 03/25/80 13:36:08
*Dan
$del
#Changed  call to 'ptoc' to 'upkfn$' so that 'del' would correctly
#delete directories containing files with slashes in the names.
!Tuesday, 03/25/80 14:29:48
*Perry
$lps
#Fixed bug in error reporting.
!Tuesday, 03/25/80 15:19:37
*Perry
$lf
#Fixed  bug  that  prevented  sorting  on file size from operating
#correctly.
!Thursday, 03/27/80 12:34:26
*Dan
$guide
#Changed  overstrike  handling  algorithm to make sure that under-
#lined characters are printed on CRT's.
!Thursday, 03/27/80 16:40:17
*Perry
$se
#Fixed  bug  in  cursor  positioning  routine  for ADDS Consul 980
#terminal.
!Thursday, 03/27/80 17:14:12
*Perry
$sh
#A number of changes and improvements have been made to the shell.
#Most  of  these are internal and should not be apparent to users,
#except as they manifest through improved  speed  and  robustness.
#The following list summarizes the bug fixes and enhancements that
#have been made:
#
#-    Commands  that  contain more than 10 nodes are now correctly
#     diagnosed as errors; the message "too many nodes in network"
#     is printed.
#
#-    A network consisting of 10 nodes, each of which is explicit-
#     ly labeled, will now execute properly.   Before,  it  failed
#     with the message "too many labels".
#
#-    A node may now have multiple labels.
#
#-    If  a  label  appears after the first redirector or argument
#     (including the command name) in a node, it is interpreted as
#     an argument and not as a label.
#
#-    Nested iteration  groups  are  now  correctly  diagnosed  as
#     errors.
#
#-    Empty  iteration  groups  are  no  longer  considered  to be
#     errors.  If a command contains an empty iteration group, the
#     result is a null command.
#
#-    The "single-step" shell trace option now operates as  it  is
#     documented.
#
#-    If  the  last  line  in  a  command  file has a continuation
#     character it is not discarded as was previously the case.
#
#-    Adjacent pipe connectors or i/o redirectors (without  inter-
#     vening whitespace) are now correctly diagnosed.
#
#-    Syntax  errors  detected while processing iteration now give
#     better context in the messages.
#
#-    If a file specified in an i/o redirector can't be opened  or
#     created, any previously opened redirected files are closed.
#
#-    The "command_line" shell trace option now prints the command
#     line exactly as it is read from the command input stream.
#
#-    A  "symbol"  (abbreviation "sy") shell trace option has been
#     added to allow tracing of the shell's lexical analyzer.
#
#-    A "location" (abbreviation "lo") shell trace option has been
#     added to provide information on where a  particular  command
#     is located for execution.
#
!Thursday, 03/27/80 22:09:49
*Dan
$publish
#Now verifies user name before attempting delivery.
!Tuesday, 04/01/80 13:46:49
*Paul
$filtst
#Added missing 'close' so the file is not left open.
!Thursday, 04/03/80 12:55:32
*Perry
$hd
#Modified to print out logical disk number in octal, when the disk
#number is known.
!Friday, 04/04/80 09:27:59
*Perry
$=incl=
#Added  the  definition  file  "=incl=/char_def.r.i" which defines
#standard mnemonic names for all ASCII printing characters.  These
#are the same character definitions that appear  in  "=incl=/defi"
#and are intended for use by programmers converting their old 'rf'
#programs to be processed by 'rp'.
!Friday, 04/04/80 09:37:21
*Perry
$=incl=/swt_def.r.i
#Added a definition for "CHARACTER_DEFS" to define the location of
#the new character definitions file.
!Friday, 04/04/80 14:14:58
*Perry
$lf
#Fixed  bug  that  caused garbage to be printed for the owner name
#when requested by a non-owner.
!Tuesday, 04/08/80 00:07:52
*Dan
$sh
#Modified behavior of "call_internal_command" so that it no longer
#maps  its  argument to lower case.  Its action made it impossible
#to invoke shell variables with upper case letters in  the  names,
#if the variables were searched after the internal commands.
!Tuesday, 04/08/80 23:02:52
*Dan
$open
#'Open'  did  not set the device type in the file descriptor for a
#line printer spooler file.  This resulted in the  "can't  create"
#message  from  the  shell  when  the device type left over in the
#descriptor was not a disk type (it almost always was, though).
!Thursday, 04/10/80 11:59:31
*Perry
$swt
#Swt now does an automatic "rls -all" to clean out the Primos ring
#3 stack.  Implementation of this feature required the addition of
#a  "-c"  command  line  option  which  suppresses  the  automatic
#release.
!Thursday, 04/10/80 14:19:41
*Perry
$=incl=/swt_def.r.i (standard defines file)
#Added  "DS_DECL"  macro  to make proper declarations for users of
#dynamic storage routines.  Usage is
#
#     DS_DECL (Mem, MEMSIZE)
#
#where 'Mem' is the name to be used for the dynamic  memory  array
#and MEMSIZE is the size of the array.
!Tuesday, 04/15/80 09:29:44
*Allen
$phone
#Added  'phone' command because I'm too lazy to look up phone num-
#bers in the book.
!Thursday, 04/17/80 22:12:02
*Dan
$swt_def.r.i
#Removed  obsolete  definition  of  "abs" as "iabs".  No Subsystem
#programs depend on this definition, and it  can  easily  trip  up
#unsuspecting users.
!Friday, 04/18/80 11:42:28
*Perry
$lopen$
#Modified  the code to use 'parstm' for parsing defer time instead
#of the previous ad hoc method.
!Friday, 04/18/80 12:56:26
*Perry
$diff
#Changed  the output format for the "-d" and "-dv" options for the
#sake of compactness and readability.
!Friday, 04/18/80 12:58:07
*Perry
$upkfn$
#Added  code  to  properly handle passwords containing equals bars
#(=).
!Sunday, 04/20/80 16:26:25
*Perry
$fmt
#Added code to allow right brackets (]) to appear literally inside
#function calls when preceded by the escape character (@).
!Sunday, 04/20/80 16:30:49
*Perry
$ar
#Added  to  'filarg' a declaration for 'ptoc', which declaration's
#absence previously caused a floating-to-fixed conversion error.
!Sunday, 04/20/80 18:03:16
*Perry
$=bin=/sh
#Two  bugs  fixed  in  the  parser:   'equal'  was  undeclared  in
#'get_sym' causing the symbolic label "$" to result  in  a  syntax
#error;   the   wrong   common   variable   was  being  passed  to
#'enter_label' by 'node', causing explicit labels  to  remain  un-
#defined.
!Sunday, 04/20/80 18:03:49
*Dan
$find
#'Find' no longer catches control-p.
!Sunday, 04/20/80 18:17:16
*Perry
$se
#Added  code  to do a "force write to disk" whenever a 'w' command
#is given to a disk file.
!Monday, 04/21/80 12:01:27
*Perry
$ar
#Fixed bug that prevented creation of new archive files.
!Monday, 04/21/80 13:26:43
*Perry
$fmt
#Special character functions now take an optional repeat count ar-
#gument;  if specified, that many instances of the special charac-
#ter are yielded as the function's result.
!Monday, 04/21/80 14:02:49
*Dan
$locate
#Installed   all   'loc'   files   in  source  directories;  wrote
#'make_srcloc'; modified 'locate' to work properly.
!Monday, 04/21/80 14:03:19
*Dan
$source
#Fixed  bug  that caused source to hang waiting for terminal input
#when no files are found.
!Monday, 04/21/80 15:49:36
*Perry
$swtseg
#Installed a new version based on SEG revision 17.3.
!Tuesday, 04/22/80 16:22:32
*Perry
$se
#Fixed  bug  that  caused  an  extra blank to be appended to lines
#edited  in  INSERT  mode.   Changed   the   assignment   of   the
#INSERT_NEWLINE  function  from  the ctrl-n key to the ctrl-_ key.
#Added  GOBBLE_SCAN_LEFT  (ctrl-n),  GOBBLE_SCAN_RIGHT   (ctrl-b),
#GOBBLE_TAB_LEFT    (ctrl-\),    GOBBLE_TAB_RIGHT   (ctrl-^)   and
#INSERT_TAB (ctrl-x) functions.
!Wednesday, 04/23/80 17:51:37
*Dan
$find$
#Changed name to 'findf$' so that it won't conflict with the MIDAS
#shared library.
!Wednesday, 04/23/80 17:54:59
*Dan
$exec, mkdir$, swt
#Changed calls to "find$" to calls to "findf$".
!Wednesday, 04/23/80 17:57:53
*Dan
$missin
#Removed  it from Subsystem library, since it already in the Prime
#Fortran library.
!Wednesday, 04/23/80 18:31:55
*Dan
$ld
#Made  'ld'  expand  templates in file names.  Also made 'ld' take
#the directory name for accessing libraries from a template to al-
#low  a  Subsystem  rebuild  to  reference  a  different  set   of
#libraries.
!Thursday, 04/24/80 13:28:26
*Perry
$fmt
#Added  'eo'  and 'oo' commands to specify additional page offsets
#for even- and odd-numbered pages, respectively.  Both values  are
#initialized  to  zero  and  revert  to  that when no parameter is
#specified.
!Friday, 04/25/80 12:36:58
*Dan
$swt
#Removed  call  to turn off command output.  Commented out code to
#release stack until a solution with better side  effects  can  be
#found.
!Sunday, 04/27/80 23:38:47
*Dan
$t$clup
#'Create'  was  not declared as an integer function which caused a
#fixed-to-floating overflow.
!Monday, 04/28/80 14:50:01
*Perry
$cp
#Fixed  bugs  that  prevented  the  "-s"  option  from  working on
#unmodified Primos systems.
!Monday, 04/28/80 14:57:57
*Perry
$mt
#Redefined   argument   syntax   as   follows:    only   a  single
#read/write/position operation may be  performed  per  invocation;
#file  numbers now start at 1 instead of 0; positioning to records
#within files may be specified; file counts are no longer  allowed
#when  reading  files from tape; the "-1", "-2" and "-3" pathnames
#are  no  longer  supported  because  of   the   availibility   of
#/dev/stdin?  and /dev/stdout?; if no pathnames are specified with
#the  "-r" or "-w" options, standard output 1 and standard input 1
#are used, respectively.
#
#In addition to these modifications, 'mt'  now  correctly  handles
#lines that contain 80 characters plus a newline.
