Fold *systems-being-defined* into the *asdf-cache*.
Add regression test for no infinite loop when processing asd files that mutually define each other's systems. (Prompted by Robert Strandh inquiring about the bug fixed in 2.015.[23] after my mentioning an infinite loop in my ASDF3 article.) Checked that removing the set-asdf-cache-entry in parse-defsystem triggers the bug.
Showing
- cache.lisp 9 additions, 8 deletionscache.lisp
- find-system.lisp 32 additions, 51 deletionsfind-system.lisp
- interface.lisp 1 addition, 1 deletioninterface.lisp
- operate.lisp 6 additions, 6 deletionsoperate.lisp
- parse-defsystem.lisp 4 additions, 4 deletionsparse-defsystem.lisp
- test/test-mutual-redefinition-1.asd 2 additions, 0 deletionstest/test-mutual-redefinition-1.asd
- test/test-mutual-redefinition-2.asd 2 additions, 0 deletionstest/test-mutual-redefinition-2.asd
- test/test-mutual-redefinition.script 33 additions, 0 deletionstest/test-mutual-redefinition.script
test/test-mutual-redefinition-1.asd
0 → 100644
test/test-mutual-redefinition-2.asd
0 → 100644
test/test-mutual-redefinition.script
0 → 100644
Please register or sign in to comment