[asdf-devel] (no subject)
![](https://secure.gravatar.com/avatar/fa1e806f97322661e06279d2f35e7ab8.jpg?s=120&d=mm&r=g)
The first patch fixes the parsing of the configuration file that I use: (:source-registry :default-registry (:directory "/usr/share/common-lisp/systems") (:directory "/home/hechee/lisp/systems")) Currently I get "One and only one of :INHERIT-CONFIGURATION or :IGNORE-INHERITED-CONFIGURATION is required", even though none is present.
![](https://secure.gravatar.com/avatar/fa1e806f97322661e06279d2f35e7ab8.jpg?s=120&d=mm&r=g)
Signed-off-by: Stelian Ionescu <sionescu@cddr.org> --- asdf.lisp | 4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-) diff --git a/asdf.lisp b/asdf.lisp index 859d93c..0b4ba6c 100644 --- a/asdf.lisp +++ b/asdf.lisp @@ -2508,8 +2508,8 @@ located." (incf inherit) (funcall directive-validator directive)) :finally - (unless (= inherit 1) - (error "One and only one of ~S or ~S is required" + (unless (<= inherit 1) + (error "At most one of ~S or ~S is allowed" :inherit-configuration :ignore-inherited-configuration))) form) -- 1.7.1
![](https://secure.gravatar.com/avatar/0345f6261d6ced21145afdec166fd114.jpg?s=120&d=mm&r=g)
On 7 June 2010 00:33, Stelian Ionescu <sionescu@cddr.org> wrote:
Signed-off-by: Stelian Ionescu <sionescu@cddr.org> --- asdf.lisp | 4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/asdf.lisp b/asdf.lisp index 859d93c..0b4ba6c 100644 --- a/asdf.lisp +++ b/asdf.lisp @@ -2508,8 +2508,8 @@ located." (incf inherit) (funcall directive-validator directive)) :finally - (unless (= inherit 1) - (error "One and only one of ~S or ~S is required" + (unless (<= inherit 1) + (error "At most one of ~S or ~S is allowed" :inherit-configuration :ignore-inherited-configuration))) form)
It was initially on purpose that I inserted this restriction, because I felt that 1- there was no clearly good default that I could see. 2- if such a default is identified, we can enable it later. 3- if no default is initially provided, we can provide one later with backwards compatibility; but if we provide one, we can't change it with backwards compatibility. 4- I'd rather error out early with an annoying error message than do something silently that will be the wrong thing for many users. Do you really think there should be a default? Which, and for what reason? Is there a compelling reason to think that everyone will agree to same default? [ François-René ÐVB Rideau | Reflection&Cybernethics | http://fare.tunes.org ] Against stupidity the gods themselves contend in vain. — Friedrich von Schiller
![](https://secure.gravatar.com/avatar/fa1e806f97322661e06279d2f35e7ab8.jpg?s=120&d=mm&r=g)
On Mon, 2010-06-07 at 20:47 -0400, Faré wrote:
It was initially on purpose that I inserted this restriction, because I felt that 1- there was no clearly good default that I could see. 2- if such a default is identified, we can enable it later. 3- if no default is initially provided, we can provide one later with backwards compatibility; but if we provide one, we can't change it with backwards compatibility. 4- I'd rather error out early with an annoying error message than do something silently that will be the wrong thing for many users.
Do you really think there should be a default? Which, and for what reason? Is there a compelling reason to think that everyone will agree to same default?
After actually using the configuration system, I came to the conclusion for the sake of simplicity, ASDF should always inherit configuration, that :inherit-configuration and :ignore-inherited-configuration should not exist, and be replaced with a function such as, for example: asdf:initialize-source-registry-from-defaults &rest conf-sources by default, upon initialization ASDF would call (asdf:initialize-source-registry-from-defaults :system :user :env). Users could override that in the initfiles if needed. The reason for this is that I want users who install distro-provided packages to be able to start and use ASDF2 without having to create a local configuration file. OTOH, people who don't use distro packages wouldn't care about inheriting the system configuration because they wouldn't have it, so no harm done -- Stelian Ionescu a.k.a. fe[nl]ix Quidquid latine dictum sit, altum videtur. http://common-lisp.net/project/iolib
![](https://secure.gravatar.com/avatar/0345f6261d6ced21145afdec166fd114.jpg?s=120&d=mm&r=g)
On Mon, 2010-06-07 at 20:47 -0400, Faré wrote: After actually using the configuration system, I came to the conclusion for the sake of simplicity, ASDF should always inherit configuration, that :inherit-configuration and :ignore-inherited-configuration should not exist, and be replaced with a function such as, for example:
asdf:initialize-source-registry-from-defaults &rest conf-sources
by default, upon initialization ASDF would call (asdf:initialize-source-registry-from-defaults :system :user :env). Users could override that in the initfiles if needed.
The reason for this is that I want users who install distro-provided packages to be able to start and use ASDF2 without having to create a local configuration file.
That's the goal indeed, and I believe it is fulfilled.
OTOH, people who don't use distro packages wouldn't care about inheriting the system configuration because they wouldn't have it, so no harm done
If searching through :tree hierarchies weren't so desperately slow, especially on SBCL, I would agree. Unhappily it *is* slow. And so until and unless performance is fixed, I think it's necessary to allow to not inherit but override the configuration. But indeed maybe an :inherit-configuration in the end should be the default when nothing is specified. [ François-René ÐVB Rideau | Reflection&Cybernethics | http://fare.tunes.org ] Il n'y a absolument rien à dire de ce qui échappe complètement aux mots. The utterly unspeakable is utterly irrelevant.
![](https://secure.gravatar.com/avatar/fa1e806f97322661e06279d2f35e7ab8.jpg?s=120&d=mm&r=g)
On Sat, 2010-06-12 at 15:53 -0400, Faré wrote:
On Mon, 2010-06-07 at 20:47 -0400, Faré wrote: After actually using the configuration system, I came to the conclusion for the sake of simplicity, ASDF should always inherit configuration, that :inherit-configuration and :ignore-inherited-configuration should not exist, and be replaced with a function such as, for example:
asdf:initialize-source-registry-from-defaults &rest conf-sources
by default, upon initialization ASDF would call (asdf:initialize-source-registry-from-defaults :system :user :env). Users could override that in the initfiles if needed.
The reason for this is that I want users who install distro-provided packages to be able to start and use ASDF2 without having to create a local configuration file.
That's the goal indeed, and I believe it is fulfilled.
OTOH, people who don't use distro packages wouldn't care about inheriting the system configuration because they wouldn't have it, so no harm done
If searching through :tree hierarchies weren't so desperately slow, especially on SBCL, I would agree. Unhappily it *is* slow. And so until and unless performance is fixed, I think it's necessary to allow to not inherit but override the configuration.
What does inheriting configuration have to do with :tree hierarchies ?
But indeed maybe an :inherit-configuration in the end should be the default when nothing is specified.
-- Stelian Ionescu a.k.a. fe[nl]ix Quidquid latine dictum sit, altum videtur. http://common-lisp.net/project/iolib
![](https://secure.gravatar.com/avatar/0345f6261d6ced21145afdec166fd114.jpg?s=120&d=mm&r=g)
On 12 June 2010 16:42, Stelian Ionescu <sionescu@cddr.org> wrote:
If searching through :tree hierarchies weren't so desperately slow, especially on SBCL, I would agree. Unhappily it *is* slow. And so until and unless performance is fixed, I think it's necessary to allow to not inherit but override the configuration.
What does inheriting configuration have to do with :tree hierarchies ?
Because recursive through filesystem hierarchies is so slow, inheriting a configuration that recurses through such hierarchies can be a big pain in the ass. [ François-René ÐVB Rideau | Reflection&Cybernethics | http://fare.tunes.org ] Boxer’s law of economics: “The economy interprets taxation and regulation as damage and routes around it.” — Jessica Boxer, http://esr.ibiblio.org/?p=1752
![](https://secure.gravatar.com/avatar/fa1e806f97322661e06279d2f35e7ab8.jpg?s=120&d=mm&r=g)
Signed-off-by: Stelian Ionescu <sionescu@cddr.org> --- asdf.lisp | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/asdf.lisp b/asdf.lisp index 0b4ba6c..805e32b 100644 --- a/asdf.lisp +++ b/asdf.lisp @@ -2082,7 +2082,7 @@ details." (or class (and (eq type :file) (or (module-default-component-class parent) - (find-class 'cl-source-file))) + (find-class *default-component-class*))) (sysdef-error "~@<don't recognize component type ~A~@:>" type)))) (defun maybe-add-tree (tree op1 op2 c) -- 1.7.1
![](https://secure.gravatar.com/avatar/0345f6261d6ced21145afdec166fd114.jpg?s=120&d=mm&r=g)
On 7 June 2010 00:33, Stelian Ionescu <sionescu@cddr.org> wrote:
Signed-off-by: Stelian Ionescu <sionescu@cddr.org> --- asdf.lisp | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/asdf.lisp b/asdf.lisp index 0b4ba6c..805e32b 100644 --- a/asdf.lisp +++ b/asdf.lisp @@ -2082,7 +2082,7 @@ details." (or class (and (eq type :file) (or (module-default-component-class parent) - (find-class 'cl-source-file))) + (find-class *default-component-class*))) (sysdef-error "~@<don't recognize component type ~A~@:>" type))))
(defun maybe-add-tree (tree op1 op2 c) -- 1.7.1
I published this as ASDF 2.001, because it's 1- something I would have done for 2.000 2- innocuous and backwards compatible 3- necessary to get this functionality right 4- hard to do as a patch or add on 5- better included everywhere while it's possible As for other things suggested by Stelian and others, I believe we should start to distinguish 2.0 and 2.1 branches, but I'll leave that to whomever steps forward to spearhead 2.1 development (I know Juanjo is interested but has no time right now). [ François-René ÐVB Rideau | Reflection&Cybernethics | http://fare.tunes.org ] What's funny with equality is how everyone has a different idea of it. —#f
participants (2)
-
Faré
-
Stelian Ionescu