Can I set CL_SOURCE_REGISTRY to a value that deactivates all "default" paths? Then I don't care what the default is...
Pascal Sent from my iPad On 12 Mar 2014, at 22:14, Faré <fah...@gmail.com> wrote: >>>> : Faré >>> : p-cos >> : rpgoldman > >>> asdf is not a tool for beginners. Beginners will either deal with a bare >>> Common Lisp implementation, or they want to experiment with third-party >>> libraries, in which case they want to use quicklisp these days. Once you >>> need to define your own systems, you're not a beginner anymore, and a good >>> tutorial helps a lot more than any supporting wheels can. It's already hard >>> enough to ensure that asdf doesn't accidentally find systems you don't want >>> it to find, you shouldn't make it even harder. >>> >>> On top of that, with the proposed scheme, you will create a situation where >>> there are not only two "default" locations for user-defined systems, but >>> three when quicklisp is active. I find it hard to imagine that beginners >>> will find this easy to grasp. > ASDF is a tool for everyone, beginners and experts alike, at least > since ASDF2. The ability to just work out of the box yet be > configurable by program > user > system, was a strong requirement for > ASDF2, and I believe we have been by and large successful at it, > despite the complexity (only to be seen by experts). > > Yes, you can define your own systems without having to learn all the > details of ASDF — or you should be able to. A better default location > for code than ~/.local/share/common-lisp/ makes total sense, and I am > 100% behind Robert on that. I only apologize for not making it happen > as early as ASDF2. > >>>> I believe that ~/common-lisp/ is the Right Thing™ at this point. >>> >>> Are you saying that I just got lucky because I happen to be subscribed to >>> this mailing list, but it's ok if other people have to suffer? >> >> No, I am saying that you correctly pointed out that we should avoid a >> pathname that people are likely already to be using. > On the other hand, anyone who already has his system configured in any > way will have ASDF find his systems where he already configured it, > and the defaults only apply for systems not already configured. > > The only time a new default will cause a system you don't want to > shadow a system you want is if you rely on earlier, lower priority > defaults: if Pascal expects some system loaded from > /usr/share/common-lisp/source/ but has an outdated copy in ~/lisp/old/ > then he's in trouble. Otherwise, not. > > Note that some of the XDG default paths were broken from 2.27 to 3.0.2 > included (see commit 285a61e before 3.0.2.9), so effective changes in > the defaults have happened in the past, and not anyone noticed except > a few unhappy Debian users (my apologies to them). > > I still believe that ~/common-lisp/ is a much better choice than > ~/asdf-local-projects/ or anything. > >>> For the records, I don't like any of the suggested "default" paths. > You don't have to like them. You're a big boy, you can easily override > them. You can even use :ignore-inherited-configuration. > >>> Just make this a configuration option. For example, an environment >>> variable, or so, then everybody can choose their own preferred name. >>> >>> export ASDF_DEFAULT_PATH=~/common-lisp > You can already do that: > export CL_SOURCE_REGISTRY=~/common-lisp// > > The question is about what defaults should be, for beginners. > >>> ...and please make this empty by default, so it doesn't mess up anything >>> unless I ask it to do so... >> >> I'm sorry, but that is not on the table. >> >> We are looking for a solution that will work without any active >> configuration by the user, beyond "put your system definition here, and >> you don't have to do anything." > I totally agree with Robert. > > —♯ƒ • François-René ÐVB Rideau •Reflection&Cybernethics• http://fare.tunes.org > Ever wonder why the SAME PEOPLE make up ALL the conspiracy theories?