I've started testing ASDF 3.3.1.3 with my group's code on SBCL 1.4.4 and noticed some issues with uiop:define-package (due to commit 8281e011).
First, when compiling ASDF I get 456 compilation notes (https://pastebin.com/NnRUKGWe). I get the same notes when using uiop:define-package in our code as well. I honestly think this is an issue of SBCL being over aggressive. It's also odd because if the recording of the source location is removed, then the notes aren't produced. It appears this started happening in SBCL 1.4.1 (potentially due to commit af5e2ed1e).
The volume of notes (especially when using package-inferred-system) can drown out real issues. I'll likely report this as an issue to SBCL since the keywords *should* be constant and the source transform for apply doesn't seem to be preserving that. However, it could also be fixed in ASDF by changing the apply to a funcall in the define-package expansion (patch 2).
Second, the comma on (sb-c:source-location) seems to cause the source location for the package to always point to the body of the define-package macro. Patch 1 changes this so that form is evaluated after the macro is expanded. I didn't test this on anything earlier than SBCL 1.4.4, but I don't believe this behavior is version dependent.
-Eric
Thanks a lot for fixing this issue! I opened a MR based on it: https://gitlab.common-lisp.net/asdf/asdf/merge_requests/92
—♯ƒ • François-René ÐVB Rideau •Reflection&Cybernethics• http://fare.tunes.org To be an anarchist only means that you believe that aggression is not justified, and that states necessarily employ aggression. And, therefore, that states, and the aggression they necessarily employ, are unjustified. It's quite simple, really. It's an ethical view, so no surprise it confuses utilitarians. —- N. Stephan Kinsella
On Sat, Feb 17, 2018 at 12:30 AM, Eric Timmons etimmons@mit.edu wrote:
I've started testing ASDF 3.3.1.3 with my group's code on SBCL 1.4.4 and noticed some issues with uiop:define-package (due to commit 8281e011).
First, when compiling ASDF I get 456 compilation notes (https://pastebin.com/NnRUKGWe). I get the same notes when using uiop:define-package in our code as well. I honestly think this is an issue of SBCL being over aggressive. It's also odd because if the recording of the source location is removed, then the notes aren't produced. It appears this started happening in SBCL 1.4.1 (potentially due to commit af5e2ed1e).
The volume of notes (especially when using package-inferred-system) can drown out real issues. I'll likely report this as an issue to SBCL since the keywords *should* be constant and the source transform for apply doesn't seem to be preserving that. However, it could also be fixed in ASDF by changing the apply to a funcall in the define-package expansion (patch 2).
Second, the comma on (sb-c:source-location) seems to cause the source location for the package to always point to the body of the define-package macro. Patch 1 changes this so that form is evaluated after the macro is expanded. I didn't test this on anything earlier than SBCL 1.4.4, but I don't believe this behavior is version dependent.
-Eric