[armedbear-cvs] r14170 - in trunk/abcl: contrib/abcl-asdf contrib/jss contrib/mvn src/org/armedbear/lisp
mevenson at common-lisp.net
mevenson at common-lisp.net
Mon Oct 8 18:06:58 UTC 2012
Author: mevenson
Date: Mon Oct 8 11:06:57 2012
New Revision: 14170
Log:
Fix the broken require contracts in ABCL-CONTRIB.
CL:REQUIRE now calls PROVIDE with module names when successful (as
opposed to relying in the loaded code to do this explicity).
Modified:
trunk/abcl/contrib/abcl-asdf/abcl-asdf.asd
trunk/abcl/contrib/abcl-asdf/maven-embedder.lisp
trunk/abcl/contrib/jss/jss.asd
trunk/abcl/contrib/mvn/jna.asd
trunk/abcl/src/org/armedbear/lisp/require.lisp
Modified: trunk/abcl/contrib/abcl-asdf/abcl-asdf.asd
==============================================================================
--- trunk/abcl/contrib/abcl-asdf/abcl-asdf.asd Mon Oct 8 11:06:55 2012 (r14169)
+++ trunk/abcl/contrib/abcl-asdf/abcl-asdf.asd Mon Oct 8 11:06:57 2012 (r14170)
@@ -1,7 +1,6 @@
;;;; -*- Mode: LISP -*-
-(in-package :asdf)
-(defsystem :abcl-asdf
+(asdf:defsystem :abcl-asdf
:author "Mark Evenson"
:version "0.8.0"
:depends-on (jss)
@@ -18,7 +17,7 @@
:depends-on ("abcl-asdf" "asdf-jar")))
:depends-on (packages))))
-(defsystem :abcl-asdf-test
+(asdf:defsystem :abcl-asdf-test
:author "Mark Evenson"
:depends-on (abcl-asdf)
:components
Modified: trunk/abcl/contrib/abcl-asdf/maven-embedder.lisp
==============================================================================
--- trunk/abcl/contrib/abcl-asdf/maven-embedder.lisp Mon Oct 8 11:06:55 2012 (r14169)
+++ trunk/abcl/contrib/abcl-asdf/maven-embedder.lisp Mon Oct 8 11:06:57 2012 (r14170)
@@ -421,3 +421,6 @@
(with-slots (asdf::group-id asdf::artifact-id asdf::version)
(asdf:ensure-parsed-mvn mvn)
(resolve-dependencies (format nil "~A:~A:~A" asdf::group-id asdf::artifact-id asdf::version))))
+
+;;; Currently the last file listed in ASDF
+(provide 'abcl-asdf)
Modified: trunk/abcl/contrib/jss/jss.asd
==============================================================================
--- trunk/abcl/contrib/jss/jss.asd Mon Oct 8 11:06:55 2012 (r14169)
+++ trunk/abcl/contrib/jss/jss.asd Mon Oct 8 11:06:57 2012 (r14170)
@@ -1,7 +1,5 @@
;;;; -*- Mode: LISP -*-
-(in-package :asdf)
-
-(defsystem :jss
+(asdf:defsystem :jss
:author "Alan Ruttenberg, Mark Evenson"
:version "3.0.3"
:components
Modified: trunk/abcl/contrib/mvn/jna.asd
==============================================================================
--- trunk/abcl/contrib/mvn/jna.asd Mon Oct 8 11:06:55 2012 (r14169)
+++ trunk/abcl/contrib/mvn/jna.asd Mon Oct 8 11:06:57 2012 (r14170)
@@ -2,8 +2,7 @@
;;;; Need to have jna.jar present for CFFI to have a chance of working.
;;; XXX jna-3.4.0 seems much more capable, but doesn't have a resolvable pom.xml from Maven central
-(require :asdf)
(asdf:defsystem :jna
:version "3.0.9"
- :defsystem-depends-on (abcl-asdf) ;;; XXX not working in the bowels of ASDF
+ :defsystem-depends-on (abcl-asdf)
:components ((:mvn "com.sun.jna/jna/3.0.9")))
Modified: trunk/abcl/src/org/armedbear/lisp/require.lisp
==============================================================================
--- trunk/abcl/src/org/armedbear/lisp/require.lisp Mon Oct 8 11:06:55 2012 (r14169)
+++ trunk/abcl/src/org/armedbear/lisp/require.lisp Mon Oct 8 11:06:57 2012 (r14170)
@@ -38,8 +38,10 @@
(defun module-provide-system (module)
(let ((*readtable* (copy-readtable nil)))
- (handler-case
- (load-system-file (string-downcase (string module)))
+ (handler-case
+ (progn
+ (load-system-file (string-downcase (string module)))
+ (provide module))
(t (e)
(unless (and (typep e 'error)
(search "Failed to find loadable system file"
@@ -57,11 +59,13 @@
(cond (pathnames
(unless (listp pathnames) (setf pathnames (list pathnames)))
(dolist (x pathnames)
- (load x)))
+ (load x))
+ (provide module-name))
(t
- (unless (some (lambda (p) (funcall p module-name))
+ (if (some (lambda (p) (funcall p module-name))
(append (list #'module-provide-system)
sys::*module-provider-functions*))
- (error "Don't know how to ~S ~A." 'require module-name))))
+ (provide module-name) ;; Shouldn't hurt
+ (error "Don't know how to ~S ~A." 'require module-name))))
(set-difference *modules* saved-modules))))
More information about the armedbear-cvs
mailing list