diff --git a/README b/README
index e7c9e903e0da430f450a866421b2217599af37da..a89d86956d605961d0738a987bc1272dd21c20cb 100644
--- a/README
+++ b/README
@@ -1,4 +1,4 @@
-$Id: README,v 1.37 2004/05/16 18:19:54 dan_b Exp $         -*- Text -*-
+$Id: README,v 1.38 2004/07/19 21:18:07 crhodes Exp $         -*- Text -*-
 
 The canonical documentation for asdf is in the file asdf.texinfo.  
 The significant overlap between this file and that will one day be
@@ -619,11 +619,12 @@ interactively re-evaluates that form
 
 It is an error to define a system incorrectly: an implementation may
 detect this and signal a generalised instance of
-SYSTEM-DEFINITION-ERROR
+SYSTEM-DEFINITION-ERROR.
 
 Operations may go wrong (for example when source files contain
 errors).  These are signalled using generalised instances of
-OPERATION-ERROR
+OPERATION-ERROR, with condition readers ERROR-COMPONENT and
+ERROR-OPERATION for the component and operation which erred.
 
 * Compilation error and warning handling
 
diff --git a/asdf.lisp b/asdf.lisp
index 0baf645afb032effdbf4b758c7c889ebda3f1b99..48eae873bad482ec988b1bd7dade2f451d5a5429 100644
--- a/asdf.lisp
+++ b/asdf.lisp
@@ -1,4 +1,4 @@
-;;; This is asdf: Another System Definition Facility.  $Revision: 1.85 $
+;;; This is asdf: Another System Definition Facility.  $Revision: 1.86 $
 ;;;
 ;;; Feedback, bug reports, and patches are all welcome: please mail to
 ;;; <cclan-list@lists.sf.net>.  But note first that the canonical
@@ -90,6 +90,7 @@
 	   #:*asdf-revision*
 	   
 	   #:operation-error #:compile-failed #:compile-warned #:compile-error
+	   #:error-component #:error-operation
 	   #:system-definition-error 
 	   #:missing-component
 	   #:missing-dependency
@@ -107,7 +108,7 @@
 
 (in-package #:asdf)
 
-(defvar *asdf-revision* (let* ((v "$Revision: 1.85 $")
+(defvar *asdf-revision* (let* ((v "$Revision: 1.86 $")
 			       (colon (or (position #\: v) -1))
 			       (dot (position #\. v)))
 			  (and v colon dot