On 10 May 2011 12:45, Nikodemus Siivola <nikode...@random-state.net> wrote: > Steps to reproduce: > > 1. Get ASDF 2.015 or .1 > > 2. Install Quicklisp, (ql:quickload "flexi-streams") > > 3. Install Flexi-Streams outside quicklisp as well. (For the purposes > of bug reproduction, putting a copy of flexi-streams.asd into eg ~/tmp > is enough.) > > 4. Go to the directory with the non-Quicklisp copy of flexi-streams.asd. > > 5. In lisp: > > (push "./" asdf:*central-registry*) > > (asdf:load-system "flexi-streams") > > ...endless recursion that eventually blows either stack or heap. > > What is happening is approximately this: > > ASDF starts loading ~/tmp/flexi-streams.asd > > DEFSYSTEM FLEXI-STREAMS is ok. > > During processing of DEFYSTEM FLEXI-STREAMS-TEST, FIND-SYSTEM is > called for FLEXI-STREAM-TEST -- > ironically _after_ it has been registered and its pathname set. > > Source-registry doesn't find it because there is no file > flexi-stream-test.asd, and neither does > SYSTEM-FIND-ASDF, but Quicklisp which _does_ find it: > > ASDF starts loading quicklisp/.../flexi-streams.asd > > ...you can guess where this leads. But even without the endless > recursion this find is bogus. > > This did not happen with prior versions of ASDF. This is really > messing up things for me -- enough so that I'm contemplating reverting > the SBCL provided ASDF to 2.014. > Ouch.
Does 2.014 fix this? If it does, that makes sense indeed. I'll have to go back to the drawing board and maybe change the way find-system works, to make it more robust. [ François-René ÐVB Rideau | Reflection&Cybernethics | http://fare.tunes.org ] You can tell whether a man is clever by his answers. You can tell whether a man is wise by his questions. — Naguib Mahfouz _______________________________________________ asdf-devel mailing list asdf-devel@common-lisp.net http://common-lisp.net/cgi-bin/mailman/listinfo/asdf-devel