Comment 19 for bug 1335323

Revision history for this message
Faré (fahree) wrote :

Zach: if you code depends on things not being cached, you may want to explicitly wrap your code inside a (let ((asdf/cache:*asdf-cache* nil)) ...), or else you'll experience "interesting" bugs. If you want to support ASDF 2 (I don't — Robert, do you?), you'll have to prefix the binding with #+asdf3.

Robert: when we reload foo/test, we'll first reload foo (see the first test in the main find-system method), so that part is OK. So far, there is no API function to smash the cache altogether, except to explicitly set or bind *asdf-cache*. For the binding, you could add a :disabled argument to with-asdf-cache, for instance.

I don't know what to recommend for handling missing-component errors. My first idea would be to recommend that a s-d-s-f function should never signal such an error for a system it will provide in the same cache session — but just install and return the system before to return from the function. But I admit I haven't tried, and I don't understand the design of Quicklisp.