I was reading over the info again before my talk, and I realized that
there was no discussion of the test-op as one of the predefined
operations, although it is predefined. Patch attached.
diff --git a/asdf.texinfo b/asdf.texinfo
index cfef5c6..761d606 100644
--- a/asdf.texinfo
+++ b/asdf.texinfo
@@ -558,42 +558,59 @@ If you are creating a component type, you need to implement this
operation - at least, where meaningful.
@end deffn
-@deffn Operation test-system-version &key minimum
+@deffn Operation test-op
-Asks the system whether it satisfies a version requirement.
+This operation should carry out a test on the specified component. ASDF
+does not (currently) provide a method for returning a value from the
+test-op (or any other operation), so the implementor must ensure that
+executing the @code{test-op} has the side effect of printing useful
+information about the tests to the CL stream @code{*standard-output*}.
-The default method accepts a string, which is expected to contain of a
-number of integers separated by #\. characters. The method is not
-recursive. The component satisfies the version dependency if it has
-the same major number as required and each of its sub-versions is
-greater than or equal to the sub-version number required.
+The default method for @code{test-op} does nothing, and will have to be
+overridden, but invoking @code{test-op} on a component for which nothing
+is defined will be a simple no-op.
-@lisp
-(defun version-satisfies (x y)
- (labels ((bigger (x y)
- (cond ((not y) t)
- ((not x) nil)
- ((> (car x) (car y)) t)
- ((= (car x) (car y))
- (bigger (cdr x) (cdr y))))))
- (and (= (car x) (car y))
- (or (not (cdr y)) (bigger (cdr x) (cdr y))))))
-@end lisp
-
-If that doesn't work for your system, you can override it. I hope
-you have as much fun writing the new method as @verb{|#lisp|} did
-reimplementing this one.
+The default dependency for @code{test-op} on a system is to require
+@code{load-op} on that system.
@end deffn
-@deffn Operation feature-dependent-op
-An instance of @code{feature-dependent-op} will ignore any components
-which have a @code{features} attribute, unless the feature combination
-it designates is satisfied by @code{*features*}. This operation is
-not intended to be instantiated directly, but other operations may
-inherit from it.
+@c @deffn Operation test-system-version &key minimum
-@end deffn
+@c Asks the system whether it satisfies a version requirement.
+
+@c The default method accepts a string, which is expected to contain of a
+@c number of integers separated by #\. characters. The method is not
+@c recursive. The component satisfies the version dependency if it has
+@c the same major number as required and each of its sub-versions is
+@c greater than or equal to the sub-version number required.
+
+@c @lisp
+@c (defun version-satisfies (x y)
+@c (labels ((bigger (x y)
+@c (cond ((not y) t)
+@c ((not x) nil)
+@c ((> (car x) (car y)) t)
+@c ((= (car x) (car y))
+@c (bigger (cdr x) (cdr y))))))
+@c (and (= (car x) (car y))
+@c (or (not (cdr y)) (bigger (cdr x) (cdr y))))))
+@c @end lisp
+
+@c If that doesn't work for your system, you can override it. I hope
+@c you have as much fun writing the new method as @verb{|#lisp|} did
+@c reimplementing this one.
+@c @end deffn
+
+@c @deffn Operation feature-dependent-op
+
+@c An instance of @code{feature-dependent-op} will ignore any components
+@c which have a @code{features} attribute, unless the feature combination
+@c it designates is satisfied by @code{*features*}. This operation is
+@c not intended to be instantiated directly, but other operations may
+@c inherit from it.
+
+@c @end deffn
@node Creating new operations, , Predefined operations of asdf, Operations
@comment node-name, next, previous, up