On Sat, Sep 14, 2024 at 11:01 AM Robert P. Goldman rpg@sift.net wrote:
I’ve got to push back on your rant. There’s a perfectly good reason for those two limitations you dislike: they are the same as the limitations on logical pathnames. So if you wish to be able to find an ASDF system relative to a directory designated by a logical pathname, those limitations are pretty much forced on you.
All right. Help me sort this out. I actually want to make this work.
I have a directory Foo_Bar and I want to create a .asd file (in any directory which is known to ASDF) which describes the stuff within Foo_Bar. From what I have sorted out so far, that .asd file must be named something other than "Foo_Bar.asd" and the system it describes must be named something other than "Foo_Bar".
The ideal outcome is that a user would say
(asdf:load-system "Foo_Bar")
and that the system which describes the stuff in "Foo_Bar" would get loaded. How close can I get to that, and what do I have to do, involving logical pathnames if need be, in order to get it?
I am thinking I need to do something like (I emphasize "like", as I am aware that the following code doesn't work):
(setf (logical-pathname-translations "abc") ("**;foobar.asd" "Foo_Bar.asd"))
and that must be executed before the system is defined
(defsystem "foobar" ...)
and before the user calls ASDF:LOAD-SYSTEM.
(asdf:load-system "Foo_Bar")
Can this work, at all? As I was saying, I actually want this (or anything) to work. I don't have any point to make except to get something working. Thanks for your help.
Robert