perm filename LOG[S,AIL]24 blob sn#253597 filedate 1976-12-11 generic text, type C, neo UTF8
COMMENT ⊗   VALID 00017 PAGES
C REC  PAGE   DESCRIPTION
C00001 00001
C00002 00002	Introduction
C00003 00003	February, 1975
C00008 00004	March, 1975
C00011 00005	April, 1975
C00012 00006	June 1975
C00015 00007	September 1975.
C00016 00008	October 1975
C00017 00009	November 1975
C00020 00010	December 1975
C00021 00011	January 1976
C00022 00012	February 1976
C00024 00013	April 1976
C00025 00014	June 1976
C00026 00015	August 1976
C00029 00016	November 1976
C00030 00017	December 1976
C00032 ENDMK
C⊗;
Introduction

This is a record of changes to SAIL system.  An entry to this file
should be made whenever any changes are made to the system SAIL files
(SAIL.DMP, SAISGx.SEG, LIBSAx.REL, etc.) or after any modifications
to the SAIL source files (e.g., at the end of an editing session)
Reference should be made to the files BUGS & FEATS, as appropriate. 

			Russ Taylor
February, 1975

#TX#	fixed sources & patched sys:sail.dmp & saildd[s,ail].
	2-7-75 RHT

%##%	Recompiled @IT & put the result on system.  Left SAIL.OLD
	alone.  2-8-75 RHT

#TY#	fixed bug in source (LEPRUN) reported by LDE.  Made no
	changes to system files.  Bug may cause strngc lossages
	in programs involving string refitems.  If this happens,
	look here. 2-10-75 RHT

#TZ#	Typo in gen.  patched source & .dmp files
	2-12-75 RHT

%CA%	Added new routine CVASTR to STRSER sources.  Did not
	test, assemble, or update incremental manual
	2-12-75 RHT

%##%	Changed "=-" to a "-=" in TRIGS.  This was necessitated by
	a change in FAIL. Reassembled runtimes & put up new saisg8 &
	libsa8 on system.
	2-12-75 RHT

#UA#	Fixed a string gc bug in GOGOL.  Made a TENEX-only change
	to SAIL and CC[10x,ail] by putting a variable in the
	switched area that had been left outside in error.
	2-15-75  RLS

	Why is there a file HEAD.FAI on [S,AIL] in addition to HEAD?
	Do changes to HEAD have to be made to HEAD.FAI in addition?
	I changed a TENEX switch setting in HEAD, and then had
	to do the same to HEAD.FAI (which RPG favors over HEAD).
	2-16-75 RLS

	Above comment by RLS indicates a bug in SCISS, which is supposed
	to delete the file HEAD.FAI on the second pass. JFR

%##%	Edits to HEAD/7,17  SAIL/24  TOTAL/35  GEN/48  GEN/32,33
	to clear up BAIL recursive procedure type bits problem
	and define request protocol and residence of procedure
	descriptors for SAIL runtime routines and first pass at
	records and references.  New SAILDD. JFR 2-16-75

	Above changes also made to SYS:SAIL. JFR 2-17-75

%##%	Edits to TRIGS to take out the code JAM inserted therein without
	telling anyone.  Sent network mail to RICART%NCCT telling
	him what to do.  RHT 2-19-75

#UB#	An OLD and terrible bug (one of the "how did it ever work?" 
	variety in boolean code.  Made the appropriate patches in
	source & .dmp files RHT 2-21-75

%==%	Recd word from CMU that they have snarfed a copy of SAIL files
	& put up a system with no problems.  Send LDE a note thanking
	him for his nice compliments & warning him about #ub#.
	RHT 2-22-75

#%%#	One-word patch in BAIL code at BFORMS+24 [GEN/32], try to
	help recursive procedures and lexical nesting code. JFR 2-23-75

%##%	Snarfed copy of STATS from S,AIL to S,RHT & began making some
	changes for the sake of new-style records.  May be a bit bigger job
	than I thought, especially if Recuuo is to be flushed & string
	subfields are to be added.  Will continue working on in in odd moments.
	RHT

#UC#	(CMU =E3=) two bugs in refitem deletion.  Patched LEPRUN & made new
	segment and SAILEP entry for LIBSA8.  RHT 2-26-75

March, 1975

