<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/xhtml; charset=utf-8">
</head>
<body><div style="font-family: sans-serif;"><div class="plaintext" style="white-space: normal;"><p dir="auto">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.</p>
<p dir="auto">On 16 Nov 2022, at 11:38, Stelian Ionescu wrote:</p>
</div><blockquote class="embedded" style="margin: 0 0 5px; padding-left: 5px; border-left: 2px solid #777777; color: #777777;"><div id="012FC38C-E64F-48E0-85A4-1CA1327AEC5F">
<div>Hi,<br></div>
<div><br></div>
<div>ASDF already allows that, so it's not clear to me how you're trying to do.<br></div>
<div><br></div>
<div>I have the following in ~/.config/common-lisp/source-registry.conf<br></div>
<div><br></div>
<div>(:source-registry<br></div>
<div> (:directory (:home "lisp/systems"))<br></div>
<div> :ignore-inherited-configuration)<br></div>
<div><br></div>
<div>I symlink .asd files into ~/lisp/systems/ and ASDF loads them without issues.</div>
<div><br></div>
<blockquote type="cite" id="qt" style>
<div dir="ltr">
<div>Hi,<br></div>
<div><br></div>
<div>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.<br></div>
<div><br></div>
<div><span style><span class="font" style="font-family:monospace;">diff --git a/find-system.lisp b/find-system.lisp</span></span><br></div>
<div><span style><span class="font" style="font-family:monospace;">index 0980a2cc..1a226aba 100644<br>
--- a/find-system.lisp<br>
+++ b/find-system.lisp<br>
@@ -263,11 +263,16 @@ PREVIOUS-PRIMARY when not null is the primary system for the PREVIOUS system."<br>
(locate-system name)<br>
(assert (eq foundp (and (or found-system pathname previous) t))))<br>
(let ((previous-pathname (system-source-file previous))<br>
- (system (or previous found-system)))<br>
+ (system (or previous found-system))<br>
+ real-name)<br>
(when (and found-system (not previous))<br>
(register-system found-system))<br>
(when (and system pathname)<br>
(setf (system-source-file system) pathname))<br>
+ (when (and pathname<br>
+ (setf real-name (pathname-name pathname))<br>
+ (not (equal real-name name)))<br>
+ (setf name real-name))<br>
(if-let ((stamp (get-file-stamp pathname)))<br>
(let ((up-to-date-p<br>
(and previous previous-primary</span></span></div>
</div>
</blockquote>
<div><br></div>
<div><br></div>
<div id="sig4916231">
<div class="signature">--<br></div>
<div class="signature">Stelian Ionescu<br></div>
</div>
<div><br></div></div></blockquote>
<div class="plaintext" style="white-space: normal;">
</div>
</div>
</body>
</html>