[asdf-devel] Advanced Configuration

FAU fau at riseup.net
Sun Nov 17 04:57:13 UTC 2013


I corrected it to your advice accordingly.

(defmethod output-files ((operation compile-op) (component foo-file))
  (multiple-value-bind (pathnames translatep)
      (call-next-method)
    (values (mapcar #'(lambda (p)
                        (make-pathname* :directory (append
(pathname-directory p) (list (cond
((featurep :foo1.0) "1.0") ((featurep :foo1.1) "1.1") (t (error "No foo
feature found."))))) :defaults p)) pathnames)
            translatep)))

On Sat, 2013-11-16 at 17:34 -0500, Faré wrote:
> On Sat, Nov 16, 2013 at 5:21 PM, FAU <fau at riseup.net> wrote:
> > (defmethod output-files ((operation compile-op) (component
foo-file))
> >   (let ((l (multiple-value-list (call-next-method))))
> >     (apply #'values (mapcar #'(lambda (p)
> >                                 (make-pathname* :directory (append
(pathname-directory p) (list #
> > +foo1.0 "1.0" #+foo1.1 "1.1")) :defaults p))
> >                             (car l))
> >            (cdr l))))
> >
> Inasmuch as I think that runtime conditionals should be used rather
than
> compile-time conditionals wherever performance permits (see also
featurep),
> your general scheme is valid. However, you can should be using
> (multiple-value-bind (pathnames translatedp) ...
>   (values ...))
> There are only two values returned in this protocol.
> 
> —♯ƒ • François-René ÐVB Rideau •Reflection&Cybernethics•
http://fare.tunes.org
> When my contradictors' ideas aren't an incoherent mess I can easily
disprove,
> I call them for the ideologists they are; but they are so dogmatic,
> they don't change their mind after I insult them.
> 





More information about the asdf-devel mailing list