diff --git a/asdf.lisp b/asdf.lisp index 5414b3b71c2b4cff2813f14c7b39381be01693cd..5b55b505813a326b5e746ffd151c64d516c116e4 100644 --- a/asdf.lisp +++ b/asdf.lisp @@ -1,4 +1,4 @@ -;;; This is asdf: Another System Definition Facility. $Revision: 1.34 $ +;;; This is asdf: Another System Definition Facility. $Revision: 1.35 $ ;;; ;;; The canonical source for asdf is presently the cCLan CVS repository, ;;; at <URL:http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/cclan/asdf/> @@ -86,7 +86,7 @@ (in-package #:asdf) ;;; parse the cvs revision into something that might be vaguely useful. -(defvar *asdf-revision* (let* ((v "$Revision: 1.34 $") +(defvar *asdf-revision* (let* ((v "$Revision: 1.35 $") (colon (position #\: v)) (dot (position #\. v))) (and v colon dot @@ -594,8 +594,9 @@ system.")) (setf (component-property c 'last-compiled) nil)) (defmethod perform :after ((operation compile-op) (c source-file)) - (setf (component-property c 'last-compiled) - (file-write-date (car (output-files operation c))))) + (when (output-files operation c) + (setf (component-property c 'last-compiled) + (file-write-date (car (output-files operation c)))))) ;;; perform is required to check output-files to find out where to put ;;; its answers, in case it has been overridden for site policy @@ -635,9 +636,11 @@ system.")) (defclass load-op (operation) ()) (defmethod perform :after ((o load-op) (c source-file)) - (let ((output-files (output-files co c))) - (setf (component-property c 'last-loaded) - (file-write-date (car output-files))))) + (let* ((co (make-sub-operation o 'compile-op)) + (output-files (output-files co c))) + (when output-files + (setf (component-property c 'last-loaded) + (file-write-date (car output-files)))))) (defmethod perform ((o load-op) (c cl-source-file)) (let* ((co (make-sub-operation o 'compile-op))