On Tue, Aug 30, 2016 at 4:46 PM, Jason Miller jason@milr.com wrote:
Somewhat off-topic, but I'll bite:
This is because *load-pathname* is likely to be a relative pathname, and relative pathnames have their own problems. The unix way of solving it is to transform relative pathnames with "$PWD/pathname" but I don't believe there is a builtin facility for doing the equivalent in common lisp, nor did I find one in a quick look throug uiop/pathname.
Then you missed uiop:ensure-absolute-pathname, and/or the :ensure-absolute option to ensure-pathname (and, by extension, parse-unix-namestring).
It's there because indeed ASDF 3 uses it, precisely to prevent situations like the one you mention.
It's in uiop/pathname, but if you might in many cases suppose #'uiop/os:getcwd as its :default.
Remarkably, uiop is now 40% larger than asdf/defsystem, and over eight times larger than the original ASDF 1.85... that's the price of being portable and robust.
—♯ƒ • François-René ÐVB Rideau •Reflection&Cybernethics• http://fare.tunes.org I'll start exercising as soon as I'm into shape.