Commit bd86a3ef authored by Kevin Rosenberg's avatar Kevin Rosenberg
Browse files

Incorporate patch for 'load-source-op. This may benefit from some rewriting,...

Incorporate patch for 'load-source-op. This may benefit from some rewriting, but this code clearly works better than the existing stub code.
parent 31dbe07c
Loading
Loading
Loading
Loading
+28 −3
Original line number Diff line number Diff line
;;; This is asdf: Another System Definition Facility.  $Revision: 1.60 $
;;; This is asdf: Another System Definition Facility.  $Revision: 1.61 $
;;;
;;; Feedback, bug reports, and patches are all welcome: please mail to
;;; <cclan-list@lists.sf.net>.  But note first that the canonical
@@ -87,7 +87,7 @@

(in-package #:asdf)

(defvar *asdf-revision* (let* ((v "$Revision: 1.60 $")
(defvar *asdf-revision* (let* ((v "$Revision: 1.61 $")
			       (colon (position #\: v))
			       (dot (position #\. v)))
			  (and v colon dot 
@@ -709,7 +709,32 @@ system."))
(defclass load-source-op (operation) ())

(defmethod perform ((o load-source-op) (c cl-source-file))
  (load (component-pathname c)))
  (let ((source (component-pathname c)))
    (setf (component-property c 'last-loaded-as-source)
          (and (load source)
               (get-universal-time)))))

(defmethod perform ((operation load-source-op) (c static-file))
  nil)

(defmethod output-files ((operation load-source-op) (c component))
  nil)

;;; FIXME: we simply copy load-op's dependencies.  this is Just Not Right.
(defmethod component-depends-on ((o load-source-op) (c component))
  (let ((what-would-load-op-do (cdr (assoc 'load-op
                                           (slot-value c 'in-order-to)))))
    (mapcar (lambda (dep)
              (if (eq (car dep) 'load-op)
                  (cons 'load-source-op (cdr dep))
                  dep))
            what-would-load-op-do)))

(defmethod operation-done-p ((o load-source-op) (c source-file))
  (if (or (not (component-property c 'last-loaded-as-source))
	  (> (file-write-date (component-pathname c))
	     (component-property c 'last-loaded-as-source)))
      nil t))


;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+6 −0
Original line number Diff line number Diff line
cl-asdf (1.61-1) unstable; urgency=low

  * New upstream, fixes 'load-sourc-op

 -- Kevin M. Rosenberg <kmr@debian.org>  Tue,  4 Mar 2003 09:48:40 -0700

cl-asdf (1.60-1) unstable; urgency=low

  * New upstream