%##%	TENEX-specific changes made to the following files:
		(1)  ioser.tnx:  enter and lookup different error
	handling for device tty.
				gtjfn and openf:  defaults
	removed from code and documentation
				ttyin and friends:  patch
	made for new breaktable stuff, not quite right after JFR's
	fixes.
		(2)  An old and bad bug:  the compiler scanner
	decides that the buffer is done when it encounters a zero word.
	This has been fixed in the TENEX version.  It probably should
	be fixed in the DEC version too, but it slows it down slightly.
	ADVBUF in SYM (TENEX only) now checks that there is really nothing
	more in the buffer.  Changes to SYM, SAIL (new switched variable added),
	and CC[10x,ail] (variable cleared when files switched.)
		(3)  FOO2:  CHFDB added, for TENEX only.
	Total changes to:  SAIL, SYM, CC, IOSER.TNX, FOO2.  
	RLS 3-1-75

#UD#	Added CVASTR to FOO2.  Did not recompile yet.
	RHT 3-1-75

#%%#	Modified GEN so that all toplev non-external record pointers are
	declared OWN.
	RHT 3-9-75

#%%#	Fixed SPARES for NRC stuff
	RHT 3-16-75

%##%	Made up files for NRC stuff.  SAILDD.NEW, SAIL.DMP, SAILOW, SAISG8,
	HLBSA8, and LIBSA8 all exist on [s,ail].  Also, STATS.OLD & RECSER.OLD.
	Included HACK to detect old style record calls.  Will put
	up on system next weekend.
	RHT,JFR 3-30-75

%##%	PROFIL.SAI[X,AIL] replaced, old version PROFIL.OLD.  Added TENXSW,
	allowed ! to be equivalent to _ (so that START!CODE is START_CODE)
	FOO2:  TENEX-only functions SETCHAN and SETEDIT added.
	Old version is TRIGS.OLD.
	TRIGS:  TENEX-only interrupt code for under/over flow finally
	merged into sources.  Old version is TRIGS.OLD.  
	DO DOLIB on [10x,ail] to make "library".
	Total changes to master files:  FOO2, TRIGS, PROFIL.SAI.
	RLS  3-31-75
April, 1975

%##%	Put up new record system
	RHT 4-4-75

#UG#	Fixed bug.  patched source, sail.dmp[1,3], saildd.dmp[s,ail]
	RHT 4-7-75

%##%	Reassembled segment & sairec at behest of PDQ.
	JFR claims string subfields now work in compiler.  Will put
	up new compiler when Quam gets string garbage collector working.
	RHT 4-8-75

#UH#	Bug in TRIGS.  Reassembled HLBSA8 & LIBSA8 entries & put up.
	RHT 4-14-75

#UI#	Bug in INCHWL.  Reassembled saisg8 & SAITTY entries & put up
	RHT 4-14-75

#UJ#	Bug in FOO2.  Patched saildd & sys:sail.  Fixed FOO2.
	RHT 4-21-75
June 1975

	New compiler; supports full implementation of new record system,
	including string subfields.
	New CREF listing of compiler, SYSUDP:SAIL.LST[S,AIL] and
	a version that has been ETV'ed, SYSUDP:SAIL.ETV[S,AIL].
	6-1-75	JFR

	Edited GEN/30 to fix bug UK:  string procedure is not a string.
	6-2-75 RS

	Transfered RTRAN.SAI, RTRAN.DMP, FOO2, BPDAHD.FAI, BSM1HD.FAI
	from [1,JFR] to [S,AIL], first making RTRAN.OLD, FOO2.OLD.
	These are the files necessary for making the predeclared runtimes
	known to BAIL.  A SRCCOM of RESTAB (after going through
	the new RTRAN and the old RTRAN) showed no differences.
	Added BPDAHD.FAI, BSM1HD.FAI to FILES[X,AIL].
	JFR 6-3-75

	New version of PROFIL, accepts lowercase switches. JFR 6-4-75

%CD%	Tried putting up PDQ's new record stuff.  First time was a bomb,
	had to change 21 HERE's to HEREFK's.  Second time also a bomb.
	Rolled back to previous version, trying to figure out what's going on.
	
%CD%	At least part of the problem was that LOWER.REL was still around
	from the first try.  Deleted everything and started over, third
	time still got burned.  Won't try again until PDQ and RHT
	figure out what is going on.
	JFR 6-7-75

	Spooled compiler listing made 6-1-75.  Updated SYS UDP with files
	on [S,AIL] that had changed since last saved on UDP.
	JFR 6-7-75

%CD%	Found the problem.  Only one of the HEREs needed to be made a HEREFK.
	PDQ should have told me.  Tried assembling SAISPC and SAIREC for 
	LIBSA8, got UNDEF SGINS in SAISPC.  Just left SAILOW.REL, SAISG8.SEG
	and other stuff on [S,AIL] because system was too loaded to
	get anything done and there won't be anyone around for 4 or 5 days
	after I leave for CMU, in case disaster should strike.
	JFR 6-9-75.
