On 3/15/10 Mar 15 -11:11 AM, Juan Jose Garcia-Ripoll wrote:
On Mon, Mar 15, 2010 at 4:47 PM, Faré <fahree@gmail.com mailto:fahree@gmail.com> wrote:
(defmethod output-files :around ((op operation) (c component)) "Translate output files, unless asked not to" (multiple-value-bind (files fixedp) (call-next-method) (if fixedp files (mapcar #'apply-output-translations files))))
What about this:
(defmethod output-files :around ((op operation) (c component)) "Translate output files, unless asked not to" (values (multiple-value-bind (files fixedp) (call-next-method) (if fixedp files (mapcar #'apply-output-translations files))) t))
It has the advantage that the :AROUND method also follows the API and other functions calling OUTPUT-FILES get to know that the paths are now fixed.
Isn't this a job for
(defmethod output-files asdf:around ((op operation) (c component) ...)
?