Trailing-Edge - PDP-10 Archives - bb-h138f-bm - 7-sources/diuver.mac
There are 4 other files named diuver.mac in the archive. Click here to see a list.
TITLE DIUVER - Data Interchange Utility Version and Revision History

SUBTTL	Copyright Notice

DIUMAJ==1			; Major version
DIUEDT==275			; Your octal edit number goes here






;Insert ASCIZ copyright notice number for those who typeout EXE files


;Set DIU version number

DIUVER==:BYTE(3)0(9)DIUMAJ(6)0(18)DIUEDT ;Compose OCTAL DIU version number

LOC 137				;Go to location where versions are stored
DIUVER				;Plant our version number there
RELOC				;Back to relocatable
	SUBTTL Revision History


Indicate edits in the following format:

edit#	In affected module: description of what was fixed
	name of person who fixed it and the date

1	Implementation of DIU$INITIAL_VALUE and DIU$TAG_FIELD
	Charlotte Richardson	29-May-85
	Modules: ACTION.REQ [1], ACTUT2.BLI [new module], ACTUTL.BLI [1],

2	Add new error codes to DIU.R36
	Sandy Clemens	14-Jun-85

3	In default transform generation and transform loading modules
	do the following:  clean up copyright notices; change LIBRARY
	'DIUMSG' to 'DIU';  clean up some of the condition handling.  In
	dot bug in DIU$DEF_TRANS (in DIUMMP.BLI).
	Sandy Clemens	14-Jun-85

4	During transform loading / data type remapping, if the member node
	was made by CRX then there won't be a facility specific block.  If
	there is an initial value, however we need the facility specific
	block in order to save the original data type (before mapping) for
	use in initial value processing.  Add creation of this block and
	setting of the data type within it.
	Sandy Clemens	17-Jun-85

5	Handle FAO-format SIGNAL's
	Andy Nourse

6	Implement spooling
	Andy Nourse

7	Fix some erroneous comments in DIUMAP.BLI
	Sandy Clemens	19-Jun-85

10	Make default transform generation code use the DIU top level
	condition handler rather than DIU$TRANS_HANDLER.  Add FAO
	directive to DIU$_INVFLDDSC error condition.
	Sandy Clemens	20-Jun-85

11	Remove repeated copies of error table definition from various
	places and put it into DIU.R36 for the general world to use.
	Add DIU$CONVERR error to DIU.R36.
	Sandy Clemens	26-Jun-85

12	Update data type mapping tables to reflect support of COMPLEX
	data types.  FILE: DIUMAP.BLI.   Remove all DIL / DIX files
	from DI1: and put them into the new DIL V2.1 areas.
	Sandy Clemens	12-Jul-85

13	Add new complex number support to record descriptions
	Charlotte Richardson	12-Jul-85

14	Teach tree remapping code about complex floating-point data
	types.  FILE: DIULTR.BLI.  Add transform execution code and
	conversion warnings report code.  FILES:  DIUETR.BLI (NEW),
	Sandy Clemens	15-Jul-85

15	Fix fixed binary datatypes during description creation to
	accurately reflect VAX datatypes -- mapping will reset them if
	system of origin is not a VAX.
	Charlotte Richardson	15-July-85

16 	Fix size of USERNAME and CONNECTED_DIRECTORY fields.
        (RDF had changed them to conform to VMS, not TOPS-20).
        Also add comments for XDUMP.
	Andy Nourse		15-July-85

17	Make DIU$_INVDATTYP and DIU$_INVTYPSYS give the data type code
	which is invalid.
	Sandy Clemens	16-Jul-85

20	Remove TTY external reference from DIUTUT.  It's not needed and
	will not compile on the VAX.  Also change $FAO_PUT of error message
	to a SIGNAL of DIU$_BUG.
	Sandy Clemens	17-Jul-85

21	Fix ACTION.BLI to compile with larger version of DIXLIB, avoiding
	heap space problem in BLISS36.
	Charlotte Richardson	17-July-85

22	Made routine SINGLE_FQN_NAME get the entire field name string out of
	the record description tree (not just the partial name from the
	transform).  Make DIU$$GET_BYTSIZ in DIUETR module NOT global.  Fix
	bug DIU$UPDATE_FFD: in the call to DIX$$CHECK_ALIGNMENT the data
	type within class code was passed, rather than the entire data type
	Sandy Clemens	18-Jul-85

23	Remove DIU$CDD_EXTRACT from DIUTUT module and put it into INTFAC.
	It's only part of INTFAC, not DIU.  FILES:  INTFAC.BLI,DIUTUT.BLI,
	DIUTLB.BLI.  Make transform loading return the destination record
	Sandy Clemens	18-Jul-85

24	Put in /WARNING_COUNT and /KEY switches, description and transform
	Andy Nourse  18-Jul-85

25	Incorporate PAT parser error signalling and allow parser debugger to
	be turned off without turning off debugging.
	Also allow initial values of dimensionned fields.
	ACTION.BLI[2], DEB.BLI[3], DEB.REQ [3], DIU.R36 [25], DIUCSR.BLI [25],
	Charlotte Richardson 2-Aug-85

26	Incorporate Doug Rayner's version of ACTUT2 for FLIN and DFIN on
	Charlotte Richardson	19-Aug-85

27	Fix absent rename output filespec blowing up.  Put in @. Fix too-long
	node id blowing up. Make prompt happen after TAKE.

30	Update DIUCSR for TOPS-10 support.
	Sandy Clemens	13-Sep-85

31	Change name of DIU-COMMAND.R36 to DIUCOMMAND.R36 to make porting
	to TOPS-10 easier.  (TOPS-10 will truncate DIUCOMMAND to DIUCOM,
	but cannot bypass the "-").  FILES:  DIUMOD.B36, DIUCMD.B36,
	Sandy Clemens	17-Sep-85

32	Fix bytesize edit made to DIUDIR.
	Andy Nourse     18-Sep-85

33	Merge TOPS-10 changes into TOPS-20 source.  FILES:  DIUQUT.B36,
	Sandy Clemens	20-Sep-85

34	Fix bug in clearing (zeroing) buffers in DIUSHD.B36.
	Sandy Clemens	20-Sep-85

35	The following source files had enough differences between TOPS-10
	and TOPS-20 that rather than merge the sources, they have been
	left as separate files and renamed to show the distinction:

	Orignal Name	Tops-10 Name	Tops-20 Name
	------------	------------	------------
	DIU.B36		DIU10.B36	DIU20.B36
	IPCF.B36	IPCF10.B36	IPCF10.B36

	Also, ERROR.B36 has been renamed to DIUERR.B36 (for both systems).

	Sandy Clemens	25-Sep-85

36	Merge TOPS-10 changes into TOPS-20 source.  FILES:  DIUSPL.B36,
	Andy Puchrik	26-Sep-85

37	In ACTUT2.BLI:  change REQUIRE 'TOPS20' to LIBRARY 'TOPS20' to
	avoid insufficient dynamic memory when compiling.
	Sandy Clemens	30-Sep-85

40	Put the REQUIRE/LIBRARY of 'TOPS20' into a TOPS-20 only
	conditional in DIUDEF.B36, DIUDIR.B36, DIUDO.B36, DIUQUT.B36,
	remove LIBRARY of TOPS20 from DIUC10.B36.  Now, TOPS20.R36 is
	not needed to build DIU-10.  Also, clean up the SHOW DEFAULTS
	display (File:  DIUSHD.B36).
	Sandy Clemens	7-Oct-85

41	Implement PUSH, SPAWN and EXECUTE commands in DIUC20.B36.
	FILES:  DIU.R36 (new error message) and DIUC20.B36.
	Sandy Clemens	10-Oct-85

42      Make 'mjob' and 'mst_flag' EXTERNAL rather than OWN variables.
	Sandy Clemens   11-Oct-85

43	Have DO$HANDLER return RMS error as routine value rather than
	DIU$_RMS_ERROR, since we need the actual RMS status to make the
	queue/noqueue decision.  Also, make routine REQUEST make a more
	intelligent decision about whether to queue a requeust.  Make
	numerous switches which were the old FTS format be the new DIU
	format.  (EX:  LOG: --> LOG_FILE:).  Make /CARRIAGE_CONTROL work.
	Fix the /TRANSFORM switch which was being processed by /DESCRIPTION
	states...  Add CRLF after "request queued" message.  Clean up the
	Q$GIVEUP routine.
	Sandy Clemens   16-Oct-85

44	Add missing SET DEFAULTS switches /DEFERRED and /NODEFERRED.
	File DIUC20.B36.
	Sandy Clemens	17-Oct-85

45	Make DO$HANDLER return a status even if it doesn't have a source
	FAB.  If this is not done, anything that signals without a source
	FAB set returns 0, which causes the request to be queued even on
	a non-recoverable error.   FILES:  DIUDO.B36.
	Sandy Clemens	21-Oct-85

46	Make the queue decision smarter.  Remove /NOTIFY:FAILURE code.
	Clean up SET DEFAULTS code.  JOBNAME was being set to trash for
	a local to local request -- set it to "LOCAL" instead!
	Sandy Clemens	4-Nov-85

47	Make routine S$CREJOB return more intelligent messages after
	CRJOB JSYS call.  Also, make it return secondary error message.
	Sandy Clemens	4-Nov-85

50	Clean up SHOW DEFAULTS (again).  FILE:  DIUSHD.B36.
	Sandy Clemens	4-Nov-85

51	Fix stream LF with CR.  File:  DIUDO.B36.
	Andy Nourse	7-Nov-85

52	Fix bug in $STR_SCANs in DECIDE_QUEUE routine.  When setting up
	for prompting, make sure the PROMPT_CHARACTER is ASCIZ!  Make
	sure that the access string has a leading double-quote even if
	the USERNAME is not specified in routine DEF$ACCESS.  Make error
	text NOT display passwords.  Make sure PDB size is large enough 
	so that the account string can be retrieved in routine IPC_HNDLR.
	Update IPC_HANDLER and IP_ENTER routines with missing edit from
	FTS which enables use of account string.  Make sure PSI channels
	which are enabled by STARTing queue are disabled when by STOP
	Sandy Clemens	12-Nov-85

53	In routine DO$COPY_FILES do NOT reset the byte size in the RABs.
	Also, make sure to copy the source record buffer to the destination
	record buffer.  FILE: DIUDO.B36
	Sandy Clemens	13-Nov-85

54	Uncomment code in DO$SETUP_COPY to check for destination file
	being disk (MDI) or remote file (in setup for block mode transfer).
	Sandy Clemens	14-Nov-85

55	Add typ block of type=image and modify routine DIR$FULL to display
	byte size, format, and record size if applicable.
	Andy Puchrik  2-Dec-85

56	Fix routine FILE_ARGUMENT so /TRANSFORM and /DESCRIPTION switches
	work.  Reorder the action routines alphabetically.  Implement TAKE
	switches (/ECHO, /VERIFY, /NOECHO, /NOVERIFY).  Remove the "transfer"
	switches from PRINT and SUBMIT commands.  Add /WAIT to STOP command.
	Make STOP/NOWAIT complete shutting down the queue.  Remove code in
	DO$COPY_FILE which always defaults copy-with-conversion default to
	IMAGE mode.  Remove TOPS10 conditional from the code which sets the
	dst_fab[FAB$V_SUP] bit in DO$INIT_BLOCKS.  In DO$SETUP_COPY increase
	dst_fab[FAB$H_MRS] by 2 to make room for CR,LF.  In record mode
	transfers (with NO conversion) point the dst_rab[RAB$A_RBF] at the
	dst_rab[RAB$A_UBF] NOT at the src_rab[RAB$A_RBF] because making the
	src and dst the same will cause conficts (reading and writing to/from
	the same place!!).  Clean up the code which releases the dst JFN and
	$CLOSES the dst_fab in DO$HANDLER.  FILES:  DIUC20.B36, DIUDO.B36,
	Sandy Clemens	3-Dec-85

