From 903099864aed9d3d61e130be7f3a769bf51fdc30 Mon Sep 17 00:00:00 2001 From: espen Date: Wed, 2 Jan 2008 15:35:32 +0000 Subject: [PATCH] Binding of dynamic variables during perform --- tools/asdf-extensions.lisp | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/tools/asdf-extensions.lisp b/tools/asdf-extensions.lisp index 5b6870c..94da8c7 100644 --- a/tools/asdf-extensions.lisp +++ b/tools/asdf-extensions.lisp @@ -1,6 +1,6 @@ (in-package :asdf) -(export '*dso-extension*) +(export '(*dso-extension* *operation* *system* *component*)) (defparameter *dso-extension* #-(or darwin win32)"so" #+darwin"dylib" #+win32"dll") @@ -169,3 +169,16 @@ (defmethod operation-done-p ((o operation) (lib library)) t) + + +;;; Binding of dynamic variables during perform + +(defvar *operation* nil) +(defvar *system* nil) +(defvar *component* nil) + +(defmethod perform :around ((operation operation) (c component)) + (let ((*operation* operation) + (*component* c) + (*system* (component-system c))) + (call-next-method))) -- 2.11.0