[asdf-devel] Tests completed

Robert P. Goldman rpgoldman at sift.info
Mon Jan 13 16:12:12 UTC 2014

Faré wrote:
>>>> 2.  Add warnings for people using ABCL or ECL + bundle-op on Mac OS.
>>>> >>>
>>> >> The ABCL and ECL bugs... well, I'm not sure these configurations ever
>>> >> worked, so it's no regression. But yes, it should be easy to detect
>>> >> such a situation and issue a warning of a cerror might help the user
>>> >> diagnose why his code is failing, e.g. in the failing perform method,
>>> >> before the failure.
>> >
>> > I believe so, and while waiting for a fix, we can allow programmers to
>> > live dangerously by pushing something like :asdf-try-broken-bundle-op
>> > onto *FEATURES*.
>> >
> I recommend against a feature, which requires recompilation,
> and is thus useless when using an implementation-provided ASDF,
> as well as introduces hard-to-control environmental dependencies.
> Instead, I much recommend using CERROR, which can be controled
> programmatically at runtime with RESTART-CASE.

I don't see why features necessarily require recompilation.  Although a
feature DOES enable read-time checking, there is no *obligation* to
check at read-time.  We can easily do something like

(defmethod PERFORM :BEFORE ((op bundle-op) c)
  #+darwin ;; or whatever is right to detect Mac OSX
  (unless (member :asdf-try-broken-bundle-op *features*)
    (cerror "Try running with bundle-op."
            "ASDF's BUNDLE-OP is believed to be broken on this
implementation on Mac OSX. If you wish to try anyway, push
:asdf-try-broken-bundle-op on *FEATURES*.")))

...and then purge the method definition when these platforms are fixed.

I suggest using features because the CL package system makes the
Emacs-lisp style of using SETQ and DEFVAR untenable.


More information about the asdf-devel mailing list