[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
- To: BUG-LISP at MIT-MC
- Subject: IOTA-ifying LOAD
- From: Kent M. Pitman <KMP at MIT-MC>
- Date: Sat, 1 Mar 80 03:22:00 GMT
- Cc: RLB at MIT-MC, BGS at MIT-AI, SJOBRG at MIT-AI, GSB at MIT-ML
- Original-date: 29 February 1980 22:22-EST
There was much confused mail on the subject, this is not really intended for
reply unless someone finds something erroneous -- mostly I am just summarizing
for the record...
(1) IOTA or its hand-written equivalent is the right thing for user code
to use in init files.
(2) Lisp LOAD does not correctly UNWIND-PROTECT loading. The following
will hold the being-loaded file open...
(1) Failure to return.
A simple example -- if you define a DOCTOR program and then make
the last form in the file be (DOCTOR), you'll lose until that call
returns, you'll be holding the file open. The file doesn't close
until Lisp tries to read for a next form and fails. Hence, even if
all the useful text in a file has been read, it may not be that the
whole file has been read. This is not a bug.
(2) Unusual return from LOAD.
ERROR's and THROW's which terminate a LOAD will also not cause a
CLOSE to happen at the right time. This is a bug and should be
fixed ... someday ... when one of us has the time ... but I agree
it is really something which deserves being attended to at some