diff --git a/asdf.lisp b/asdf.lisp index c53e04a884e2092da0509b963d860cce00237ba4..dfad921b134d1c9d1003b087deb40afb559ce6ad 100644 --- a/asdf.lisp +++ b/asdf.lisp @@ -1,4 +1,4 @@ -;;; This is asdf: Another System Definition Facility. $Revision: 1.31 $ +;;; This is asdf: Another System Definition Facility. $Revision: 1.32 $ ;;; ;;; The canonical source for asdf is presently the cCLan CVS repository, ;;; at <URL:http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/cclan/asdf/> @@ -39,7 +39,7 @@ (:export #:defsystem #:oos #:operate #:find-system #:run-shell-command #:system-definition-pathname #:find-component ; miscellaneous - #:compile-op #:load-op #:test-system-version + #:compile-op #:load-op #:load-source-op #:test-system-version #:operation ; operations #:feature ; sort-of operation #:version ; metaphorically sort-of an operation @@ -612,6 +612,18 @@ system.")) nil (file-write-date (car output-files)))))) +;;; >>>> Added KMR 8/02 +;;; Add load-source-op for cl-source-file as documented in README +(defclass load-source-op (operation) ()) +(defmethod perform ((o load-source-op) (c cl-source-file)) + (let* ((output-files (output-files o c))) + (setf (component-property c 'last-loaded) + (if (some #'not (map 'list #'load output-files)) + nil + (file-write-date (car output-files)))))) +(defmethod output-files ((operation load-source-op) (c component)) + (list (component-pathname c))) +;;; <<<< End KMR (defmethod perform ((operation load-op) (c static-file)) nil) @@ -815,6 +827,7 @@ output to *trace-output*. Returns the shell's exit code." (list "-c" command) :input nil :output *trace-output*)))) +;;; Added KMR 8/02 #+allegro (defun run-shell-command (control-string &rest args) "Interpolate ARGS into CONTROL-STRING as if by FORMAT, and @@ -826,6 +839,7 @@ output to *trace-output*. Returns the shell's exit code." (make-array 3 :initial-contents (list "/bin/sh" "-c" command)) :input nil :output *trace-output*))) +;;; Added KMR 8/02 #+lispworks (defun run-shell-command (control-string &rest args) "Interpolate ARGS into CONTROL-STRING as if by FORMAT, and