[Issue 48](https://gitlab.common-lisp.net/asdf/asdf/-/commits/iss148) on the ASDF GitLab repo concerns a bug in the `with-optimization-settings` macro in UIOP's lisp-build.lisp
I did some investigation and as far as I can tell:
1. There's no clear description of what this is supposed to do 2. There's no use of it anywhere in the ASDF + UIOP code base 3. It has never worked -- at least when I tried to test it, the tests failed all over the place.
Rather than trying to write a new implementation out of whole cloth, my [Merge Request](https://gitlab.common-lisp.net/asdf/asdf/-/merge_requests/224) to address this issue simply rips this macro and some supporting functions and variables out of UIOP. Doing so breaks no tests (unlike trying to test it).
I feel a little uncomfortable removing functionality, but as I said, I cannot find any evidence that this has ever been used.
Absent any pushback -- and likely even *with* pushback, unless that pushback is accompanied by a MR that supplies a working implementation, I will make that merge, and this feature will vanish from UIOP.
Best, R
That's probably my bad for never completing and testing this feature.
IIRC, it was originally meant to ensure that the optimization settings used by ASDF should not be affected by those used outside of it, nor affect them, so as to avoid weird side-effects wherein the behavior of a system depends on which other systems you did or did not build before it, which was causing "interesting" effects at times.
No, I'm not volunteering to fix it—I haven't actively used CL in years (apart from my stumpwm configuration and some non-shell scripts I haven't rewritten in Gerbil Scheme yet).
—♯ƒ • François-René ÐVB Rideau •Reflection&Cybernethics• http://fare.tunes.org “The real danger is that one day machines *will* become intelligent, but we’ll lack the mental equipment to notice.” — Tiresias, in J.-P. Petit, “Run, Robot, Run”
On Tue, Dec 12, 2023 at 11:44 AM Robert Goldman rpgoldman@sift.info wrote:
Issue 48 on the ASDF GitLab repo concerns a bug in the with-optimization-settings macro in UIOP's lisp-build.lisp
I did some investigation and as far as I can tell:
There's no clear description of what this is supposed to do There's no use of it anywhere in the ASDF + UIOP code base It has never worked -- at least when I tried to test it, the tests failed all over the place.
Rather than trying to write a new implementation out of whole cloth, my Merge Request to address this issue simply rips this macro and some supporting functions and variables out of UIOP. Doing so breaks no tests (unlike trying to test it).
I feel a little uncomfortable removing functionality, but as I said, I cannot find any evidence that this has ever been used.
Absent any pushback -- and likely even with pushback, unless that pushback is accompanied by a MR that supplies a working implementation, I will make that merge, and this feature will vanish from UIOP.
Best, R
Thanks for the explanation. That makes good sense. I should probably add an RFE issue to fix this up and integrate it into ASDF's compilation process. Avoiding `declaim` and `proclaim` leakage of optimization switches is a worthy cause.
Best, R
On 12 Dec 2023, at 10:51, Faré wrote:
That's probably my bad for never completing and testing this feature.
IIRC, it was originally meant to ensure that the optimization settings used by ASDF should not be affected by those used outside of it, nor affect them, so as to avoid weird side-effects wherein the behavior of a system depends on which other systems you did or did not build before it, which was causing "interesting" effects at times.
No, I'm not volunteering to fix it—I haven't actively used CL in years (apart from my stumpwm configuration and some non-shell scripts I haven't rewritten in Gerbil Scheme yet).
—♯ƒ • François-René ÐVB Rideau •Reflection&Cybernethics• http://fare.tunes.org “The real danger is that one day machines *will* become intelligent, but we’ll lack the mental equipment to notice.” — Tiresias, in J.-P. Petit, “Run, Robot, Run”
On Tue, Dec 12, 2023 at 11:44 AM Robert Goldman rpgoldman@sift.info wrote:
Issue 48 on the ASDF GitLab repo concerns a bug in the with-optimization-settings macro in UIOP's lisp-build.lisp
I did some investigation and as far as I can tell:
There's no clear description of what this is supposed to do There's no use of it anywhere in the ASDF + UIOP code base It has never worked -- at least when I tried to test it, the tests failed all over the place.
Rather than trying to write a new implementation out of whole cloth, my Merge Request to address this issue simply rips this macro and some supporting functions and variables out of UIOP. Doing so breaks no tests (unlike trying to test it).
I feel a little uncomfortable removing functionality, but as I said, I cannot find any evidence that this has ever been used.
Absent any pushback -- and likely even with pushback, unless that pushback is accompanied by a MR that supplies a working implementation, I will make that merge, and this feature will vanish from UIOP.
Best, R