Re: An ASDF patch
Christophe Rhodes <[email protected]> Wed, 07 Mar 2007 15:58:46 +0000
| Newsgroups | gmane.lisp.cclan.general |
|---|---|
| Message-ID | <[email protected]> |
Gary King <[email protected]> writes: > Comments welcome (and desired); if none are forthcoming, this will be > checked in later this week. What are the expected results when a defsystem form is evaluated outside of a file? > +(defvar *resolve-symlinks* t) What is this new variable for? It doesn't seem to be either exported or bound. > + (let ((*default-pathname-defaults* > + (make-pathname :name nil :type nil > + :defaults *default-pathname-defaults*))) I'd be surprised if this actually did what you might expect it to in all implementations, knowing what I do about some of them... only some of them treat :name nil as explicit provision of a name; others will merrily merge over the top of that NIL from the defaults. > (or ,pathname > - (when *load-truename* > + ;; If not resolving symlinks, then > + ;; use *load-pathname* instead of > + ;; *load-truename* since the latter, > + ;; in some implementations, has > + ;; already resolved a symlink. > + (if *resolve-symlinks* > (pathname-sans-name+type > - (resolve-symlinks *load-truename*))) > + (resolve-symlinks *load-pathname*)) > + (pathname-sans-name+type > + *load-pathname*)) This hunk looks garbled. What is the point of using *load-pathname* if you're going to resolve the symlinks immediately? That is, the comment does not agree with the code. Cheers, Christophe ------------------------------------------------------------------------- Take Surveys. Earn Cash. Influence the Future of IT Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT & business topics through brief surveys-and earn cash http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV