Zach Beane xach@xach.com writes:
So can you make suggestions about how to be quicklisp-compatible while making it possible to have multiple findable system definitions in a single file?
Hmm, I think it might be workable if, when a system with a given slashed name is not found, the *system-definition-search-functions* chain was called recursively with the truncated name, instead of having each function in *s-d-s-f* have to know how to truncate on its own.
E.g. imagine I had something like this:
(push (lambda (name) (print (list 'trace name)) nil) *system-definition-search-functions*)
Then it would be nice if the ASDF internals led to putput like this:
(find-system "foo/bar")
(TRACE "foo/bar") (TRACE "foo")
=> #<SYSTEM "foo/bar">
Does it work that way now? I don't think it does.
Actually, another option could be to ONLY call the *s-d-s-f* chain on the truncated name. That would preclude those functions from implementing some new funky logic for slashed names, but I don't think that's really much of an issue.
Zach