Since we're interacting with ITS through the system console, one cause
of build failures is the messages the system job prints to the console
at unpredictable times -- for example, periodic timestamps and
notifications of changes to files in system directories. If one of these
gets printed while we're expecting something else, it's hard for the
Expect script to recover.
Avoid this by patching STYO, the system job's character-printing
routine, to return without doing anything if this system is up.
Adjust the pdset routine so it's matching PDSET's output rather than the
system job's to tell when the time has been set.
Doing expect_after before a child process has been spawned causes Expect
to try reading from stdin. If stdin is /dev/null, it gets an EOF from
the read, assumes it's been closed... and closes stdout too, so we don't
see any more of the child process interaction.
When shutting down the emulator and starting another, it's otherwise
possible for the first read from the new emulator to return an error
(EIO from the pty read in Expect).
On my machine the expect script fails to see the ". words" because the "." is
separated by a newline and the message "IT IS NOW..." (time) followed by a newline with "words". Chnaged from ". words" to "words".
Resolves#1134.
Resolves#1125. This reverts the compilation of TRANSS and uses the
FASL file from MC. I'll have to figure out what is wrong with the
source/compilation in another ticket.
Trying to match the list output from these functions, without also
matching the "; Loading" messages from Lisp, is difficult to do reliably
in expect (as demonstrated by a series of test builds on a slowish VM).
Instead, use a marker ("=Build=") that won't appear in the output.
The DB and KA configurations have different console terminal widths, and
format these lists differently: DB puts a space after the right bracket,
and KA doesn't, so the build was hanging here on KA.
Retrieved from <http://web.onetel.net.uk/~hibou/ITSter.txt>. Earlier
versions are in SV: HIBOU; -- I've given this version 186 because it's
identical to version 185 (dated 2002-03-13) except for a change of name.
Modifying some of the sources has changed these from the values
previously in lisp.tcl and build.tcl; it now matches any string of
numbers on a line by itself (optionally with "." and spaces afterwards).
Add HACK; to sources.tape, and add a missing \r to the build command.
I've also increased the timeout for MAKE WEBSER to be consistent with
what we've done for MUDDLE XFILE; since it's only a single MIDAS
invocation at the moment this shouldn't really be necessary.
Written by Paul Svensson, who gave permission in 2017 to include this
with DB ITS.
Source from SV: HACK; WEBSER 19, dated 2003-05-15. Build XFILE from SV:
HACK; MAKE WEBSER, dated 2011-07-09.
Jack Haverty wrote on its-hackers:
> On MIT-DM, the most commonly used top-level program was called
> "monit". It was used by most people instead of DDT because it required
> less memory, which was a very scarce and precious commodity in the
> early 70s before paging and swapping. In fact there was a lot of peer
> pressure to use monit unless you had a very good reason to use DDT.
This is a very old source file -- AI: SYSENG; MONIT 114 is listed in
MAPS in 1971-04. Development happened on DM; "Scenarios for Using
Arpanet at the International Conference on Computer Communication" has a
1972-09 transcript showing MONIT 192 on DM.
The binary SYS; TS MONIT is listed on AI, MC and ML from 1971 to 1983 in
MAPS, although it doesn't survive in the AI/MC KS10 dumps. A 1981
message to BUG-ITS from ED@MIT-ML suggests it was an old version:
> ML:SYS;TS MONIT [...] does not have symbols nor the correct start
> address (1300). It is pretty badly broken, but great fun to play with
> nevertheless.
where the default of > would be more appropriate. This fixes, in
particular the incorrect compilation of LIBDOC; TIME KMP8 instead of
LIBDOC; TIME KMP9. Resolves#1091.