This morning's development snapshot (j 0.20.2.2, ABL 0.0.3.2) is up:
http://armedbear.org/j-jar.zip (just j.jar)
Summary: XML folding odd
In the Java and C++ modes, to fold you place the carat
at before the section to fold, and fold-unfold can be
repeatly applied without moving.
In XML mode, folding seems to apply ot the line above
the one the caret is in, so each time you cycle
fold-unfold, the caret moves up the hierarchy by one
Could the XML folding fold the contents of the first
tag on the current line, rather than the tag enclosing
the start of the current line? =
I've made an attempt to fix this in today's snapshot. I'm not 100% sure
I've done the right thing in every case, since folding is line-
oriented (and indentation-oriented), and XML is not (or at least not
always). So you'll need to let me know whether the changes I've made
fix the problem you were having (calling the old behavior "odd" was
being way too kind).
In addition, fold and unfold are now mapped by default to Ctrl [ and
Ctrl ], respectively, in XML mode, as is the case in Java mode.
Armed Bear Lisp 0.0.3.2 (in this snapshot) has a number of changes,
including more work on the Lisp/Java interface by Andr=E1s Simon.
The code that used to be in the compiler.lisp and transform.lisp has
been consolidated, cleaned up, and moved into precompiler.lisp.
In general, functions are always precompiled when they are first
defined. Precompilation consists of expanding all macros and doing
some ostensibly safe source transformations that simplify and/or speed
up the code.
Precompilation should not be confused with compilation to Java
bytecode, which is done by the JVM compiler (in jvm.lisp).
The recommended approach if you want to try out bytecode compilation is
to load jvm.lisp and then do JVM:JVM-COMPILE-PACKAGE for each package
you care about (you should care about CL, SYS, EXT and PRECOMPILER at a
minimum). You can also use JVM-COMPILE to compile a single function.
If the JVM compiler fails to compile a function successfully, the
function should be left in a working (albeit uncompiled) state. Error
messages (and even Java stack traces) emitted by the JVM compiler are
generally benign, no matter how frightening they may look. It's
perfectly OK to have some things compiled and others not.
The JVM compiler is very much work-in-progress and at this point
nowhere near complete.
With the aforementioned packages jvm-compiled, ABL now fails 661 out
of 14237 total tests in the GCL ANSI test suite (i.e. it passes 95% of
the tests), an improvement from 930 test failures in 0.0.3.1.
Thanks for your support.