September 1975.

#VA 	Bug fix in GEN.  Patched source file & both compilers.
	RHT 9-13-75

#VB	Bug fix in STATS.  Made appropriate patches
	RHT 9-17-75

	New LIBSA8 and HLBSA8 on SYS:, .OLD copies exist.
	New compiler and updated SAISG8 soon to follow.
	JFR 9-21-75

	New SAIL.DMP, SAIL.SEG (upper for compiler), SAISG8.SEG,
	SAILOW.REL, LIBSA8.REL, HLBSA8.REL.
	JFR 9-22-75

#VC-VF	Misc bug fixes.  Put up a new runtime segment.
	RHT 9-26-75

	New LIBSA8.REL and HLBSA8.REL, indexed.
	JFR 9-27-75
October 1975

#VG	Found a bug in LEPRUN.  Put up new segment.  Will ask
	JFR how libraries work now
	RHT 10-1-75

#VH	Bug fix.  Patched SAILDD, GEN, & SYS:SAIL

November 1975
11-1-75	JFR. New SYS:SAIL. Bug fixes VM,VN,VO.

	COMPILER!BANNER predefined macro which expands to what would be
	put at the top of the current page if a listing were being made.

	Source-file search normalized:
		TEST←TEST	looks for TEST.SAI then TEST.
		TEST←TEST.	looks only for TEST.
		TEST←TEST.ABC	looks for TEST.ABC then TEST.
	The compiler used to blow up on TEST←TEST. (explicit blank extension).

	SAIL, PTRAN, and RTRAN now believe in TMPCOR when started in RPG mode.

	The compiler switches which used to double stack sizes (D,P,Q,R)
	now do so only if the switch value is zero or not present.  If
	a non-zero value is specified, the stack is set to that size.
	Thus /35P/P first sets the P stack to 35 and then doubles it to 70.


11-9-75 JFR. Bug fixes #VR and #VS to SYS:SAIL.  Bug #VT fixed in source only.

11-20-75 JFR + RS. Renamed files from [S,RS] for PRINT integration.
	HEL,HEAD,FOO2,STATS,STRSER,SPARES.
	The old versions are .OLD[S,AIL].
	Tested out in temporary versions, not compiled on [S,AIL].

#VU	Edit to STATS, system compiler patched. 11-21-75 JFR
11-23-75 RLS.  TENEX only changes to GOGOL, STRSER, SPARES.
11-24-75 RLS.  TENEX only changes to HEAD.
11-24-75 RLS.  TENEX only change to TRIGS to correct a TENEX problem
		caused by an earlier fix of TRIGS by JAM.

December 1975

12-5-75	Added CVIS to SAIDM1 so that people with PRINT but no items do not get
	CVIS undefined and also do not socked with LEAP.	JFR
