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

IOTA-ifying LOAD



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 
        point.

-kmp