[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Changes to Maclisp

We've recently discovered a peculiar interaction between MacLisp and the
migration system program (reaper).  It seems that some .fasl files that were
being accessed by MacLisp frequently were not having their last-read dates
updated properly, causing them to be migrated and thus making MacLisp unusable
until they were restored.

Our system programmer, Aaron Wohl, postulates that this is caused by MacLisp's
first opening a file with the do-not-update-read-date bit set (Of%Pdt) and then
actually opening the file for reading.  Apparently, the monitor is then failing
to update the read date on the second file opening as well.  Searching through
the Lisp sources, it appears that the only place such an Openf% is ever used is
in the function FASLP; also, it seems highly likely that most uses of FASLP
would be immediately followed by actually reading the file.

In order to alleviate this problem, I've built and installed Lisp version 2130
on CMUC using a modified QIO.mid with the following changes:

(1) Of%Pdt is no longer set on the Openf% in FASLP.
(2) All GtJfn% calls have had the Gj%Acc removed, so that the files are visible
(this change in response to discussions with Jonl indicating that this would be
a good idea).

If whoever is responsible for maintaining the master Lisp sources would make
these changes there as well, it would be appreciated.  Alternatively, just
ftp the file Ps:<MacLisp>Qio.mid.751 from CMUC.

		Leonard Zubkoff