Hello.
I've been testing ASDF 3.1.0.66 and unfortunately detected errors:
1. Required method PERFORM not implemented for operation #<STANDARD-CLASS CFFI-GROVEL::PROCESS-OP {599AF195}>, component #<STANDARD-CLASS ASDF/LISP-ACTION:CL-SOURCE-FILE {582A1E35}>
2. New ASDF breaks ECL for Quicklisp. The problem nails down to (require 'sockets). This form works for ECL unless new ASDF is loaded.
To reproduce at cl-test-grid.cloud.efficito.com machine:
rlwrap ~/lisps/ecl-bin-13.5.1/bin/ecl -norc (require 'sockets)
;;; Loading #P"/home/testgrid/lisps/ecl-bin-13.5.1/lib/ecl-13.5.1/sockets.fas" => ("SB-BSD-SOCKETS" "SOCKETS")
------ compare with:
rlwrap ~/lisps/ecl-bin-13.5.1/bin/ecl -norc -load ~/asdf/build/asdf.lisp (require 'sockets)
ASDF could not load sockets because In function MAPCAR, the value of the second argument is #P"SYS:SOCKETS.FAS" which is not of the expected type LIST.
The report: http://common-lisp.net/project/cl-test-grid/asdf/asdf-diff-33.html
Best regards, - Anton
On Mon, Feb 17, 2014 at 8:47 PM, Anton Vodonosov avodonosov@yandex.ru wrote:
I've been testing ASDF 3.1.0.66 and unfortunately detected errors:
TL;DR: All fixed in 3.1.0.67.
Thanks a whole lot for your testing, once again!
- Required method PERFORM not implemented for operation #<STANDARD-CLASS CFFI-GROVEL::PROCESS-OP {599AF195}>, component #<STANDARD-CLASS ASDF/LISP-ACTION:CL-SOURCE-FILE {582A1E35}>
Aha! Back in ASDF 2.28.x (while ASDF 3 was in beta), I made PERFORM error out by default, instead of NOP out like before. This was good, because operations were not propagated anymore into nonsensical combinations, so this would give good error messages to detect which needed PERFORM methods were missing, or which nonsensical actions were generated in the plan. Now that we reinstated the legacy propagation of operations that are not either explicitly propagated or not propagated, such nonsensical actions are generated again, and the proper default should be to NOP again in this case, not error out. Happily, when instantiating the operation itself, there will be a warning regarding this backward compatible behavior. As usual "if it's not backwards, it's not compatible".
Fixed, with test case.
New ASDF breaks ECL for Quicklisp. The problem nails down to (require 'sockets). This form works for ECL unless new ASDF is loaded.
To reproduce at cl-test-grid.cloud.efficito.com machine:
rlwrap ~/lisps/ecl-bin-13.5.1/bin/ecl -norc (require 'sockets)
;;; Loading #P"/home/testgrid/lisps/ecl-bin-13.5.1/lib/ecl-13.5.1/sockets.fas" => ("SB-BSD-SOCKETS" "SOCKETS")
------ compare with:
rlwrap ~/lisps/ecl-bin-13.5.1/bin/ecl -norc -load ~/asdf/build/asdf.lisp (require 'sockets)
ASDF could not load sockets because In function MAPCAR, the value of the second argument is #P"SYS:SOCKETS.FAS" which is not of the expected type LIST.
I'm not sure how this ever worked, if it did. The input-files method was all wrong, ever since a refactoring that happened in the 2.26.x days, after merging asdf-bundle into ASDF. I suppose it was previously overridden by a generic method that returned NIL, that I removed recently in a cleanup.
Fixed. I didn't try hard to add a refined test, but I did add a (require 'sockets) to test-bundle.script, which at least would have caught this regression.
NB: the latest ECL fails test-program.script, but I believe it's a bug in ECL.
PS: if you have time for a test with ASDF-USER :use'ing :UIOP...
—♯ƒ • François-René ÐVB Rideau •Reflection&Cybernethics• http://fare.tunes.org Calling a Communist a liar is pretty frustrating. How do you insult a pig by calling it a pig? Communists are not bound by our morality. They say that any crime, including lying, is moral if it advances the cause of socialism. — Ronald Reagan
On Mon, Feb 17, 2014 at 11:01 PM, Anton Vodonosov avodonosov@yandex.ru wrote:
PS: if you have time for a test with ASDF-USER :use'ing :UIOP...
I remember about this. Will do after testing 3.1.0.67, or you think it's better to test earlier?
It's better to test in a version of ASDF that doesn't otherwise depart too much from the baseline, so we don't miss the test on too many systems.
—♯ƒ • François-René ÐVB Rideau •Reflection&Cybernethics• http://fare.tunes.org Computerese Irregular Verb Conjugation: I have preferences. You have biases. He/She has prejudices.
18.02.2014, 08:17, "Faré" fahree@gmail.com:
On Mon, Feb 17, 2014 at 11:01 PM, Anton Vodonosov avodonosov@yandex.ru wrote:
PS: if you have time for a test with ASDF-USER :use'ing :UIOP...
I remember about this. Will do after testing 3.1.0.67, or you think it's better to test earlier?
It's better to test in a version of ASDF that doesn't otherwise depart too much from the baseline, so we don't miss the test on too many systems.
I was going to ensure first that ASDF 3.1.0.67 has no regressions, and then test and compare "ASDF 3.1.0.67" vs "ASDF 3.1.0.67 + :use :uiop" so we will be sure all the differences are caused only by :use :uiop
I was going to ensure first that ASDF 3.1.0.67 has no regressions, and then test and compare "ASDF 3.1.0.67" vs "ASDF 3.1.0.67 + :use :uiop" so we will be sure all the differences are caused only by :use :uiop
Perfect!
—♯ƒ • François-René ÐVB Rideau •Reflection&Cybernethics• http://fare.tunes.org A hen is just the egg's way of making another egg — Samuel Butler, 1872 People are DNA's way of making more DNA — Edward O. Wilson, 1975