[Armedbear-devel] HEADS-UP: r14694 changes semantics (sometimes) of CL:NIL to Java from JAVA:+NULL+ to JAVA:+FALSE+

Mark Evenson evenson at panix.com
Fri Apr 25 08:19:41 UTC 2014

With [r14694][], we now convert CL:T and CL:NIL to JAVA:+TRUE+ and JAVA:+FALSE+
respectively when invoking JVM methods through the JAVA package, establishing
the "natural" equivalence for boolean truth values. This may break some
existing usage in that previously CL:NIL was converted to a Java 'null'
reference. Users now need to specify JAVA:+NULL+ explicitly when desiring to
pass 'null' Java references as an argument in invoking JVM methods.

As far as I can tell from what I can from testing examples of available
consumers of the JAVA package, this doesn’t break existing usage, as we have
been advising use JAVA:+NULL+ to denote a null reference explicitly since its
introduction some three years ago [r13359][].  And until I inspected the
underlying JAVA code yesterday, I wasn’t even aware of the conversion of CL:NIL

Nevertheless, please speak up if this breaks something for you that you relied
upon.  Unless I hear otherwise, I am going to back port this change to
abcl-1.3.1 as the last change before a release.    While strictly speaking from
a release engineering perspective, this sort of change should wait until a
major revision release, I am planning on using abcl-1.3.1 in production next
week with [lsw2][], which sort of relies on this behavior.  I beg the ABCL
community’s indulgence in this deviation from release engineering best
practices, unless somebody speaks up soon that this is a very bad idea.

This change implements the requests in [ticket-84][] and [ticket-339][].

[ticket-84]: http://abcl.org/trac/ticket/84> 
[ticket-339]: http://abcl.org/trac/ticket/339
[r14694]: http://abcl.org/trac/changeset/14694
[r13359]: http://abcl.org/trac/changeset/13359
[lsw2]: https://code.google.com/p/lsw2/

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

Armedbear-devel mailing list
Armedbear-devel at common-lisp.net

More information about the armedbear-devel mailing list