What is the lisp implementation you are using that you need this modification, and on what OS? There are some subtle distinctions between different implementations in how they treat symbolic links.

On 16 Nov 2022, at 11:38, Stelian Ionescu wrote:

Hi,

ASDF already allows that, so it's not clear to me how you're trying to do.

I have the following in ~/.config/common-lisp/source-registry.conf

(:source-registry
  (:directory (:home "lisp/systems"))
  :ignore-inherited-configuration)

I symlink .asd files into ~/lisp/systems/ and ASDF loads them without issues.

Hi,

I wonder if it possible that you would accept this change which allows finding of a system by a symbolicly linked ".asd" file. I've been running with this patch for about 10 years without issue. I'm sorry for not having test cases and documentation, but it seems time passing won't help that. I know this is probably a pointless change for everyone besides me, being the only user of my software, so I quite understand if you don't want to add it. Anyway, many thanks for your years of work on perhaps the most used CL software ever.

diff --git a/find-system.lisp b/find-system.lisp
index 0980a2cc..1a226aba 100644
--- a/find-system.lisp
+++ b/find-system.lisp
@@ -263,11 +263,16 @@ PREVIOUS-PRIMARY when not null is the primary system for the PREVIOUS system."
          (locate-system name)
        (assert (eq foundp (and (or found-system pathname previous) t))))
      (let ((previous-pathname (system-source-file previous))
-           (system (or previous found-system)))
+           (system (or previous found-system))
+           real-name)
        (when (and found-system (not previous))
          (register-system found-system))
        (when (and system pathname)
          (setf (system-source-file system) pathname))
+       (when (and pathname
+                  (setf real-name (pathname-name pathname))
+                  (not (equal real-name name)))
+         (setf name real-name))
        (if-let ((stamp (get-file-stamp pathname)))
          (let ((up-to-date-p
                 (and previous previous-primary


--
Stelian Ionescu