mirror of
https://gitlab.com/embeddable-common-lisp/ecl.git
synced 2026-01-06 09:20:40 -08:00
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:
parent
896151dbef
commit
3b7c445a2b
3 changed files with 7 additions and 3 deletions
|
|
@ -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))))
|
||||
|
||||
|
|
|
|||
|
|
@ -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*))
|
||||
|
|
|
|||
|
|
@ -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: ()
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue