From 64d01eca151659f12de3aa5cd453e6b07d32067e Mon Sep 17 00:00:00 2001 From: Francois-Rene Rideau <fare@tunes.org> Date: Tue, 17 Jan 2017 21:41:31 -0500 Subject: [PATCH] Stop warning in define-convenience-methods explain The convenience methods recursively call explain, which cause a style-warning if the compiler-macro is already defined, and a different one if it is defined afterwards. The solution is to declare the function notinline in the body of the convenience methods. This fixes test-clean-load on sbcl, and more generally hushes loading asdf.lisp from source. --- Makefile | 1 + action.lisp | 3 +++ 2 files changed, 4 insertions(+) diff --git a/Makefile b/Makefile index c96d65537..ff35d0c67 100644 --- a/Makefile +++ b/Makefile @@ -194,6 +194,7 @@ test-clean-load: build/asdf.lisp # test-glob has been replaced by t, and lisp by l, easier to type test-lisp: build/asdf.lisp @cd test; ./run-tests.sh ${l} ${t} + t: test-lisp test: doc test-lisp test-clean-load test-load-systems diff --git a/action.lisp b/action.lisp index 99413e841..702fcb858 100644 --- a/action.lisp +++ b/action.lisp @@ -88,15 +88,18 @@ and a class-name or class designates the canonical instance of the designated cl `(,function ,@prefix ,o ,c ,@suffix)))) `(progn (defmethod ,function (,@prefix (,operation string) ,component ,@suffix ,@more-args) + (declare (notinline ,function)) (let ((,component (find-component () ,component))) ;; do it first, for defsystem-depends-on ,(next-method `(safe-read-from-string ,operation :package :asdf/interface) component))) (defmethod ,function (,@prefix (,operation symbol) ,component ,@suffix ,@more-args) + (declare (notinline ,function)) (if ,operation ,(next-method `(make-operation ,operation) `(or (find-component () ,component) ,if-no-component)) ,if-no-operation)) (defmethod ,function (,@prefix (,operation operation) ,component ,@suffix ,@more-args) + (declare (notinline ,function)) (if (typep ,component 'component) (error "No defined method for ~S on ~/asdf-action:format-action/" ',function (make-action ,operation ,component)) -- GitLab