[Armedbear-devel] HEADS-UP: r14694 changes semantics (sometimes) of CL:NIL to Java from JAVA:+NULL+ to JAVA:+FALSE+
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].
"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