Commit dfd6b4af authored by Francois-Rene Rideau's avatar Francois-Rene Rideau
Browse files

1.718: add module provider hook for CMUCL, ECL.

Cleanup a few methods on ECL (moderately tested with cl-launch).
parent 9d0f83b7
Loading
Loading
Loading
Loading
+12 −10
Original line number Diff line number Diff line
@@ -70,7 +70,7 @@
                :test 'equalp :key 'car))
  (let* ((asdf-version
          ;; the 1+ helps the version bumping script discriminate
          (subseq "VERSION:1.717" (1+ (length "VERSION"))))
          (subseq "VERSION:1.718" (1+ (length "VERSION"))))
         (existing-asdf (find-package :asdf))
         (vername '#:*asdf-version*)
         (versym (and existing-asdf
@@ -1661,9 +1661,10 @@ recursive calls to traverse.")
(defmethod perform :after ((o compile-op) (c cl-source-file))
  ;; Note how we use OUTPUT-FILES to find the binary locations
  ;; This allows the user to override the names.
  (let* ((input (output-files o c))
         (output (compile-file-pathname (lispize-pathname (first input)) :type :fasl)))
    (c:build-fasl output :lisp-files (remove "fas" input :key #'pathname-type :test #'string=))))
  (let* ((files (output-files o c))
         (object (first files))
         (fasl (second files)))
    (c:build-fasl fasl :lisp-files (list object))))

(defmethod perform :after ((operation operation) (c component))
  (setf (gethash (type-of operation) (component-operation-times c))
@@ -1699,8 +1700,7 @@ recursive calls to traverse.")
  (declare (ignorable operation))
  (let ((p (lispize-pathname (component-pathname c))))
    #-:broken-fasl-loader
    (list #-ecl (compile-file-pathname p)
          #+ecl (compile-file-pathname p :type :object)
    (list (compile-file-pathname p #+ecl :type #+ecl :object)
          #+ecl (compile-file-pathname p :type :fasl))
    #+:broken-fasl-loader (list p)))

@@ -3281,9 +3281,9 @@ with a different configuration, so the configuration would be re-read then."
      (initialize-source-registry)))

;;;; -----------------------------------------------------------------
;;;; Hook into REQUIRE for SBCL, ClozureCL and ABCL
;;;; Hook into REQUIRE for ABCL, ClozureCL, CMUCL, ECL and SBCL
;;;;
#+(or sbcl clozure abcl)
#+(or abcl clozure cmu ecl sbcl)
(progn
  (defun module-provide-asdf (name)
    (handler-bind
@@ -3298,9 +3298,11 @@ with a different configuration, so the configuration would be re-read then."
          (load-system name)
          t))))
  (pushnew 'module-provide-asdf
           #+sbcl sb-ext:*module-provider-functions*
           #+abcl sys::*module-provider-functions*
           #+clozure ccl::*module-provider-functions*
           #+abcl sys::*module-provider-functions*))
           #+cmu ext:*module-provider-functions*
           #+ecl si:*module-provider-functions*
           #+sbcl sb-ext:*module-provider-functions*))

;;;; -------------------------------------------------------------------------
;;;; Cleanups after hot-upgrade.
+2 −2
Original line number Diff line number Diff line
@@ -552,7 +552,7 @@ by evaluating the following Lisp form:
(asdf:load-system :@var{foo})
@end example

On some implementations (namely ABCL, Clozure CL and SBCL),
On some implementations (namely ABCL, Clozure CL, CMUCL, ECL and SBCL),
ASDF hooks into the @code{CL:REQUIRE} facility
and you can just use:

@@ -2788,7 +2788,7 @@ if you allow such configuration.
@item
If your system provides a mechanism to hook into @code{CL:REQUIRE},
then it would be nice to add ASDF to this hook the same way that
SBCL, CCL and ABCL do it.
ABCL, CCL, CMUCL, ECL and SBCL do it.

@item
You may, like SBCL, have ASDF be implicitly used to require systems