From 3b7c445a2ba233b4a5f65b0346612b7a2904b9a4 Mon Sep 17 00:00:00 2001 From: jgarcia Date: Wed, 7 May 2008 09:25:25 +0000 Subject: [PATCH] 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. --- contrib/asdf/asdf-ecl.lisp | 5 ++++- contrib/asdf/asdf.lisp | 3 ++- src/lsp/config.lsp.in | 2 +- 3 files changed, 7 insertions(+), 3 deletions(-) diff --git a/contrib/asdf/asdf-ecl.lisp b/contrib/asdf/asdf-ecl.lisp index 1fc1860c9..5b23df3b6 100644 --- a/contrib/asdf/asdf-ecl.lisp +++ b/contrib/asdf/asdf-ecl.lisp @@ -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)))) diff --git a/contrib/asdf/asdf.lisp b/contrib/asdf/asdf.lisp index ed0369553..613a5446a 100644 --- a/contrib/asdf/asdf.lisp +++ b/contrib/asdf/asdf.lisp @@ -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*)) diff --git a/src/lsp/config.lsp.in b/src/lsp/config.lsp.in index fe0bfb8fb..d8df84ce3 100644 --- a/src/lsp/config.lsp.in +++ b/src/lsp/config.lsp.in @@ -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: ()