Allow user to change the ASDF operation used by REQUIRE. LOAD-FASL-OP better not descend from LOAD-OP because it then loads all and every source file.

This commit is contained in:
jgarcia 2008-05-07 09:25:25 +00:00
parent 896151dbef
commit 3b7c445a2b
3 changed files with 7 additions and 3 deletions

View file

@ -195,7 +195,7 @@
;; This is like ASDF's LOAD-OP, but using monolithic fasl files.
;;
(defclass load-fasl-op (load-op) ())
(defclass load-fasl-op (operation) ())
(defmethod component-depends-on ((o load-fasl-op) (c system))
(subst 'load-fasl-op 'load-op
@ -205,6 +205,9 @@
(defmethod input-files ((o load-fasl-op) (c system))
(output-files (make-instance 'fasl-op) c))
(defmethod perform ((o load-fasl-op) (c t))
nil)
(defmethod perform ((o load-fasl-op) (c system))
(load (first (input-files o c))))

View file

@ -1317,12 +1317,13 @@ output to *VERBOSE-OUT*. Returns the shell's exit code."
#+ecl
(progn
(require 'cmp)
(defvar *require-asdf-operator* 'load-op)
(defun module-provide-asdf (name)
(handler-bind ((style-warning #'muffle-warning))
(let* ((*verbose-out* (make-broadcast-stream))
(system (asdf:find-system name nil)))
(when system
(asdf:operate 'asdf:load-op name)
(asdf:operate *require-asdf-operator* name)
t))))
#+win32 (push '("asd" . si::load-source) si::*load-hooks*)
(pushnew 'module-provide-asdf ext:*module-provider-functions*))

View file

@ -46,7 +46,7 @@ Returns, as a string, the location of the machine on which ECL runs."
(defun lisp-implementation-version ()
"Args:()
Returns the version of your ECL as a string."
"@PACKAGE_VERSION@ (CVS 2008-05-07 10:04)")
"@PACKAGE_VERSION@ (CVS 2008-05-07 11:23)")
(defun machine-type ()
"Args: ()