57	Enable the interrupt system at the end of routine SP$STOP.
	File:  DIUSPL.B36.
	Sandy Clemens	4-Dec-85

60	Implement /OUTPUT: switch for DIRECTORY.  File: DIUC20.B36.
	Sandy Clemens	16-Dec-85

61	Remove $CMOFI (output file function) from APPEND_GET_INPUT,
	SUBMIT_GET_INPUT and RENAME_GET_INPUT command table states.
	These were work-arounds for a COMND bug which has now been fixed,
	and they now cause DIU problems.  FILE:  DIUC20.B36.
	Sandy Clemens	16-Dec-85

62      Add  rest of command switches, some new action routines.
        Next edit will be to make them work.  FILES: DIUC20.B36,
        Andy Puchrik  9-Jan-86

63	Remove comments in DO$SETUP_COPY and fix to modify dest MRS.
	Correct the format of the calls to DIU$PARSE_TRANSFORM and
	Andy Puchrik  1-Jan-86

64	Make PAT PARSER signal parsing errors correctly.  Teach DIU
	about the new signal codes.  Add GLOBAL patpar_warn which is
	a flag that gets set if the DIU$_PATPAR informational condition
	is seen, and which is cleared when either DIU$_PARDES error
	condition or DIU$_PARTRA error condition is seen.  Remove SIGNAL
	from DEB.BLI which is causing problems for DIU and is used for
	debugging only.  Change TEXT_BUFn to TEXT_nBUF in PATPAR.BLI so
	that DDT can distinguish the symbols.  FILES:  DIU.R36, DIUC20.B36,
	Sandy Clemens  15-Jan-86

65	Change command switches: 1) remove /DATATYPE, add /USAGE 2) remove
	bit in SRCFIL and DSTFIL routines.  In DIU$LOAD_TRANS check usage type:
	don't allow mixed usage w/in records; if user specified a usage type it
	must match the usage of the datatypes in the record.  If user didn't
	specify usage, then set global usages based on usage found in record
	description (or default if none found).  Use global usage flags to set
	TYP$H_CLASS for src & dst before $OPENs.  Remove passing src_buf and
	dst_buf to DO$SETUP_COPY.  Remove second call to $RAB_INIT in
	DO$SETUP_COPY since there is one in DO$INIT_BLOCKS.  Check global usage
	flags to determine what to pass to DIU$LOAD_TRANS for usage types;
	after call to DIU$LOAD_TRANS reset TYP$H_CLASS in case a new usage was
	found.  Disallow copying ISAM file to anything but another ISAM w/out
	transformation.  Clean up DO$HANDLER; delete commented out section.
	Sandy Clemens  12-Feb-86

66	In DIU$LOAD_TRANS when checking the usage of the datatype, add
	an OTHERWISE case to the SELECTONE statement in order to catch
	the "data type" codes for DIU$K_DT_OVERLAY and DIU$K_DT_STRUCTURE.
	Sandy Clemens  17-Feb-86

67	Fix problem with initial values (address of initial value buffer
	was being passed to DIX incorrectly).
	Sandy Clemens  18-Feb-86

70	Restructure DIU$COPY so that the $PARSE of the dst file, the call to
	DIU$LOAD_TRANS, and, therefore, the figuring of the source TYP$H_CLASS
	and FAB$V_BSZ, are all done before the $OPEN of the source.  This info
	is needed for the $OPEN.  Remove setting the dst SYNCHK bit:  it causes
	the config XAB not to be filled in and so we can't get the dst op sys
	type.  Force RMS to usae image mode to copy to VAX or PRO w/transform
	(since DIL puts the data into VAX/PRO image mode).  Clean up adjustment
	of MRS/RSZ.  If dst file is NONRMS make sure src is NONRMS & there's no
	transform.  Clear dest buffer after $PUT.  Clean up DO$ATTRIBUTE_COPY
	and make it smarter about defaults.  Add setting F_RAT, F_RFM, F_NONRMS
	bits in SFLAGS and DFLAGS structures when RAT, RFM or NONRMS seen.  Add
	"need_usage" (not used anymore).
	Sandy Clemens  25-Feb-86

71	Always set the byte size to 36 for fortran binary files.  Set the
	destination maximum record size to 625 as a temporary workaround
	for a RMS bug which causes problems copying files to a VAX.
	Sandy Clemens	25-Feb-86

72	Define WARNINGS_COUNT and if /WARNINGS:n was not specified by the
	user, then set WARNINGS_COUNT to the default which is 1.  Remove
	WARNING_MAX and some debugging stuff.  FILES:  DIUC20.B36, DIUDO.B36.
	Correct the format of the SIGNAL's of INVDATTYP and INVTYPSYS.
	Sandy Clemens	3-Mar-86

73	Make all /WARNINGS and /USAGE information be stored in the REQBLK
	structure (not in global flags -- this won't work for queued
	requests).  Get rid of "need_usage" (again?).  Make all usage type
	literals POSITIVE so that comparison of reqblk[DIU$B_???_USAGE_TYP]
	(a single BYTE) with the fullword literals always gives the desired
	Sandy Clemens	4-Mar-86

74	Figure image mode MRS correctly based on what DAP does.
	Sandy Clemens	18-Mar-86

75	Fix /KEY: switch to support key option flags CHANGES, NOCHANGES,
	DUPLICATES and NODUPLICATES and to support the correct syntax!
	Change /KEY: action routine so that the key command text is saved
	in a buffer in the REQBLK and parsed later by DIU$KEY_ACTION routine
	(new).  FILES:  DIUC20.B36, DIUDO.B36, DIU.R36
	Sandy Clemens	19-Mar-86

 76	Fix reparsing of command lines by setting CMDRPR (command reparse 
	routine) to INIT_COMAND.  This fixes ^W and ^H problems.
	Remove unimplementable switch FIMAGE.
	Pass 0 as third argument to EPCAP to prevent WARNing about AC3.
	Add DATA=10 to /BLK_FACTOR:n switch so that "n" can be parsed.
	Add help strings to CMKEY and CMSWI parsing for better help on "?".
	Revise some noise words to confirm to TOPS-20 EXEC.
	Add CM_SDH to CMNOD to prevent seeing both "source filespec" and
	"node name" (since source filespec implies node name).
	File: DIUC20.B36
	Gregory A. Scott  24-Mar-86

  77	Move clearing of def_node to INIT_REQUEST where it belongs.
	Remove somewhat strange CCL command logic and replace with simple
	ccl_mode flag.  Each command now has a NEXT state of COMMAND_EXIT,
	which causes each command to terminate in routine DIUCMD.  DO_MORE
	and associated logic has been removed.  TAKE tried to do a RLJFN of
	a open JFN which doesn't work (it now does a CLOSF).
	Make TAKE and "@" illegal from CCL commands (for now).  File: DIUC20
	Gregory A. Scott 25-Mar-86

 100	Get version number  from .JBVER  and print via  FAO's !V  in both  SHOW
	VERSION (DIUC20) and SHOW DEFAULTS (DIUSHD).  Use "!V" to print version
	rather than splitting  it up  ourselves for printout  in SHOW  VERSION.
	Make nested  TAKE  commands work  right  in  terms of  echoing  or  not
	echoing.  Add SET TAKE to set the default take echo mode and SHOW  TAKE
	to display the default  take mode.  Make CCL  TAKE (even nested!)  work
	again.  A CCL command that didn't parse left you in DIU, which is fixed
	by setting cmdnpt to COMMAND_EXIT to return control to DIUCMD.   Files:
	Gregory A. Scott 26-Mar-86