12-6-75 Fixed terrible record bug (#VV#).  Put up fix.
12-6-75 Another EXPR!TYPE problem:  TTEMP needs to be save/restored, in
	addition to other variables like ADEPTH.  Remark:  EXPR!TYPE is
	still rather wizardly and not to be trusted.	[GEN]   RLS
12-6-75 A PRINT bug found and fixed.			[STATS/48]  RLS
12-8-75 Put up new LIBSA8, HLBSA8, moved GOGTAB.DEF over to SYS:
	Fixed bug VZ & put up new compiler		[FOO2] RHT
January 1976

1-6-76	RTRAN now has conditional assembly. (Hurrah!).  Uses "[]" for
	brackets; left bracket must immediately follow flag word.
	True conditionals are listed in a section of the file; anything
	else before a "[" is a false conditional.  .OLD files exist.	JFR

1-17-76	Bug #WC detecved in NOW!SAFE statement.  Never worked.  Traced to an
	extra SCAN in the productions at MSA (the line following MS [HEL/6]),
	but no energy or time to fix it.	JFR
February 1976
2-13-76	Discovered that BAIL predeclared runtimes didn't have correct
	default parameters.  Modified RTRAN do to this correctly,
	remade BAICLC,BAIIO1,BAIIO2,BAIMSC,BAIPRC .SM1 and .REL files.
	JFR

2-16-76 Added a UORSW to HEAD
	JRL

2-18-76	#WI patched segment after making .OLD		JFR
	Also remade SAILUP for LIBSA8 and HLBSA8.

2-28-76	New compiler and libraries. New feature %DJ (SCANC -- compile-time
	callable SCAN).  Bug fixes #WJ, #WK (BAIL interface).
	Process runtimes (RESUME, SPROUT, TERMINATE, JOIN, CALLER, PSTATUS,
	SUSPEND) give better information if an error happens, and save
	status in a way which enables BAIL to work more gracefully.
	(Currently only in library versions.)
	JFR

2-28-76	New service routine: LODREQ.  It chases down load module and library
	requests, printing both the requestor and the requestee.
	Command string is similar to loader format:
		<out file>←<in file>,<in file>, ... ,<in file><alt>
	"Switches" are not allowed.  
	JFR
April 1976
4-23-76	New system compiler and SAILDD. Several minor RECORD bug fixes and
	improvements in generated code; also correction to grammar for
	CASE expression used as a statement (no longer bombs compilation).
	Also, BAIL now has a coordinate everywhere there would be a KOUNTer;
	up to now one could not break at the THEN part of a conditional.
	SOS line numbers are displayed in the proper place by  BAIL SHOW.
	JFR
June 1976
6-17-76	#XC (CMU =F5=) horrible bug. Overflow handler had the bits reversed.
	SAITGI reassembled and put in LIBSA8 and HLBSA8.
	Also #XA, #XB minor linkage fixes for library (BACKUP, TMPCOR).

6-29-76	TMPIN, TMPOUT disappeared from libraries, remade them.
August 1976
8-5-76	TYMSHARE merge.  Files COMSER,FOO2,GOGOL,HEAD,HEL,IOSER,PTRAN,
	RTRAN,SAIL,SCNCMD,SPARES,STATS,SYM,TOTAL,UP, PROFIL,MAKTAB.
	DART dump of *.*[*,AIL]	made before starting.
	FAIL[CSP,SYS] also changed; REG approved.

	New feature (not yet up for users): Explicitly numbered CASE
	statements may have more than one number per statement--i.e.,
	CASE I OF BEGIN [1][2] FOO; [100][34] BAR; [45] ZOT END;

	They seem to have a good idea about putting site name in
	COMPILER_BANNER.  Must investigate further.

	Lots of TYMSHARE unique stuff: UUOs, IO, new name for SOS, etc.
	Also some fixes to DEC expo stuff regarding tmpcor, etc.
→→→→→	DID NOT INTEGRATE NWORLD: SMERGE PROGRAM GOT INFINITE LOOP.
	Will have to try SRCCOM and hand merge in E.			←←←←←

	SCISS.NEW is TYMSHARE's extensively modified version.  Integration
	postponed; seems that they keep all the little .FAI files around.

	SMERGE.MAC[S,AIL] is a new program which takes a file and two
	descendents, makes a "common descendent" out of all three.  Sort
	of like an automatic SOUP, or a combined SRCCOM and E merge.
	Very nice if changes aren't too complicated; but witness infinite
	loop in converting NWORLD.

	Had two instances of the DSK screwing me: it lost a buffer
	once, and duplicated a buffer another time (two different files).
	Reported to REG, who says he has seen it before, but very rarely.

	-JFR

8-XX-76	Merged NWORLD from TYMSHARE.  JFR

8-17-76	%DQ% BREAKSET mode "Z" says: believe the break table when INPUTting
	zero characters (ASCII NUL).  [Used to always ignore them, except CMU.]

8-21-76	%DS% fix RESERVED, add CONOK for CHECK!TYPE.  JFR
November 1976
11-24	Merged files HEAD,PARSE,HEL,SYM,GEN,ARRAY,STATS,LEAP,COMSER from
	U. of Rochester.
	Also STRSER,ARYSER,WRDGET.
	Also GOGOL,LEPRUN after making $$LNOWARN under URLEAP.
	JFR
11-25	New SAICVC (for CVSTR) in libraries, and new segment (also for CVSTR).
	New compiler, main change is accepting := for ←, ** for ↑, >= for ≥,
	<= for ≤.
	JFR
December 1976
12-4	Put up SYS:SAILDP for users to test.  SNGL UUO (LONG REAL to REAL
	conversion) in GOGOL.  Misc. runtimes in LIBSA8 only.
	JFR

12-5	PROFIL recognizes LONG.  Also fixed missing trailing ")" in
	RECORD_POINTER declaration on PROFIL output. JFR

12-8	New SAIARY and SAIPIT in libraries, handle dynamic LONG array allocation
	and LONG REAL arguments to APPLY.
	New SAIREC in libraries, handles LONG REAL fields in records.
	Above changes also incorporated into SAISG8.
	Make αP work when RAID is entered from error handler. JFR

12-11	Double precision in.  Replaced files FOO2,HEL,SYM,GEN,ARRAY,EXPRS,
	STATS,LEAP,TOTAL. JFR