As far as I know, Windows now supports symlinks (https://learn.microsoft.com/en-us/windows/security/threat-protection/security-policy-settings/create-symbolic-links). Does that not work ?

It's probably safest and wisest to not make this change. Sorry for wasting time. Here are some words which may answer your questions, but are safe to ignore:

I've only tested it on {sbcl ccl ecl clisp lispworks allegro cmu} on {linux bsd macos windows}. Windows doesn't have effective symbolic links, so unfortunately this doesn't work on it. Although it does work under POSIX compatibility like cygwin. Unfortunately I don't know if it works on Mezzano or Genera. I'm unsure about ABCL, Clasp, and Corman since I haven't yet been able to run on those. I think this should only happen when the link target base name is not ‘equal’ to  the one given, so it's only dependent on the behaviour of pathanme-name not on any OS specific thing.

I don't think there's any change to the user's configuration that can achieve this. Making a long set of changes to the user's ASDF configuration e.g. source-registry.conf, seems difficult and inappropriate.

I know ASDF already supports ths case of:

/some/path/foo.asd -> /a/different/path/foo.asd

This change is for the cases where the base name differs:

foo.asd -> bar.asd
/the/same/path/foo.asd -> /the/same/path/bar.asd
/some/path/foo.asd -> /a/different/path/bar.asd

so when you ask to load "foo" it can load "bar". Everything else is the same as if you asked to load "bar".




--
Stelian Ionescu