101	Clean up routine DIU$KEY_ACTION.  PRODUCE_FQN zaps the string
	passed it so pass it a temp copy of the key token.  Make key
	string in REQBLK all uppercase so it will match the name
	string in the record description tree (always in uppercase!);
	add routine DIU$UPPERCASE to do this.  In DO$ATTRIBUTE_COPY
	don't copy src XABKEYs to dst if the dst XABKEYs already
	exist!  Be more careful about when to add/remove CR/LF to the
	dst buffer.  Only figure "image_bytes" for non-LCG systems.
	Fix image_bytes formula so VAX won't return invalid RSZ error.
	General cleanup.  FILE:  DIUDO.B36.
	Sandy Clemens	26-Mar-86

  102	Conform SHOW  VERSION to  look like  SHOW QUEUE  and DEFAULTS.   Change
	hyphens to underscores in  MAXIMUM_SIMULTANEOUS_REQUESTS.  In order  to
	make SET  DEFAULTS  work somewhat  more  rationally, it  has  has  been
	changed to SET  DEFAULT {node::|SWITCHES}  [/switch/switch].  This  was
	done for clairity and because SW_ARGUMENT  was doing bad things to  us.
	parsing: change  help string  "Request  identifier" to  "Request  queue
	entry, decimal  number"; add  better help  when parsing  <username>  or
	[username] when specifying a request already in the queue; only  accept
	the right  flavor of  delimiter  for usernames  (e.g.  match  "<"  with
	closing ">"), which actually simplified parsing the field; remove extra
	CMCFMs which  allowed  illegal  commands  to be  parsed  and  add  flag
	seen_requestid do do the  job the right  way.  Split FILFMT_TABLE  into
	two tables:  INP_FMT_TABLE  (legal  on input  files  and  OUT_FMT_TABLE
	(legal on output files).  Change routine name Q$FIND_NODE to Q$FNODE so
	that  LINK  doesn't  grab   Q$FIND.   Also  rewrite  Q$FNODE.    Files:
	Gregory A. Scott 27-Mar-86

  103	Always free the memory from dynamically allocated XABKEY structures
	when the request is finished.  Check for wildcard source filespec
	and multiple file output.  FILE:  DIUDO.B36
	Andy Puchrik	31-Mar-86

  104	Show the source and destination files on SHOW QUEUE/ALL.  Also clean up
	format of SHOW QUEUE/ALL a little bit.  Adds routine DIU$SFILES, called
	only by DIU$$SHO_ALL.  File: DIUSHO.B36
	Gregory A. Scott 31-Mar-86

105	Change error messages to display '%DIU Event nnn: ...' rather than
	'%DIU20: Event nnn: ...'.  FILE:  DIUERR.B36.
	Sandy Clemens	1-Apr-86

 106	Remove output of  extra blank line  when a job  is queued.  Remove  the
	on COPY and APPEND; /OUTPUT on DIRECTORY.  Routine MKJOBNAME put spaces
	after the job name it made up, causing job names less than 6 characters
	not to match  in Q$MATCH  (e.g.  SHOW  QUEUE jobname  wouldn't work  on
	DIRECTORY and DELETE  commands), so  I rewrote it  using CH$  functions
	rather than  $STR  functions to  make  it work  simpler,  smaller,  and
	probably faster.   Default directory  filename to  nodename.DIR  rather
	than DIR.DIR; removes some CMCFMs to make that work right.  A new  fork
	was created by each PUSH command but old forks were never killed;  make
	PUSH continue any old EXEC it  has sitting around.  TAKE, EXECUTE,  and
	"@" now default extension to CMD.  Prompt now changes to "DIU spooler>"
	if we are the spooler; routine MAKEPROMPT resets the prompt now.  File:
	Gregory A. Scott  1-Apr-86

  107   Clean up all routines from noisy comments, unused str_inits.  Make
	DIU$DELETE and DIU$RENAME do wild cards.
	Andy Puchrik	2-Apr-86

  110	Change sflags and dflags to be a BITVECTOR of 36.  Remove  /QUEUE:MAYBE
	(superceded by /QUEUE:CONDITIONAL).   Change switch  tables around  for
	COPY and  APPEND  so  that  there  are  five  seperate  switch  tables,
	differing by the context in  which they are parsed: request  (anytime),
	input (after  a input  file only),  output (after  a COPY  output  file
	only), append (after APPEND output  file only), and global (before  any
	filespecs typed  only).   Add  CM_SDH  to CMIFI  and  CMQST  in  DELETE
	command.  Make invisible command of EX so that you don't have to  spell
	out "EXI" to  exit.  For SUBMIT,  default file type  to .CTL and  allow
	wildcarded filenames  in  GETFILESPECS.   GETFILESPECS  shouldn't  call
	INIT_REQUEST either.  Default generation properly for DELETE and RENAME
	to *.  File: DIUC20.B36
	Gregory A. Scott 2-Apr-86
111	Change queue file initialization messge.
	Andy Puchrik	3-Apr-86

 112	Add IDCNV entry to JSYSDEF.R36.  Add global routine S$IDCNV to  convert
	seperate numbers to UDT in DIUT20.B36.  Change the abbreivation for the
	EXIT command (EX) so that it  uses the CM_ABR bit and RELATED=  option,
	which is the right  way to have an  abbreviation in the command  table.
	Implement  /AFTER:[TODAY|dayofweek].   Clean   up  /AFTER  parsing   in
	general.  Files: DIUC20.B36, DIUT20.B36, JSYSDEF.R36
	Gregory A. Scott 3-Apr-86

 113	In DIU.R36:  Remove error  codes that  have been  replaced with  parser
	error  messages   in  DIUC20   (DIU$_ARG_RANGE,   DIU$_TOOMANY_KEYSEGS,
	DIU$_TOOMANY_KEYS,  DIU$_INV_KEY_OPTION)   and   unreferenced   literal
	change COMMAND_EXIT and EXIT states to be EXIT_STATE and change SAME to
	SAME_STATE; add several F_* bits to sflags/dflags, add bits for rflags.
	All of the rest in DIUC20.B36: Change usage of COMMAND_EXIT and EXIT to
	EXIT_STATE,  and  usage  of  SAME  to  SAME_STATE.   Replace  calls  to
	INIT_COMAND  with   INIT_REQUEST   and  delete   INIT_COMAND.    Change
	references   of   seen_requestid   to   rflags[R_REQUESTID].     Remove
	/[NO]DEFERRED switch,  since it  doesn't make  sense to  have it  as  a
	synonym for /QUEUE.   Remove ability to  type /SEQUENCE:nn, since  that
	functionality exists in the /PREREQUISITE:nn switch and having it  both
	places is misleading.  Add routine PARERR to print parsing errors;  new
	macro PE calls PARERR and then RETURNs.  Change all SIGNALed errors for
	parsing into PE calls.  Remove FOP_NSWITCH and RAT_NSWITCH and  install
	call FOP_SWITCH or RAT_NSWITCH  with inverted context.  Repair  totally
	broken /VFC  switch.   Add a  lot  of  switch conflict  logic  to  many
	switches (/USAGE  illegal with  /LSA or  /STREAM or  /CARRIAGE_CONTROL;
	detect multiple /TRANSFORM  and /WARNINGS;  allow /KEY  only on  output
	file that is /RMS:INDEXED; only  allow one /USAGE, record format,  file
	format, /CARRIAGE_CONTROL, /CONTIGUOUS, /NEW|/OLD per filespec).
	Gregory A. Scott 7-Apr-86

114	In DIUSHO.B36: Show  the passwords  always if  /DEBUG switch  is on  in
	DIU$SFILES.  In DIUCOMMAND.R36:	Add R_NOSEQUENCE to rflags bits; update
	some  comments.   In   DIUC20.B36:  Implement   checking  of   multiple
	/[NO]QUEUE, /PREREQUISITE, /SEQUENCE switches in same command.   Remove
	cells  set_notify,  set_queue,  and  set_log.   Make  default  ext  for
	/LOG_FILE be LOG.  Change routines ST_LOG and LOG to use rflags bit and
	context.  Remove  very strange  code in  SW_ARGUMENT and  FILE_ARGUMENT
	that attempted to "hallucinate the default string into the atom buffer"
	if no  terminating colon  was seen  on  a switch;  it made  parsing  of
	switches unlike any other TOPS-20 program.  Move clearing of  key_count
	and stopswitches to INIT_REQUEST.  Remove routine STOP_SETUP as it only
	cleared stopswitches.
	Gregory A. Scott 8-Apr-86

 115	In DIUCOMMAND.R36: Add  UNQUOTED for a  context to be  used for  access
	strings.  Add bits  F_USERID, F_PASSWORD,  F_ACCOUNT to  sflags/dflags.
	In DIUC20.B36:  Implement  checking  of  multiple  /USERID,  /PASSWORD,
	/ACCOUNT, /ACCESS, and fix  bare /ACCESS switch.   Give better help  on
	all four  of  those  switches.   Remove  cells  set_all_aci,  set_acct,
	set_pass, set_userid, since they have now been replaced by rflags bits.
	Remove MACY11 file  format, /[NO]BLOCKING_FACTOR  switch, and  routines
	ST_BLK_FACTOR,  FAC_SWITCH,  and  FAC_NSWITCH.    Put  break  mask   on
	Gregory A. Scott 9-Apr-86

 116	In DIU.R36:  Remove  DIU$_NO_MESSAGE_PENDING.  In  DIUCOMMAND.R36:  Add
	F_SPAN_BLOCKS bit.  Following in DIUC20.B36: Add proper switch conflict
	errors for  /[NO]SPAN_BLOCKS.  Fix  parsing of  multiple word  switches
	(e.g.  /FILE_FORMAT:FIXED:n) by  having SW_ARGUMENT eat  colons off  of
	the CMKEYed second word.  Make the default second word to /FILE_FORMAT:
	be RMS:.  Rework command scanning of filespecs so that quoted filespecs
	work rationally.  Remove $PARSEs in DSTFIL and SRCFIL since they didn't
	provide anything useful:  quoted string filespecs  didn't parse if  you
	were typing a [P,PN] and if it wasn't a quoted string the GTJFN done by
	COMND checked the syntax and JFNS can  be used to extract the name  and
	type for defaulting.  (In  other words, if the  user id doing a  quoted
	filespec assume he knows what he is doing and let the remote FAL  parse
	the filespec later.)   Invent two  cells (src_node  and dst_node)  that
	store the source and destination node names for MKJOBNAME's use, making
	its job a lot easier.  Remove following storage which was never used or
	is now no longer used: sesa, desa, srsa, drsa, snam, dnam, sfab,  dfab,
	filcnt, trace.  Teach GETFILESPECS about the DIRECTORY command so  that
	we can remove routine DIRECTORY.  Remove brain damaged GETADD  routine,
	replacing it  with calls  to newly  clevered up  GETFILESPECS.   Remove
	routine ESAFNA which is no longer used.
	Gregory A. Scott 14-Apr-86

 117	In DIU.R36:  Remove  storage not  used:  DIU$H_COMMAND,  DIU$T_COMMAND.
	Remove $STR_DESC_INIT of fao_rec in  $APPEND_FAO so that more than  one
	of them  can be  used at  a  time.  In  DIUSHO.B36: Change  "entry"  to
	"request number", reformat show queue display.  Rename DIU$$SHO_FULL to
	be SHO_ALL  and DIU$SFILES  to  be SHO_FILES.   Make  fao fabs  in  OWN
	storage.  In DIUSHD.B36: Make room for the entire 39 character username
	and account to displayed.  Repair display of "queued" default.   Adjust
	to sflags/dflags  bits.  Remove  SHOW QUEUE  values  (VERBOSITY_NORMAL,
	VERBOSITY_ALL, VERBOSITY_BRIEF) since they aren't used properly and now
	we have  a  boolean flag  for  /ALL.  In  DIUC20.B36:  Routine  REQUEST
	doesn't need to be  global; and it's not  anymore.  Default the  output
	filename properly on the directory  command by giving a default  string
	on the  first  flddb  in  the  chain  after  the  filename  is  parsed.
	Implement checking for conflict  between /AFTER /DEAD /QUEUE  switches.
	Implement switch conflicts for  /DESCRIPTION.  Check that  /DESCRIPTION
	and /TRANSFORM  files are  on  disk.  Allow  SHOW  DEFAULTS to  take  a
	nodename.  Routine MANIPULATE_ACTION did too much work that was done in
	INIT_REQUEST, and its name conflicted with another routine that  really
	did useful work.   Now the  routine is called  PRE_MANIPULATE and  does
	very little.  TAKE_SET_DEFAULT is now PRE_TAKE.
	Gregory A. Scott 17-Apr-86

 120	In  DIUCOMMAND.R36:  Add  R_NODE   flag  to  rflags.   In   DIUC20.B36:
	Additional work to  make parsing  of source  and destination  filespecs
	work better, or at least differently.  Allow "::" after node  specified
	were carelessly changing  the $GJGEN  flags that are  patiently set  up
	elsewhere.  Default  the directory  list level  properly in  PRE_INPUT.
	The ill-conceived routine SPECIAL_CASES doesn't do anything useful  but
	default the filename and list level for the DIRECTORY command (which is
	now done where it should be), so delete it.  Change flag_node_set  cell
	to rflags[R_NODE].  Cells def_queuevalue, def_notify, and  def_sequence
	were really constants, so replace them by the constant.
	Gregory A. Scott 18-Apr-86

121	In NOTIFY.B36: Implement better mail notification with improved Subject
	line.  Also identify ourselves as DIU rather than FTS.  In  DIULG2.B36:
	Put a  line seperator  in  between the  filenames  when logging  a  new
	request.  In  DIUQUT.B36:  Routine Q$EXTRACT_FILESPECS  didn't  have  a
	prayer of moving the destination filespecs correctly.  It does now.  In
	DIUSHO.B36: Bug in SHO_FILES caused it to move way too many  characters
	when excluding the access  string.  This bug was  covered up by bug  in
	DEF$ACCESS which gave an  extra null after  each filespec (which  broke
	LOG files among other things).  In DIUDEF.B36: Bug in DEF$ACCESS caused
	nulls to be included at the end of each filespec.  This screwed up  the
	counts which later screwed up the log files since they were  outputting
	based on ASCIZ strings.  In DIUC20.B36: Fix up help for filespecs after
	nodenames.  Remove last call to S$JFN_STR, and remove external  routine
	of Q$CONFIRM, which is never called.
	Gregory A. Scott 19-Apr-86

 122	In DIUJB2.B36: Range of error  messages checked from CRJOB in  S$CREJOB
	should be [OPNX12 TO OPNX1] rather than [OPNX12 TO 18].  Abort requests
	that have jobs that cannot be created.  Say nothing about jobs not mine
	logging out since this it is possible to get a CRJOB death interrupt on
	a  CRJOB  failure  (this  is  apparently  a  monitor  "feature").    In
	DIUPC2.B36: Make sure  that the  location that  would point  to a  byte
	pointer for the sender's node name is 0 in routine ipc_hndlr or we will
	get an  occasional unexpected  string from  the monitor.   In  DIU.R36:
	Remove   DIU$_NOT_MY_JOB_SENOR   and   DIU$_SYSTEM_FULL   errors.    In
	DIUQUT.B36: Routine Q$EXTRACT_FILESPECS had (yet) another bug having to
	do with output  of multiple source  filespecs.  In DIUC20.B36:  Routine
	request didn't get new lengths  of the source and destination  filespec
	after calling DEF$BUFFER, resulting in very short filespec lengths when
	access information was applied.  In DIUSPL.B36: Output the DIU  version
	to the system LOG file at  startup, put the spooler startup message  in
	the LOG file before any possible message from opening the queue file.
	Gregory A. Scott 22-Apr-86

  123	In DIUERR.B36:  Handle  code2  properly  if a  TOPS-20  error  code  in
	DIU$ABORT.  Restart the  spooler if  we are  (yet) the  spooler and  we
	enter DIU$ABORT.  Change name  R$$LIST to E$FILES,  because DIL has  an
	R$$LIST.  Use Sandy's new code in E$FILES (nee R$$LIST).  In DIUDO.B36:
	Change routine R$$LIST  to be  E$FILES, only passing  2 arguments.   In
	JSYSDEF.R36: Add SFRKV  linkage.  In DIUT20.B36  Add routine  S$RESTART
	which will does  a SFRKV to  restart (this) fork.   In DIU20.B36:  Make
	restarts work better if  we are the spooler.   In DIUPS2.B36: Zero  the
	rcvpid in IP_INIT so that  restarts work better.  In DIUC20.B36:  Parse
	of CMQST  should  be before  CMFIL  when parsing  after  the  nodename.
	Remove the  extra states  for the  DELETE command  (we use  the  common
	remote input states instead now).  Default generation should be "*" for
	the DELETE command.
	Gregory A. Scott 23-Apr-86

  124	In DIU20.B36: Use conditional assembly  to set diudeb cell rather  than
	keeping another copy of DIU20.B36 around in the debug build area.   Set
	slave job's program name to DIUDEB if debuging.
	Gregory A. Scott 24-Apr-86

  125	In  DIU.R36:  Add  DIU$_SPOOLER_RESTARTED  message,  comment  out   the
	*_TOO_LONG and  *_FILESPEC_MISSING errors  since  they are  never  used
	anywhere.  Reorganize the various  macro defs to  make a little  easier
	reading.  Remove  diu$$version macro  since it  was (1)  wrong and  (2)
	never used.  $GET_FAO and $MSG_FAO shouldn't  add an extra CRLF to  the
	control  string.   In  DIUDO.B36:  Output  CRLF,  hyphen,  tab   before
	filenames so they fit  within 80 columns in  log files.  Minor  changes
	due to changes in $MSG_FAO.   In DIUSPL.B36: Output a little  different
	message if we have  been restarted.  Output proper  event codes to  LOG
	file on  start/stop/shut messages.   Only call  SP$SHUT at  the end  of
	SP$STOP if  we have  to  mumble around  killing jobs.   In  DIULG2.B36:
	Change slightly the string  returned by L$NEW_REQUEST.  In  DIUC20.B36:
	Minor change due to deletion of the "free" crlf furnished by  $MSG_FAO.
	/VFC:(n:m)  was  broken  because  it  called  RSTSTA  after  the  first
	argument; now ST_BYTE and  ST_HALFWORD check cstate and  do not do  the
	RSTSTA if  we are  in a  state inside  the /VFC:(n:m)  switch.   SRCFIL
	should always  default  the  file  name and  type  even  if  they  were
	Gregory A. Scott 24-Apr-86

  126	In DIU20.B36: TAKEFLAG should be zeroed  on startup, in case of ^C  out
	of a  TAKE or  EXIT within  a  take then  START.  In  DIUC20.B36:  SHOW
	VERSION, MAX, and  TAKE don't  look right  in TAKE  files because  they
	don't output a CRLF at the end of the string, since MSG_FAO doesn't  do
	it anymore.   INIT_REQUEST  didn't  specify its  formal  arguments.   A
	command of the form "STOP/NOW/WAIT/NOW/WAIT" used to work; now it  only
	lets you type one switch.  In DIUERR.B36: Add output of CRLF at the end
	of all messages  output by DIU$MESSAGE.   This makes TAKE/NOECHO  stuff
	look better.   Routine E$FILES  doesn't return  a value  any more.   In
	DIUDO.B36: Routine  E$FILES doesn't  return a  value but  the  EXTERNAL
	ROUTINE thought  it  did.   In DIUJB2.B36:  Module  name  should  match
	filename, so now this module is now called DIUJB2.  S$TIMINT was  being
	called without a channel argument,  making the interrupt system  goofy;
	S$TIMINT now uses t_channel always.  In DIUSCH.B36: Change module  name
	to DIUSCH for  DDT and  GLOB.  DO_SCHED is  a NOVALUE  routine, so  why
	should it  return a  value.   S$TIMINT always  takes the  channel  from
	t_channel on the -20, so  now it only takes  one argument which is  the
	time to wake up.  In  DIUSCH.B36: Change calls to S$ACTIVATE.   Regular
	STOP command was broken by last edit.  STOP/NOW shouldn't call SP$SHUT,
	but wait  for  it to  be  called after  all  of the  jobs  logout.   In
	DIUPS2.B36: Get a  new master PID  from the name  each time incase  the
	spooler  is  shutdown.   In  DIUPC2.B36:  Routines  IPC_CONNECT_ME  and
	IPC_STATUS shouldn't  try and  return a  value.  In  COMAND.B36:  Since
	MSG_FAO doesn't  give a  free CRLF  any  more, we  can use  PSOUT  when
	echoing the TAKE commands.
	Gregory A. Scott 26-Apr-86

  127	In DIUPC2.B36: Routine ipc_msequence is  now ipc_mprereq, and it  deals
	with  changing  the  prerequisite  id  with  no  funny  negation  hacks
	included.  Return an value from Q$GIVEUP so that it will not be a noop.
	Change module name to match  filename (DIUPC2).  In DIUQUE.B36:  Remove
	hack to  Q$MODIFY  where if  you  were given  a  negative  prerequisite
	request id then you  would turn on the  SEQ_CONTINUE bit.  This is  all
	removed because of the new (sensible) use of /PREREQ and /SEQUENCE.  In
	DIUMOD.B36: Remove strange hack where a negative request id meant  that
	you really wanted /SEQ:CONT.   In DIUCOMMAND.R36: Remove  R_NOSEQUENCE.
	In DIUC20.B36: Rework /PREREQ and /SEQ logic: Change /PREREQ switch  to
	allow NONE for  modify and don't  allow a  request id of  less than  2.
	Remove NO and YES options to /SEQUENCE switch.  Remove  sequence_switch
	and  last_sequence_switch  and  previous_id  cells,  add  pre_id  cell.
	Implement switch conflicts for /SEQUENCE with /QUEUE:NO.
	Gregory A. Scott 26-Apr-86

  130	In DIUSPL.B36: Call MAKEPROMPT  to reset the  prompt string in  SP$SHUT
	and SP$START.  In  DIUC20.B36: Routine MAKEPROMPT  should be global  so
	that it can be called by SP$START and SP$SHUT.  (Yet) again default the
	filename properly in SRCFIL and DSTFIL  if the file was remote and  not
	Gregory A. Scott 28-Apr-86

  131	In DIU.R36: Change  $TRACE and  $TRACE_FAO to  be conditional  assembly
	based on  the  DEBUG  switch,  and  remove  refereced  to  diudbg.   In
	DIU20.B36:  Remove  the  diudbg  cell  since  it  is  no  longer  used.
	DIUDIR.B36: Remove usage  fo diudbg cell,  replace it with  conditional
	assembly.  Replace macro  $DEBUG_FAO with  $TRACE_FAO and  $DEBUG_TRACE
	with $TRACE,  remove  macro  $CRLF  since  it  was  unreferenced.   Not
	entirely clear  why this  module has  a private  $PUT_FAO macro;  maybe
	someday I'll fix it.  In DIUHLP.B36, DIUDIR.B36, DIUDEF.B36, DIUDO.B36:
	Remove external of  diudbg, which  wasn't referenced and  is no  longer
	Gregory A. Scott 28-Apr-86

  132	In JSYSDEF.R36: Add  RIR, DTI,  change ATI to  have us  trap the  error
	code.     In     DIU.R36:     Add     messages     DIU$_PANIC_ILL_INST,
	DIUT20.B36: Add routine S$ATI which does  an ATI JSYS; and S$RIR  which
	does an RIR JSYS; S$DTI which does a DTI JSYS.  In DIUC20.B36:  Routine
	PARERR turned on the  noparse bit but it  also cleared the CM_XIF  bit,
	causing "@" not to be handled locally after a noparse.  Add entry point
	for exit_command routine  to call  upon a ^C.   In DIUERR.B36:  Restart
	timing logic should be  in SP$START, not  here.  In DIUSPL.B36:  Enable
	illegal instruction  and illegal  memory read/write  panic channels  so
	that we  can recover  from problems.   Add routine  SP$PANIC to  handle
	these conditions.  Add control-C trap.  Move spooler restart logic that
	checks for restart loops here from DIUERR since panic interrupts  don't
	signal errors.

  133	In IPCF20.MAC: Add call to set  the IPCF send/recieve quota up for  the
	entire job in  IP$INT_SET.  Change module  name to IPCF20  for DDT  and
	GLOB.  In DIUPS2.B36: Add routine IP_TALK which sends a message to  the
	spooler and gets a response back.  It also sets the send/recieve quotas
	to +INF if we  are the spooler.  In  DIUSPL.B36: Set IPCF  send/recieve
	quotas  to  +INF  for  rcvpid.   In  DIUC20.B36:  Change  messsage   in
	EXIT_COMMAND if you are (yet) the spooler  to have a CRLF after it  (in
	case called by ^C trap).  Remove MACY11 code in FILFMT_SWITCH.   /IMAGE
	should only be global.  Output better  message in SRCNOD when we  parse
	junk due to CMFLD (adding  messages missing source file  specification,
	bad switch, properly indicate file not found).
	Gregory A. Scott 29-Apr-86

  134	In DIU.R36: Add message DIU$_SHUTDOWN_ABORTED.  in DIUERR.B36:  Routine
	DIU$MESSAGE now sends the error to the system log file if we (yet)  the
	spooler job.  Routine DIU$$ERRMSG doesn't need to be global and doesn't
	need to do two  $STR_COPYs when one will  do.  In DIUPS2.B36:  Previous
	edit made SHOW QUEUE  with nothing in the  queue signal an error  (from
	IP_FIND) so that you would get %DIU event 53: The queue is empty rather
	than [The queue is empty].  In DIUJB2.B36: Give a little better message
	when killing a  job.  In DIU20.B36:  Insure that the  shutdown flag  is
	cleared before  attempting restart.   In  DIUSPL.B36: A  START  command
	should counteract any shutdown in progress.  We don't have to write  to
	the LOG file ourselves now  since DIU$MESSAGE does it.  In  DIUC20.B36:
	SET MAX error message needed a space in the error message that you  get
	when you specify an out of range number.  SHOW MAX now says "There  are
	n requests executing"  if there  are slave jobs  running.  Remove  cell
	stopped since cell shutdown is what should be used.
	Gregory A. Scott 30-Apr-86

  135	In DIU.R36:  Remove DIU$$message  macros since  they are  just so  much
	baggage, and now the text  string are in DIUDO.  Add  DIU$_CONNECTED_TO
	and DIU$_MAXIMUM_REQ_SET  messages.  In  DIUC20.B36: Make  the SET  MAX
	command output the current setting of MJOB if we are (yet) the spooler.
	In DIUPS2.B36: Routine IP_CONNECT_ME now  puts the message saying  that
	we have connected  somewhere in the  system and user  log file  itself,
	rather than  having  other routines  do  it.  In  DIUPC2.B36:  Routines
	IPC_CONNECT_ME and  Q$GIVEUP  shouldn't  be  global,  and  they  aren't
	anymore.  In DIUERR.B36: Clean up routines DIU$$ERRMSG and  DIX$ERRMSG,
	remove TOPS20 macro.  Punt the  extra quotes around the additonal  text
	in DIU$ERRMSG.  In  DIUT20.B36: Remove  S$MOUNTONE since  it was  never
	called, clean up S$MOUNTEM.  In DIUDO.B36: Give request started message
	before doing anything else, replace macros defined in DIU.R36 that just
	expanded into text for FAO output with the actual text.  In DIUSPL.B36:
	A restart  should show  us the  maximum simultaneous  requests.   Don't
	decrement NJOB here, it is done when we get the IPCF that the job died.
	Gregory A. Scott 1-May-86

  136	Make keys work for indexed files.  Change DIU$UPPERCASE to $STR_FORMAT
	and delete DIU$UPPERCASE routine.  Add support for key option switches
	which was missing from DIU$KEY_ACTION.  Files:  DIUC20.B36, DIUDO.B36.
	Sandy Clemens 1-May-86

  137  	In DIUDEF.B36: Remove references to DEF$G_MAXTIME,  DEF$G_STATUS_DELTA,
	DEF$G_REQUEUE_INTERVAL, DIU$H_TRIES  which  aren't  implemented.   Have
	DEF$INIT get  the initial  LOG  filespec placed  in the  root  default.
	DEF$CREATE should be  maintaining the linked  list, rather than  having
	each caller do it, and it should default the log file from the def_root
	entry.  In DIUT20.B36: Add routine  S$CDIR which returns the  connected
	directory  number.   In  DIUCOMMAND.R36:  Add  cbuf_len,   FILE_QUOTED,
	ACC_NONE, and ACC_PROMPT command  contexts.  In DIUC20.B36: Only  check
	node validity  once  in  DSTNOD  and  SRCNOD,  by  looking  at  context
	VALID_NODE.  Rename ST_ACCESS  to ST_UPA (user  password account),  and
	clever it up to take VMS-style embedded access strings.  Remove  SRCACC
	and DSTACC, calling  ST_UPA instead.   If input filename  was a  quotes
	string, the  default  the output  filename  and type  to  *.*.   Rename
	SET_DEFAULTS_ACTION, to ST_DEFAULTS, clever it up a little bit to  make
	it set  both types  of SET  DEFAULT command,  then we  can get  rid  of
	SET_NODE.  Work on LOG file  routines included defaulting the log  file
	spec inside  of INIT_REQUEST  and simplification  of routines  LOG  and
	NOLOG.  DEF$CREATE should be maintaining  the linked list, rather  than
	having each caller do it.
	Gregory A. Scott 3-May-86

  140	In DIUDEF.B36: Save connected directory string (without the device)  so
	that log  files can  be  properly defaulted  in DIUC20's  /LOG  switch.
	Routine DEF$ACCESS needed major  work.  In DIUSPL.B36: Spooler  restart
	aborted error wasn't furnishing the version number for FAO output.   In
	DIUPS2.B36: Add routine  IP_CHECK which  checks to  see if  there is  a
	spooler.  In  DIUC20.B36: ST_DEFAULTS  was broken  if setting  def_root
	entries.  The /LOG switch doesn't default the connected directory right
	since the JFNS to retrieve all  of the parsed file specification  isn't
	returning a directory since the JFN is done generically parse only  for
	an old file.  So, save the default directory in DEF$INIT for us to plug
	in as needed.  Rename SET_MJOB_ACTION to ST_MJOB and teach it to see if
	we are the spooler or there is not (yet) a spooler before allowing MJOB
	to be set.
	Gregory A. Scott 4-May-86

  141	In DIUC20.B36: Work on /KEY so that it only allows one [NO]CHANGES  and
	one [NO]DUPLICATES per key.  Fix up  help strings for the /KEY  switch.
	Uppercase the job name in MKJOBNAME.
	Gregory A. Scott 4-May-86	

  142	In  DIUDEF.B36:  DEF$BUFFER  now  returns  the  length  to  the  caller
	properly.  DEF$REQUEST defaulted the LOG  file to a bad place,  causing
	things to get trashed.   In DIUC20.B36: Rename  LOG routine to  ST_LOG,
	remove routine ST_NOLOG, moving its rather limited function to  ST_LOG.
	Fix /NOLOG_FILE switch.  DEF$BUFFER now returns the length of the field
	it just set up, so use it.
	Gregory A. Scott 5-May-86

  143	In DIUC20.B36: REQUEST routine didn't ever use OWN variable txtbuf  and
	LOCAL variable ptr.  The defaulting  of the request switches (/LOG  and
	/NOTIFY) is now  done by rewritten  DEF$REQUEST which calls  DEF$BUFFER
	and so  forth.   Don't  default  the  notify  and  log  file  stuff  in
	INIT_REQUEST dince it is done in DEF$REQUEST now.  Remove  notify_value
	(no longer used)  and mvalue (write  only variable).  The  /SPAN_BLOCKS
	switch should  result in  a tag  value of  NOT FAB$M_BLK,  and  /NOSPAM
	should result  in FAB$M_BLK.   In  DIUDEF.B36: Rewrite  DEF$REQUEST  to
	handle all request defaulting into reqblk, including calling DEF$BUFFER
	and new routine DEF$RSWITCH.  Add some comments here and there.
	Gregory A. Scott 6-May-86

  144	In DIUERR.B36: Add  extra argument  to DIU$MESSAGE which  is a  logical
	flag.  If FALSE,  then never  write this error  to the  system log,  if
	TRUE, write it to the system log if we are the spooler.  in DIUMOD.B36:
	Rename Q$MESSAGE to be DIU$MMESSAGE, and make it print better  messages
	including the node name specified.   Change call to DIU$MESSAGE to  not
	enter  these  messages  into  the  system  log  file.   In  DIUC20.B36:
	DIU$MESSAGE calls from here now never write to the system LOG file.  In
	DIUSPL.B36: DIU$MESSAGE  calls from  here should  always write  to  the
	system LOG file.  In DIUDO.B36: Call to DIU$MESSAGE from here shouldn't
	write to the system log file if we are (yet) the spooler.
	Gregory A. Scott 7-May-86

  145	Set up the record count correctly for RMS RELATIVE files.   If the user
	specified a maximum record size then use it if it's valid and signal if
	it's too small.  When creating RMS RELATIVE and RMS INDEXED files,  set
	RAC to KEY before the $CREATE.  Fix FREE_STRINGLIST so that if zero  is
	passed to it, it  won't try to release  the memory.  FILES:  DIUDO.B36,
	Sandy Clemens 7-May-86

  146	In DIUMOD.B36: Last edit was a  bit too adventerous about printing  the
	node name.  Only output it if there wasn't a request number  specified.
	Add a  number  of  errors to  list  in  MODREQ.  In  DIU.R36:  Add  the
	following:        DIU$_PREREQ_NOT_YOURS,         DIU$_PREREQ_NON_EXIST,
	DIU$_PREREQ_LOOP,   rename/modify    DIU$_INVALID_DEPENDENCY   to    be
	DIU$_INVALID_PREREQ,    rename/modify    DIU$_NO_DEPENDENT    to     be
	DIU$_NO_PREREQ.   In  In  DIUPC2.B36:  Major  changes  to  IPC_MPREREQ,
	including  making  it  callable  from  IPC_ENTER,  check  for   illegal
	modification of the  prerequisite request number.   Add error  messages
	defined by this edit in  DIU.R36.  In DIUPS2.B36: Errors returned  from
	IP_TALK  weren't  getting  signalled  properly.   DIUC20.B36:  Print  a
	message if we can't  queue the request  (checking status returned  from
	IP_ENTER in the REQUEST routine).
	Gregory A. Scott 7-May-86

  147  	Remove  DIUCSR.B36  from  loading  since   it  is  never  called.    In
	DIUERR.B36: Be a little smarter  about returning error message  strings
	from here so  that DIU events  are always labelled  as such, and  other
	error messages  are  prefixed by  DIU  (e.g. "?DIU  RMS  event  nnnnnn:
	text").  In DIUDEF.B36: Don't output an extra CRLF in DEF$PROMPT  after
	the % Access information for  node "X" message.  In DIUJB2.B36:  Delete
	references to usrlog.  In DIULG2.B36:  Add routine L$UINIT to open  the
	user log file.  Fix lj$utxt so that it can be called from DIUC20 at the
	time that  request  is  created.   Clean  up  user  log  routines.   In
	DIUC20.B36: Log the creation of a  request in the user's log file.   In
	DIUDO.B36: Open up the log file using L$UINIT routine rather than doing
	it  here.   In  DIUPC2.B36:  If   a  request  being  cancelled  has   a
	prerequisite then the prerequisite's dependent id wasn't being  killed;
	solution is  to  call the  fine  IPC_MPREREQ routine  from  IPC_DELETE.
	Clean up Q$GIVEUP and rename it to be IPC_GIVEUP.

  150	In DIUDEF.B36:  /DESCR defaults  on  output if  there isn't  an  output
	/DESCR and there  is an  input /DESCR in  DEF$REQUEST.  In  DIUC20.B36:
	Give a  parse error  on  the following:  /RMS:INDEXED without  /KEY  on
	destination  side,   /TRANSFORM   without  source   /DESCRIPTION,   and
	destination  /DESCRIPTION  without   source  /DESCRIPTION  means   that
	destination must be /RMS:INDEXED.   In DIUERR.B36: E$LIST should  treat
	NAM$A_ESA and NAM$A_RSA fields as byte pointers, not as the address  of
	the start of the string.  In DIUQUT.B36: Q$REQ_BLOCK_INIT very stupidly
	cleared the request block  a field at  a time.  Now  we just clear  the
	whole thing and then reset the version and length.
	Gregory A. Scott 9-May-86

  151	In DIUCOMMAND.R36: Add  R_IMAGE.  In DIUC20.B36:  Fix PARERR to  backup
	the command buffer over the last switch, so that a ^H after some PARERR
	generated error looks proper and correct (yuk).  Don't allow /TRANSFORM
	or /DESCRIPTION with /IMAGE file format.
	Gregory A. Scott 9-May-86

  152	In     DIU.R36:     Add     DIU$_ILLEGAL_USER_LOG,     DIU$_INIT_QUEUE,
	delete DIU$_HOLD.  In In JSYSDEF.R36:  Add CHKAC.  In DIUC20.B36:  Have
	spooler job write the  "request queued" message to  user log file.   In
	DIUJB2.B36: Give  error messages  to  user log  file  when the  job  is
	cancelled/aborts.   Use  new  routines  lj$event  and  lj$uevent.    In
	DIULG2.B36: Add routine l$check_access  which checks to  see if a  user
	has access to a log  file that he specifed.   Add l$event which logs  a
	DIU event to the system log file.  Add lj$event which logs a slave  job
	type message to  system log  file.  Add  lj$uevent which  logs a  slave
	message to user log file from spooler.  In DIUPC2.B36: Check access  to
	log file (if any) in IPC_ENTER.  Write the "request created" message to
	both user and system log files from here, now that we know that  access
	to the  user  log  file  has been  checked.   In  DIUQUE.B36:  Routines
	kill_job and q$copy_req_block  were defined as  external here but  were
	never called.   Make  queue  initializing message  a  real  event.   In
	DIUQUT.B36: Q$REQ_BLOCK_INIT didn't default the priority to 10 in a new
	block.  In DIUSCH.B36: The routine that tried to expire requests  whose
	deadlines had passed did  a rather incomplete job.   Same way with  the
	timeout routine.  So, now we do  it the same way that ipc_delete  does.
	in DIUSPL.B36: Use new routine to write to the system LOG file for  the
	"maximum requests  set to  n" message  from SP$START.   In  DIUT20.B36:
	Insure that s$username returns as ASCIZ string.
	Gregory A. Scott 11-May-86

  153	In DIUDO.B36  remove SFLAGS  and  DFLAGS (they  are bogus  for  queued
	requests!).  Add  check of  FDB to  determine if  the source  file  is
	NONRMS,  in  which  case  set  the  byte  size  and  TYP  block  class
	accordingly.  Remove code which  does switch checking  -- this is  now
	done by  the command  parser in  DIUC20.  The  parser now  copies  the
	source record descirption file name  into the destination if the  dest
	doesn't (yet) exist, so we can remove DIU$COPY_DESCRIPTION.  Clean  up
	DO$ATTRIBUTE_COPY.  Any initial  defaults are  now set up  in the  RMS
	block initializations.  Record  access of RAB$K_TRA  doesn't work  for
	source  file  organization  of  FAB$K_SEQ;  change  record  acces   to
	RAB$K_SEQ if the source file is relative.  Don't check for key  fields
	being byte aligned -- the routines which build the record  description
	trees already  do this  for  each field.   In PATPOR:  delete  routine
	DIU$COPY_DESCRIPTION; DIUDO was its only user.
	Sandy Clemens  12-May-86

  154	In  DIU.R36:  Add  DIU$_REQUEUE_COUNT  message,  delete  DIU$_NOT_DISK,
	DIU$_WILDCARD_NOT_ALLOWED.  In DIUC20.B36: The /IMAGE switch should add
	a tag of diu$k_fab_fac with a value of fab$m_bio for DIUDO's use.   Use
	-1 generation on the output side  of a remote filespec.  In  DIUDO.B36:
	Output the number of  requeues in the log  file after request  started.
	Since cretinous RMS20  doesn't follow  standard BLISS  error codes,  we
	have to convert his errors to something we can return from DIU$DO.   In
	DIUJB2.B36: Write better information in the user log when the job can't
	be created.  Rename s$crejob to  j$create (since the s$ prefix  implies
	DIUT20).  Rename  kill_job to  j$kill.   Rename start_job  to  j$start.
	Remove s$kiljob.  Rename  s$death to j$death.   In DIULG2.B36: Add  the
	l$uevent routine which logs a random  event to the user log.   Simplify
	the l$new_request routine.   in DIUPC2.B36: Rename  s$death to  j$death
	and kill_job to j$kill.  In DIUSCH.B36: Rename start_job to j$start and
	kill_job to j$kill.   We were  calling lj$event and  lj$uevent when  we
	meant l$event and l$uevent.  In DIUSPL.B36: Use routine j$kill  instead
	of s$kiljob.  In  DIUT20.B36: Remember  the job number  the first  time
	through s$jobno and return it from then on rather than getting it  each
	time.  Don't cancel any  timer interrupts in  s$timint for the  future.
	Comment out s$local_nodeid and s$strdt which aren't used anywhere.
	Gregory A. Scott 12-May-86

  155	In DIUDO.B36:  Remove external  of L$NEW_REQUEST  (not used  anymore).
	Don't call DIU$DEF_TRANS unless there is a source description!  Set up
	TYP class for TOPS-10  source files as well  as TOPS-20 source  files.
	Make /IMAGE work (between TOPS-10/20  systems only).  Remove check  of
	ISAM file switches (parser  does this now!).  In DIU.R36: add  message
	Sandy Clemens  12-May-86

  156	In   DIU.R36:    Remove   unused    DIU$G_SNAPSHOT,    DIU$G_INITIATED,
	F_STREAM, and F_NONRMS.  In DIUC20.B36: Remove /USAGE (the usage is set
	in the description file) and /NONRMS (the file's FDB is checked for the
	RMS file class) switches.  Make the record format switches illegal with
	/IMAGE   file   format.    In    DIUDO.B36:   Remove   references    to
	DIU$B_SOURCE_USAGE_TYP and  DIU$B_DEST_USAGE_TYP,  since they  are  not
	needed and  not set  by DIUC20  any more.   In DIUPC2.B36:  Modify  the
	dependent field of the incore copy of the request block when a  request
	is entered with a prerequisite switch.  In DIUSHO.B36: Remove reference
	to DIU$H_TRIES  since it  it not  implemented.  In  DIUQUT.B36:  Remove
	DIU$V_CHECKPOINT   reference,   set    DIU$H_WARNING_MAX   to   1    in
	Gregory A. Scott 13-May-86

  157	In DIUDO.B36: Remove external reference to REQBLK.  Use passed  REQUEST
	instead.   Add  parameter  REQUEST  to  DIU$KEY_ACTION  routine.   When
	copying indexed  files  to a  sys_8bit  system, set  record  access  to
	RAB$K_TRA (RAB$K_KEY does not work!).
	Sandy Clemens 14-May-86

	If the queue file was written  by another version we got all  confused.
	The problem was that  if the $GET  for record 1  wouldn't work then  we
	decided that the queue  file didn't exist.  Now  we check for  RMS$_RNF
	error to determine that  the queue file is  virgin, which is the  right
	way to do it.
	Gregory A. Scott 14-May-86

  161	In DIUC20.B26: Make  the /LSA switch  erase properly on  a parse  error
	(like /IMAGE already specified in  the command line) by always  calling
	sw_argument at the start of the rfm_switch routine then retstoring  the
	commadn state with rststa at the end of that same routine if it was the
	lsa switch.  In DIUSHO.B36: Don't  attempt to display information  that
	is not returned to  us because we  are not prived or  the owner of  the
	request even if SHOW QUEUE/ALL.
	Gregory A. Scott 14-May-86

  162	In  DIUDO.B36:  Initialize  src_usage_typ  and  dst_usage_typ  so  that
	datatype (usage) conflicts are  not issued constantly.  In  DIULTR.B36:
	Update  comments  in  DIULTR  regarding  usage.   In  DIU.R36:   Change
	DIU$_USAGE_CONFLICT  message  so  that  it  doesn't  mention  the   now
	non-existent /USAGE switch.
        Sandy Clemens  14-May-86

  163 	In DIUC20.B36: Clean up  DIUCMD to get the  take file JFN installed  in
	the command state block differently and remove routine D$$COMAND  which
	apparently was a debugging aid.  In  DIUDO.B36: Dot bug in CFMFILE  was
	causing the wrong message to be printed.
	Gregory A. Scott 15-May-86

  164	In DIU.BLI: Remove $APPEND_FAO and $PUT_FAO from here.  In  DIUC20.B36:
	Rename D$SHDF to  SHODEF and don't  pass it an  unused third  argument.
	Avoid using crufty $MSG_FAO macro.  In DIUDIR.B36: Remove UNDECLARE  of
	$PUT_FAO since it is no longer in DIU.R36, remove cell fal_len since it
	is never used anymore (pass a 0 to $FAO instead).  In DIUPC2.B36: Clean
	up ipc_master.   In DIUPS2.B36:  Call new  routine SHOQUE  rather  than
	D$SHRQ from  ip_list.  In  DIUSHO.B36: Using  RMS for  terminal IO  was
	causing us problems: If we were showing the queues when we got an  IPCF
	interrupt, we would  bomb out  with "?   Channel 0  interrupt at  blah"
	because the chntab entry  points to a  PUSHJ P,INTHAN instruction,  but
	the stack is in section  3 so the PUSHJ doesn't  work.  Cure is to  not
	use RMS for terminal IO when showing the queues.  In DIUSHD.B36: Rename
	D$SHDF to SHODEF and don't accept an unused third argument.  Using  RMS
	for terminal  IO was  causing us  problems  here too,  so don't  do  it
	anymore here.  In DIUSPL.B36: Go NOINT while starting the spooler.   In
	DIU20.B36: Clear  the  noint  depth  on  startup  for  restarting.   In
	DIUT20.B36: Make noint_depth global so it can be cleared on a  restart.
	Gregory A. Scott 16-May-86

  165	In DIU20.B36:  Edit  163 broke  CCL  takes,  which is  fixed  now.   In
	DIUC20.B36: Turn off the  interrupt system while  running in DIU$DO  in
	the request routine.  This to to prevent getting bombed out to the exec
	because an active slave job or some user sent us an IPCF message  while
	we are running in RMS with a section 3 stack.  Yes, it is gross but  so
	is doing non-queued requests from the spooler job.  Edit 163 broke  CCL
	takes, which is fixed now.  Have macro PE append a CRLF to his strings.
	In DIUDEF.B36: DIU$ABORT was external routine but was never referenced.
	In DIUPC2.B36: Use page  276 for ipcf page  to avoid race problem  with
	doing  commands   from  the   spooler  job.    in  DIUPS2.B36:   Remove
	qlist_indent macro since it  is not used.  Use  page 277 for slave  job
	IPCF pages  to avoid  interrupt/non-interrupt race  problem with  doing
	commands from spooler job.
	Gregory A. Scott 16-May-86

  166	In ACTUT2.BLI: Modify initial value  processing so that it always  sets
	up default initial values for fields which have not had anything  moved
	into  them  (either  explicitly  with  a  MOVE  statement  or  with   a
	MOVE-MATCHING or MOVE-OTHERS-MATCHING statement and for which the  user
	did not already set  up an initial value.   Set up the default  initial
	value based on the datatype of the field.  Note: initial value defaults
	are NOT set up for structures or overlays.
	Sandy Clemens 19-May-86

  167	In DIUC20.B36: Add hair to SW_ARGUMENT to the area that prevents double
	colon typeout: this fixes a rather  obscure case of a switch  completed
	with escape that takes an argument  and the user types a question  mark
	and that switch happens to end at  a place where there is a colon  left
	in the command  buffer from  a previous  command (check  that the  next
	unparsed character is a  colon and the last  parsed character is not  a
	colon).  Use S$NODE_CHECK for  all nodes parsed and  turn on the  parse
	only bit in  CMNOD, since  we want  to be  smart about  nodes that  are
	offline.  In DIUSCH.B36: Remove external  for s$node_check since it  is
	not used here.  In DIUVER.MAC: Add copyright information in ASCIZ.
	Gregory A. Scott 19-May-86

  170 	In DIUDO.B36: Various problems with releasing dynamic memory have  been
	fixed.  New routine DO$FREE_MEMORY now  does it right.  Rename  CFMFILE
	back to its origional name (DO$CONFIRM) and clean up global storage.
	Gregory A. Scott 19-May-86

  171	In  DIUC20.B36:  Add  routine  C$CONTROL_C  to  handle  the   control-c
	interrupts.  If  a control-c  is seen  in a  TAKE and  we are  yet  the
	spooler, then we just set the current take JFN to eof.  Remove call  to
	S$TRACE, just do the $DEBUG call here instead.  Use MONSYM and  JSYSDEF
	rather than TOPS20.  In DIUERR.B36: No need to call S$LGOUT (slave will
	HALTF causing  LGOUT),  so  remove it.   In  DIUSPL.B36:  Call  routine
	C$CONTROL_C for  control  C  interrupts.  In  DIUT20.B36:  S$LGOUT  and
	S$TRACE aren't  called  by  anybody  any  more,  so  remove  them.   In
	Gregory A. Scott 19-May-86

  172	In DIU.R36: Change $TRACE to do a call to S$TRACE to type its  strings.
	(Note: S$TRACE will have to be added to DIUT10 later.)  In  DIUC20.B36:
	Change prompt to DIUDEB if debugging.  Really remove LIBRARY  'TOPS20'.
	In DIUDEF.B36: Remove  LIBRARY of TOPS20.   In DIUT20.B36: Add  routine
	S$TRACE, which doesn't call RMS to enter trace mode but instead is used
	to output a string to the terminal for $TRACE.
	Gregory A. Scott 20-May-86

  173	In DIUT20.B36: Add routine S$IFRMS, which will check the file class bit
	for a JFN.  In DIUDO.B36: Use routine S$IFRMS to check to see if a file
	is an RMS file.  Delete library TOPS20, since it is no longer needed.
	Gregory A. Scott 20-May-86

  174	In JSYSDEF.R36: Add  FLIN, DFIN, change  TBADD to indicate  we want  to
	catch errors.  In ACTUT2.BLI:  Change library of  TOPS20 to use  MONSYM
	and JSYSDEF, use JSYS_DFIN and  JSYS_FLIN.  In ASK.B36: Remove  library
	of TOPS20, use  MONSYM and  JSYSDEF.  In DIUC20.B36:  The help  command
	tables were broken sometime in the past.  In DIUHLP.B36: Remove library
	of TOPS20,  use  MONSYM and  JSYSDEF  instead.  In  DIUPS2.B36:  Remove
	library TOPS20,  use library  MONSYM  instead.  In  DIUQUE.B36:  Remove
	library of TOPS20,  use routine  wild_match instead of  wild jsys.   In
	DIUQUT.B36: Remove library of TOPS20, use wild_match routine instead of
	wild  jsys.   Fix  Q$FNOD  bug   with  embedded  access  strings.    In
	DIUSCH.B36: Remove library  TOPS20.  In DIUSHD.B36:  Remove library  of
	TOPS20.  In DIUSHO.B36: Remove library of TOPS20.
	Gregory A. Scott 20-May-86

  175	In DIUDO.B36: Make  src_dixtype and dst_dixtype  LOCAL to DIU$COPY  and
	change all other  references to  them be references  to src_ostype  and
	dst_ostype.  Set up line sequence numbers in the dst_rab correctly  for
	LSA files.  Don't write extra CRLFs into LSA destination record buffer.
	Comment out  code for  FAB$V_CR on  TOPS-10/20.  It's  not  supported!!
	Terminate  stream  files  CORRECTLY.   In  DIU$KEY_ACTION  change   OWN
	variables to be LOCAL.
	Sandy Clemens  20-May-86

  176  	In DIUDIR.B36: Clean  up DIR$_OPEN_OUTPUT,  much of it  is never  used.
	Implement grand total file size count.  Output long filenames properly.
	Clean up the rather gross implementation of $PUT_FAO.
	Gregory A. Scott 21-May-86

  177	In DIUDIR.B36: Add  call to  S$BREATHE in inner  file processing  loop.
	Compilation /DEBUG didn't work because the BIND to get around  compiler
	bug was after  the $TRACE  in DIR$NORMAL.  In  DIUT20.B36: Add  routine
	S$BREATHE, which turns off then on the interrupt system if we are (yet)
	the spooler so IPCF messages can be recieved while we have a section  0
	stack.   In  DIUDO.B36:  Call  S$BREATHE   here  and  there  to   allow
	interactive COPY commands to work properly if we are (yet) the spooler.
  200	In DIUCOMMAND.R36: Add F_ON_DISK.  in DIUC20.B36: Don't allow  non-disk
	output files for DIRECTORY if the  command is queued.  Also check  that
	input and output files are on disk (if local).  Add (yet) more hair  to
	PARERR to eat the spaces at the end of a field before trying to eat the
	field itself.  in DIUJB2.B36: If the IPCLO message specifies that a job
	that killed the slave job is -1, then the job that killed the slave job
	has already logged out.
	Gregory A. Scott 22-May-86

  201	In DIUDO.B36: Make COPY with wildcarded local filespec work.  This
	worked already for remote filespecs but there appears to be a bug in
	RMS causing different behavior on the local system.  If at some point
	RMS changes, this new code should be removed.  Search for [201] to find
	the work-around code!
	Sandy Clemens 22-May-86

  202	In JSYSDEF.R36:  Add  catch of  error  to ODCNV.   In  DIUC20.B36:  Fix
	/AFTER:TODAY again (groan), daylight savings time wasn't being  handled
	properly.  In DIUT20.B36: Remove S$IDCNV, it is no longer used.
	Gregory A. Scott 23-May-86

  203  	In COMAND.B36: Make multi line commands echo properly from take  files.
	In DIUC20.B36: Add macro $TTY_FAO which  prints a FAOed message on  the
	terminal.  Indicate  the end  of a  TAKE file  with a  little  message.
	Abort all takes when we a ^C is seen and we are yet the spooler doing a
	Gregory A. Scott 23-May-86

  204   In DIUC20.B36: Allow HELP topics to include /switch, add default  topic
	DIU.  Only allow the /NOAFTER and /NODEADLINE switches from the  MODIFY
	Gregory A. Scott 24-May-86

  205   Make the  NEXT function  set the  after time  to zero  and release  the
	request.  Clean up DIU$MODIFY, move MODREQ outside DIU$MODIFY block.
	Gregory A. Scott 27-May-86

  206	Remove DIU$LIST code, replace it with DIU$DIRECTORY in DIUDIR.  Put in!
	defensive  code  to  prevent   /STREAM:CR  and  /STREAM:LF  and   /VFC!
	destination record formats on TOPS-10/20 systems.	In DIU.R36: Add
	message  DIU$_INVALID_RFM.   In  DIUC20.B36:  Source  remote   filespec
	followed by a local filespec got SRCFIL confused because sflags[F_NODE]
	wasn't reset in PRE_INPUT.  In DIUDIR.B36: Remove code from DIUDO  that
	opened the files and so forth  and move it here for simplicity  (module
	is now  entered from  DIUDO at  DIU$DIRECTORY rather  than D$DIR).   Be
	smarter about the grand total message (say pages and blocks if that  is
	the case [yuk]).  Remove DIR$OPEN_OUTPUT.
	Gregory A. Scott 27-May-86

  207	In DIUC20.B36: The /[NO]CONTIGUOUS switch  could be typed to the  input
	file.  In DIUDIR.B36: DIR$INITIALIZE  did a crude  job of ASCIZing  the
	input spec.
	Gregory A. Scott 27-May-86

  210	In DIUT20.B36:  Fix S$DIRNO  to check  for reasonable  sized  directory
	string. Also remove all commented out code.
	Gregory A. Scott 27-May-86

  211	In DIUDO.B36: Make SUBMIT write a stream file if it is going to TOPS-10
	TOPS-20.  General  cleanup.   In DIUC20.B36:  Put  a CMCFM  before  the
	destination file parse  in the SUBMIT  and PRINT commands  (so that  we
	don't always  hallucinate  the  default  file  name).   Allow  multiple
	sources on the SUBMIT command.  Only write the $ETG for the destination
	filespec buffer if it is non-empty.
	Sandy Clemens/Gregory A. Scott 29-May-86

  212	In DIUDO.B36:  Make the default record access mode (RAC) be TRA rather
	than BFT.  General cleanup.
	Sandy Clemens  30-May-86

  213	In DIUMOD.B36: bad call to S$USERNAME was causing  modify  requests  to
	occasionally fail and also not default the username correctly.
	Gregory A. Scott 2-Jun-86

  214	In DIUC20.B36: Add  routine SH_QUEUE  and have the  SHOW QUEUE  routine
	call it.  Default the destination switch of /OLD on the APPEND  command
	in the REQUEST routine.

  215	In DIUSHO.B36:  Call  IP_FIND  from  SHOQUE  to  simplify  things.   In
	DIUC30.B36: Change  IP_LIST  call  to SHOQUE.   In  DIUPS2.B36:  Delete
	routine IP_LIST, work is done in SHOQUE now.
	Gregory A. Scott 3-Jun-86

  216	In DIUC20.B36: Default of /OLD in the APPEND command should set the CIF
	bit rather than clearing it.  Turn off parse only bit on output side of
	APPEND.  Make p_src and p_dst GLOBAL so that DEF$REQUEST can use  them.
	In DIUDEF.B36:  Clean  up DEF$TAGS  a  little bit,  size  the  filespec
	buffers by using the  difference between p_src  and p_dst pointers  and
	the start of the buffers.   In DIUSPL.B36: Call routine S$NOMOUNT  when
	becoming the spooler so we can run without incrementing the mount count
	for every regulated structure.  In  DIUT20.B36: Let the spooler  ignore
	mount counts by  calling new  routine S$NOMOUNT.   Increment the  mount
	count for the structure to be connected to in the S$MOUNTEM routine.
	Gregory A. Scott 4-Jun-86

  217	In  DIUC20.B36:  An  illegal  destination  filespec  (like   specifying
	wildcards on the resulted in "File not found" faked error message  from
	DSTFIL.  Edit 215 caused a bug  in the SHOW QUEUE /switch parse  tables
	to appear.  Allow  wildcards in  destination to  APPEND command  again.
	Remove  APPEND  specific  switches  (/NEW/NONEW/OLD),  since  the  COPY
	command does /NEW and the APPEND  command does /OLD.  Remove all  extra
	parse tables and so on  associated with the differences between  APPEND
	and COPY.  In DIU.RNH: Revised help file.
	Gregory A. Scott 4-Jun-86

  220	RENAME should only  allow one input  filespec.  APPEND takes  different
	switches than COPY  (e.g. no /IMAGE  and nothing but  /RMS:SEQUENTIAL).
	Again make wildcards illegal for destination side of APPEND.
	Gregory A. Scott 6-Jun-86

  221	In DIUDO.B36: Make APPEND command work.  Remove routine DIU$APPEND  and
	have APPEND use DIU$COPY instead.  Make DIU$COPY work for APPEND!  Pass
	the request function  code to DO$SETUP_COPY  so that we  can $OPEN  the
	destination   file   for   append   rather   than   $CREATE   it.    In
	DO$$LOAD_BLOCKS, fix bug in $$RMS_MASK  macro and remove tags which  we
	don't use there.  Set up for block mode to TOPS-10.  General cleanup.
	Sandy Clemens  6-Jun-86

  222	In DIUSHD.B36: Target string for wild match wasn't made ASCIZ,  causing
	SHOW DEFAULTS node:: to work strangely or not at all.
	Gregory A. Scott 7-Jun-86

  223	In DIUDO.B36: RENAME shouldn't look for multiple sets of input files.
	Gregory A. Scott 7-Jun-86

  224	Change all of the DIU$xxx routine  names to be DO$xxx.  Remove  S$IFRMS
	which would only work if  the file is local.   This was used to  decide
	whether or not to set the type  block class field or not.  Now,  always
	set it, since it won't hurt anything if the file is an RMS file, and it
	is needed for a non-RMS file.  Also, add the code to set the type block
	class field for the destination files on an append, since we do a $OPEN
	rather than a $CREATE we'll need this information and it doesn't appear
	to get supplied to us.  Never set the block mode flag for TOPS-10 files
	if the  user  already specified  /STREAM.   In DIUT20:  Remove  routine
        Sandy Clemens  9-Jun-86

  225	Make local RENAMEs work  by moving $PARSE inside  the loop looking  for
	files - its a hack because of TOPS-20 bug.  If/when this bug is  fixed,
	remove code with [225] in comments.  RMS can't be expected to know what
	we are up to, that is why the workaround is here.
	Gregory A. Scott 9-Jun-86

  226	In DIUDO.B36: Always setting the class field in the TYP block (see edit
	224) will not work in all cases, because if the file is actually an RMS
	file, the $CONNECT code will get confused by the class value in the TYP
	block.  $OPEN checks for a prologue  and knows if the file is  actually
	an RMS file, but $CONNECT doesn't necessarily have the prologue to look
	at and returns RMS$_IAL (Invalid  Access List).  Therefore, DIU has  to
	determine whether or not the file is an RMS file on a $OPEN (since  RMS
	doesn't tell you) by checking the record format.  RMS files NEVER  have
	record format of STM, LSA or UDF, so if one of those record formats  is
	encountered (after the $OPEN)  then we can set  the class field in  the
	TYP block.
	Sandy Clemens  10-Jun-86

  227	In DIUDO: Initialize src_usage_typ and dst_usage_typ before  processing
	Sandy Clemens 11-Jun-86

  230	In DIUDO.B36: Make remote renames  work.  That ugly code introduced  by
	225 must stay  forever, because  it makes  renames to  VMS work.   Make
	DO$CONFIRM take source and dest FABs instead of RABs, fix several  bugs
	in it.  In  DIUC20.B36: Access  control string that  didn't specify  an
	account copied the password over as the account in ST_UPA routine.
	Gregory A. Scott 12-Jun-86

  231	In DIUDO.B36: Always set the source file MRS before the $PARSE/$SEARCH
	in DO$COPY.  This is necessary because the $SEARCH tries to return the
	RFM, and if the MRS is zero, the RFM may be set wrong.  Before doing
	the $OPEN on the source file, if the file is a TOPS-10/20 system then
	set the byte size of the file (so that FFF $OPENs always work!).  Also
	set the TYP block class field if the file is local.  (This will fail if
	the file is remote!).  Then, after the $OPEN, call S$IFRMS (for local
	files only) and if the file is an RMS file, then set the TYP class to
	zero (because otherwise the $CONNECT will fail).  In DO$FILE_COPY, for
	the first record ONLY (instead of for each record), read the last
	character and see if the record is terminated by <CR>, <LF> or <FF>.
	If not, then set a flag which indicates to add <CRLF> for each record.
	Also, if the crlf is added (for EACH record), then increment the record
	size ONLY ONCE!  It was getting incremented on EACH operation!  In
	DIUT20.B36, add back S$IFRMS to check the file class bit of a file and
	determine whether or not it's an RMS file.
	Sandy Clemens  16-Jun-86

  232	In DIUC20.B36:  Initialize patpar_warn to zero in INIT_REQUEST.
	Sandy Clemens  16-Jun-86

  233	In DIUDEF.B36: DEF$BUFFER  wasn't making the  filespecs ASCIZ  properly
	(shows up on  embedded access  control in particular).   It also  never
	used its third argument (request block); it only has two arguments now.
	Gregory A. Scott  16-Jun-86

  234	In  DIUC20.B36,   DIUDIR.B36,   DIUQUE.B36,   DIUQUT.B36,   DIUSCH.B36,
	NOTIFY.B36: Change library of RMSUSR to RMSINT.
	Gregory A. Scott 17-Jun-86

  235	In DIUDO.B36: Change library of RMSUSR to RMSINT.  Add call to
	DIU$CONV_STATS.  Add DIUCSR.B36: Rewrite from DIUCSR.BLI to reflect
	changes in DIU and remove TOPS-10 and VMS conditionals.
	Sandy Clemens  18-Jun-86

  236	To remove dependency on DIL/DIX sources, change library of DIXLIB to
	DIUDIX and add DIUDIX.R36 (a smaller clone of DIXLIB, FIELDS and
	Sandy Clemens  19-Jun-86

  237	In DIUDO.B36: Set the source and destination ostypes up before  calling
	DO$SETUP_COPY in  DO$SUBMIT;  new routine  DO$OSTYPE_SETUP  does  this.
	This caused random "protection violation" failures on PRINT and  SUBMIT
	commands.  Also make DIU$SETUP_COPY not  give this same message when  a
	"unknown" operating system is discovered (in  my case I was  trying  to
	copy a file to RSTS/E); just do  nothing special and hope that it  will
	work since it is probably ASCII data.
	Gregory A. Scott 19-Jun-86

  240	In DIUCSR.B36: Change name to DIU$CSR - something that makes sense  for
	output in DDT.   Use the DIXTAB  that is in  DIUERR rather than  having
	another copy here.  In DIUERR.B36: Make DIXTAB global so that it can be
	used from DIUCSR.  In DIUDO.B36: Code at the end of DO$COPY was  overly
	complicated.  Get around (yet) another bug  in RMS by treating the  RSA
	pointer as an ASCIZ string (RSL not filled in right if a PPN-style file
	spec is returned by a remote).
	Gregory A. Scott 19-Jun-86

  241	In ACTION.REQ, add OTHERWISE case to select statement in SIZE_OF macro.
	In ACTION.BLI routine DEFINE_DTYPE (DEFTYP), add informational  message
	for unsupported datatypes.  In DIU.R36,  add DIU$_PAR_INFO for the  new
	signal in DEFINE_DTYPE.
	Sandy Clemens  20-Jun-86

  242	In DIULTR.BLI: Datatype DIX$K_DT_DN6LO was missing from the SELECTONE
	statement in DIU$REMAP_TREE where the usage type is set.
	Sandy Clemens  20-Jun-86

  243	In DIUDO.B36: Correct some of the problems in pulling image files from
	Sandy Clemens  24-Jun-86

  244	In DIUDO.B36: In routine DO$COPY, set maximum record size (MRS)  before
	the $PARSE/$SEARCH only if the MRS is not currently set; don't override
	existing value.
	Sandy Clemens 26-Jun-86

  245	In DIUC20.B36: Make /IMAGE legal for the input file for reading TOPS-20
	COBOL files with RECORDING  MODE IS BINARY  with mixed-mode ASCII  data
	(which is ASCII  text mixed with  numeric data; fixed  and or  floating
	Gregory A. Scott 26-Jun-86

  246	In DIUC20.B36: Remove edit 245.  Add /LIBOL:n switch to read the  files
	that are written with  RECORDING MODE IS  BINARY with mixed-mode  data.
	Default the  /VFC switch  to 2.   In DIUCOMMAND.R36:  Add  DIU$K_LIBOL,
	remove DIU$K_NONRMS and DIU$K_MACY11.
	Gregory A. Scott 27-Jun-86

  247	In DIUDO.B36: handle LIBOL RECORDING  MODE IS BINARY files  (/LIBOL:n).
	See edit 246.
	Sandy Clemens 27-Jun-86

  250	In DIUDO.B36: Remove some of the strange workarounds  for  TOPS-10  now
	that I have RMS working a little better.
	Gregory A. Scott 27-Jun-86

  251	In DIUDO.B36: Remove code which defaults TOPS-10 to image mode.  If the
	user doensn't type /IMAGE, he doen't get image mode.
	Sandy Clemens 30-Jun-86

  252	In DIU.R36: Remove library of  CONDIT and add condition handing  stuff.
	Remove library  of  CONDIT  from  DIUC20.B36,  DIUDEF.B36,  DIUDIR.B36,
	Sandy Clemens  1-Jul-86

  253	Rename modules that would confict with other products.  Files renamed:
		ACTUTL.B36 to DIUAU1.B36
		ASK.B36 to DIUASK.B36
		IPCF10.B36 to DIUIP1.B36
		IPCF20.B36 to DIUIP2.B36
		WILD.B36 to DIUWLD.B36
	The following  modules  had LIBRARY  changes:  DIUC20.B36,  DIUCLE.BLI,
	Gregory A. Scott 1-Jun-86

  254	In  DIUNOT.B36:  The  only  real   successful   completeion   code   is
	DIU$_REQUEST_COMPLETED.  In  DIUDEF.B36:  Remove extra  trace  messages
	that I'm tired of seeing.  In DIULG2.B36: Don't write the job number in
	LJ$UTXT if we are yet the spooler.
	Gregory A. Scott 2-Jun-86

  255	In DIUDO.B36: Make pulling image  files from TOPS-10 systems work.   We
	have to copy from the -10 in TRA and write SEQ because the FAL-10 gives
	us 320 word records(!).  If FAL-10  is fixed later (to support BFT  and
	sending us 512 word records) we can remove some rude code here.
	Gregory A. Scott 5-Jun-86

  256	In DIUCOMMAND.R36: Change library of RMSUSR to RMSINT.
	Gregory A. Scott 7-Jul-86 

  257	In DIUIP2.R36:  Change library  of TOPS20  to MONSYM.   In  DIUCMD.B36:
	Remove /VARIANT  code; change  BLI:MONSYM  to MONSYM.   In  DIUACT.B36,
	DIUCOMMAND.R36: Change library of BLI:MONSYM to just MONSYM.
	Gregory A. Scott 7-Jul-86 

  260	In DIUC20.B36: Commands using a time of "/AFTER:13-jun-95 13:13" didn't
	Gregory A. Scott 7-Jul-86

  261	In DIU20.B36: Remove logical names from LIBRARY statements.
	Gregory A. Scott 7-Jul-86

  262	In DIUC20.B36:  Delete  module DIUCMD.R36,  moving  defs as  needed  to
	DIUCOMMAND.  In DIUCOMMAND.R36:  Move what little  there was useful  in
	DIUCMD.R36 to here.  In DIUCMD.B36: Remove code that is not needed  and
	or not used.  A big day for small edits.
	Gregory A. Scott  7-Jul-86

  263	In DIUDO.B36: FAL-10 gives us the "file not found" error on the $SEARCH
	not the $PARSE.  Add defensive code in DO$RENAME.
	Gregory A. Scott  8-Jul-86

  264	In DIUDO.B36: Make  SUBMIT work by  setting stream mode  on source  and
	destination.  Copying of  VMS variable  to LCG stream  files was  CRLFs
	over data in DO$FILE_COPY.
	Gregory A. Scott  9-Jul-86

  265	In DIUC20.B36: The help for the /STREAM: switch should specify "maximum
	record size" (like /VARIABLE) not "record size" (like /FIXED).
	Gregory A. Scott  10-Jul-86

  266	In DIUDO.B36: If the  destination file is fixed  or the user  specified
	truncation of	records (the destination  MRS smaller  than the  source
	RSZ) then use the  destination MRS for  the destination RSZ;  otherwise
	use the source RSZ as the destination RSZ.
	Sandy Clemens  10-Jul-86

  267	In DIUDO.B36:  VMS doesn't support alternate keys with NODUPLICATES and
	CHANGES.  Signal an error if this is detected.  In DIU.R36: add the new
	Sandy Clemens  10-Jul-86

  270	In DIUDO.B36: Fix edit 266. Never set the destination RSZ to the
	destination MRS if the destination MRS is zero.
	Sandy Clemens  17-Jul-86

	DIU-20 version 1 released, July 1986

  271	In DIUDIR.B36: Add protection XAB and output of protections on /FULL.
	Gregory A. Scott  16-Oct-86

  272	In DIUDIR.B36: Add new file system types.
	Gregory A. Scott 6-Mar-87

  273  Make Do$Delete release its jfn with DRJ=0 and $CLOSE.
       Andy Puchrik 12-Aug-87  SPR 21656

  274  Add condition handler DIR$HANDLER to DIR$DO to close out dir_fab
       if File Not Found.
       Andrew S. Puchrik 13-Aug-87

  275  SPR 20-21565.  MKJOBNAME was using wrong pointer to tie off Asciz
       Brian Luau 3-Sep-87