From: Kaz Kylheku
Subject: [PATCH] ASDF: return status indication from OPERATE
Date: 
Message-ID: <1168326613.859666.103880@11g2000cwr.googlegroups.com>
It's useful for ASDF: OPERATE to indicate whether it did something.
Based on that, you can make the decision, for instance, whether to save
a new image or not. This can be useful in reducing incremental build
times. For instance, I take advantage of this in a Makefile, where
saving the image triggers additional steps which load that image to
create derived images.

Fucking Google Groups will eat this, but you get the idea:

Index: asdf/asdf.lisp
===================================================================
RCS file:
/usr/local/cvsroot/clkd/F-D02ABF0BACBEAE95E15455DB2BDD3A1D.lisp,v
retrieving revision 1.3
diff -u -r1.3 asdf/asdf.lisp
--- asdf/asdf.lisp	1 Jan 2007 03:31:51 -0000	1.3
+++ asdf/asdf.lisp	9 Jan 2007 06:53:04 -0000
@@ -882,28 +882,31 @@
     (unless (version-satisfies system version)
       (error 'missing-component :requires system :version version))
     (let ((steps (traverse op system)))
-      (with-compilation-unit ()
-	(loop for (op . component) in steps do
-	     (loop
-		(restart-case
+      (if steps
+	(with-compilation-unit ()
+	  (loop for (op . component) in steps do
+		(loop
+		  (restart-case
 		    (progn (perform op component)
 			   (return))
-		  (retry ()
-		    :report
-		    (lambda (s)
-		      (format s ··@<Retry performing ~S on ····@:>"
-			      op component)))
-		  (accept ()
-		    :report
-		    (lambda (s)
-		      (format s
-			      ··@<Continue, treating ~S on ~S as ~
-                               having been ············@:>"
-			      op component))
-		    (setf (gethash (type-of op)
-				   (component-operation-times component))
-			  (get-universal-time))
-		    (return)))))))))
+		    (retry ()
+		      :report
+		      (lambda (s)
+			(format s ··@<Retry performing ~S on ····@:>"
+				op component)))
+		    (accept ()
+		      :report
+		      (lambda (s)
+			(format s
+				··@<Continue, treating ~S on ~S as ~
+				 having been ············@:>"
+				op component))
+		      (setf (gethash (type-of op)
+				     (component-operation-times component))
+			    (get-universal-time))
+		      (return))))
+		  finally (return t)))
+	  nil))))
 
 (defun oos (&rest args)
   "Alias of OPERATE function"
From: Richard M Kreuter
Subject: Re: [PATCH] ASDF: return status indication from OPERATE
Date: 
Message-ID: <87ac0suo5h.fsf@progn.net>
"Kaz Kylheku" <········@gmail.com> writes:

> It's useful for ASDF: OPERATE to indicate whether it did something.

Why did you send this patch to comp.lang.lisp, rather than the cclan
mailing list?

--
RmK