[armedbear-devel] [REVISED 20090902a] Loading Lisp from JAR Files

Mark Evenson evenson at panix.com
Wed Sep 2 10:09:34 UTC 2009


Attached is a further revision of the patch for loading Lisp from JAR 
files.  This version works in about all the cases we need to support. 
This feature will be one of the first to hit to 0.17 trunk when we 
branch, because I don't want to commit such a potentially destabilizing 
change in the week before 0.16.

This patch includes additions to the ABCL test suite for this change, 
since there are enough corner cases that I seem to miss testing them 
occasionally in writing this code.  Working with our test suite via ASDF 
is not currently the most obvious thing in the world, so some notes on 
that:  To get the tests to work, get a REPL that loads the ASDF 
"abcl-test-lisp" system, and run the tests once (needed to bind 
*this-directory* variable).  Often one must tell the ASDF methods that 
they must be 'forced' to get to work, so use the 'force-system-test' via 
SLIME or pass the ':force t' option if you are issuing commands directly 
from the REPL.  After the "abcl-test-lisp" system has run once, issue na 
(ABCL-TEST:REM-ALL-TESTS) in that REPL then load the 
"test/lisp/abcl/load.lisp" file, which will create a JAR ('baz.jar') 
that the tests work on (only works under *NIX for the moment, sorry). 
Then, one get issue (ABCL-TEST:DO-TESTS) to run the testing of LOAD 
specific tests.

Some notes on our use RT package, the basis for the ABCL Lisp test 
suite:  RT lacks a mechanism for expressing "build-up/tear-down" 
abstractions that I am familiar with in test suites.  Included in this 
would be an easy way to specify a value for *DEFAULT-PATHNAME-DEFAULTS* 
when the tests are run (I provide this in the ABCL-TEST-LISP:RUN method, 
but there should be a way to specify per test so that individual tests 
can be run easier when developing).

All the cases in the test suite currently work except for LOAD.9, which 
tries to explicitly load a "*.lisp" file from a JAR.  I need to refactor 
the Load.findLoadableFile() to handle working in JAR files.


-- 
"A screaming comes across the sky.  It has happened before, but there
is nothing to compare to it now."

-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: load-from-jar-file-20090902a.patch
URL: <https://mailman.common-lisp.net/pipermail/armedbear-devel/attachments/20090902/7b22ea3d/attachment.ksh>


More information about the armedbear-devel mailing list