Isn't it allowed because it's never clear what directory they are relative to, considering that the user may have changed the getcwd() arbitrarily between startup and asdf parsing the source-registry configuration, which would cause "interesting" subtle bugs, that I wanted to avoid — including security issues if a binary written in Lisp ever loads systems at runtime and examines a carefully crafted directory.
I suppose there's a case for allowing relative names, making them relative to the configuration file when in a configuration file (though that's not a common use case at all), and relative to *default-pathname-defaults* when in an environment string, leaving the user full responsibility to avoid subtle bugs. I'm not the one to convince anymore, though. Ask Robert. If he agrees with you, I'll gladly help with the required modifications to ASDF.
In the meantime, splice $PWD in your CL_SOURCE_REGISTRY, and #.(subpathname *default-pathname-defaults* "foo/") in your source-registry.conf.
—♯ƒ • François-René ÐVB Rideau •Reflection&Cybernethics• http://fare.tunes.org The word 'politics' is derived from the word 'poly' meaning 'many', and the word 'ticks' meaning 'blood sucking parasites'.
On Wed, Feb 18, 2015 at 8:45 PM, Eitaro Fukamachi e.arrows@gmail.com wrote:
Hi ASDF developers,
I wanna ask a question about the specification of source-registry.
ASDF doesn't allow relative pathnames in source-registry string intentionally. https://github.com/drmeister/asdf/blob/master/source-registry.lisp#L136
It seems the line has long history, however, why it won't accept relative pathnames?
I think it would be useful when adding the current working directory to the source registry like:
# doesn't work CL_SOURCE_REGISTRY=. sbcl --eval '(princ (asdf:system-source-directory :myapp))'
Thanks, Eitaro Fukamachi
Asdf-devel mailing list Asdf-devel@common-lisp.net https://mailman.common-lisp.net/cgi-bin/mailman/listinfo/asdf-devel