Commit 64d01eca authored by Francois-Rene Rideau's avatar Francois-Rene Rideau
Browse files

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.
parent 734952c7
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -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
+3 −0
Original line number Diff line number Diff line
@@ -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))