<html><head></head><body><div class="ydpd0aa48afyahoo-style-wrap" style="font-family:Helvetica Neue, Helvetica, Arial, sans-serif;font-size:13px;"><div></div>
        <div dir="ltr" data-setdir="false">I'm pretty sure you're right.  I have a MWE below that shows an unintuitive difference.</div><div dir="ltr" data-setdir="false"><br></div><div dir="ltr" data-setdir="false">Thx.</div><div dir="ltr" data-setdir="false"><br></div><div dir="ltr" data-setdir="false">--Brad</div><div dir="ltr" data-setdir="false"><br></div><div dir="ltr" data-setdir="false"><div><p style="margin: 0px; font-stretch: normal; font-size: 11px; line-height: normal; font-family: Menlo;">(defun void-function ()</p>
<p style="margin: 0px; font-stretch: normal; font-size: 11px; line-height: normal; font-family: Menlo;">  (let* ((result (jstatic "square" "Main" 32)))</p>
<p style="margin: 0px; font-stretch: normal; font-size: 11px; line-height: normal; font-family: Menlo;">    (format t "in void-function, result of calling square(32): ~a~%" result)))</p>
<p style="margin: 0px; font-stretch: normal; font-size: 11px; line-height: normal; font-family: Menlo; min-height: 13px;"><br></p>
<p style="margin: 0px; font-stretch: normal; font-size: 11px; line-height: normal; font-family: Menlo;">(defun void-function-short ()</p>
<p style="margin: 0px; font-stretch: normal; font-size: 11px; line-height: normal; font-family: Menlo;">  (let* ((result (jstatic "squareshort" "Main" 16)))</p>
<p style="margin: 0px; font-stretch: normal; font-size: 11px; line-height: normal; font-family: Menlo;">    (format t "in void-function, result of calling squareshort(16): ~a~%" result)))</p>
<p style="margin: 0px; font-stretch: normal; font-size: 11px; line-height: normal; font-family: Menlo; min-height: 13px;"><br></p>
<p style="margin: 0px; font-stretch: normal; font-size: 11px; line-height: normal; font-family: Menlo;">(void-function)</p>
<p style="margin: 0px; font-stretch: normal; font-size: 11px; line-height: normal; font-family: Menlo;">(void-function-short)</p></div><div dir="ltr" data-setdir="false"><br></div><div dir="ltr" data-setdir="false"><p style="margin: 0px; font-stretch: normal; font-size: 11px; line-height: normal; font-family: Menlo;">import org.armedbear.lisp.*;</p>
<p style="margin: 0px; font-stretch: normal; font-size: 11px; line-height: normal; font-family: Menlo; min-height: 13px;"><br></p>
<p style="margin: 0px; font-stretch: normal; font-size: 11px; line-height: normal; font-family: Menlo;">public class Main</p>
<p style="margin: 0px; font-stretch: normal; font-size: 11px; line-height: normal; font-family: Menlo;">{</p>
<p style="margin: 0px; font-stretch: normal; font-size: 11px; line-height: normal; font-family: Menlo;">    public static int square(int a) {</p>
<p style="margin: 0px; font-stretch: normal; font-size: 11px; line-height: normal; font-family: Menlo;">        return a * a;</p>
<p style="margin: 0px; font-stretch: normal; font-size: 11px; line-height: normal; font-family: Menlo;">    }</p>
<p style="margin: 0px; font-stretch: normal; font-size: 11px; line-height: normal; font-family: Menlo;">    public static int squareshort(short a)</p>
<p style="margin: 0px; font-stretch: normal; font-size: 11px; line-height: normal; font-family: Menlo;">    {</p>
<p style="margin: 0px; font-stretch: normal; font-size: 11px; line-height: normal; font-family: Menlo;">        return a * a;</p>
<p style="margin: 0px; font-stretch: normal; font-size: 11px; line-height: normal; font-family: Menlo;">    }</p>
<div>}</div><div><br></div><div><div>$ java -cp ~/abcl_excel_gen/abcl-bin-1.6.0/abcl.jar:. org.armedbear.lisp.Main</div>
<p style="margin: 0px; font-stretch: normal; font-size: 11px; line-height: normal; font-family: Menlo;">Armed Bear Common Lisp 1.6.0</p>
<p style="margin: 0px; font-stretch: normal; font-size: 11px; line-height: normal; font-family: Menlo;">Java 11.0.1 Oracle Corporation</p>
<p style="margin: 0px; font-stretch: normal; font-size: 11px; line-height: normal; font-family: Menlo;">Java HotSpot(TM) 64-Bit Server VM</p>
<p style="margin: 0px; font-stretch: normal; font-size: 11px; line-height: normal; font-family: Menlo;">Low-level initialization completed in 0.295 seconds.</p>
<p style="margin: 0px; font-stretch: normal; font-size: 11px; line-height: normal; font-family: Menlo;">Startup completed in 1.663 seconds.</p>
<p style="margin: 0px; font-stretch: normal; font-size: 11px; line-height: normal; font-family: Menlo;">Type ":help" for a list of available commands.</p>
<p style="margin: 0px; font-stretch: normal; font-size: 11px; line-height: normal; font-family: Menlo;">CL-USER(1): (load "lispfunctions.lisp")</p>
<p style="margin: 0px; font-stretch: normal; font-size: 11px; line-height: normal; font-family: Menlo;">in void-function, result of calling square(32): 1024</p>
<p style="margin: 0px; font-stretch: normal; font-size: 11px; line-height: normal; font-family: Menlo;">Error loading /Users/bknotwel/abcl_excel_gen/bug/lispfunctions.lisp at line 11 (offset 358)</p>
<p style="margin: 0px; font-stretch: normal; font-size: 11px; line-height: normal; font-family: Menlo;">#<THREAD "interpreter" {560A10B3}>: Debugger invoked on condition of type ERROR</p>
<p style="margin: 0px; font-stretch: normal; font-size: 11px; line-height: normal; font-family: Menlo;">  no such method</p>
<p style="margin: 0px; font-stretch: normal; font-size: 11px; line-height: normal; font-family: Menlo;">Restarts:</p>
<p style="margin: 0px; font-stretch: normal; font-size: 11px; line-height: normal; font-family: Menlo;">  0: TOP-LEVEL Return to top level.</p>
<div>[1] CL-USER(2):</div></div></div><div><br></div></div><div><br></div>
        
        </div><div id="yahoo_quoted_5386060078" class="yahoo_quoted">
            <div style="font-family:'Helvetica Neue', Helvetica, Arial, sans-serif;font-size:13px;color:#26282a;">
                
                <div>
                    On Tuesday, November 26, 2019, 3:53:11 PM PST, Mark Evenson <evenson@panix.com> wrote:
                </div>
                <div><br></div>
                <div><br></div>
                <div><div dir="ltr"><br clear="none"><div class="yqt4095153869" id="yqtfd17266"><br clear="none">> On Nov 26, 2019, at 18:38, Brad Knotwell <<a shape="rect" ymailto="mailto:bknotwell@yahoo.com" href="mailto:bknotwell@yahoo.com">bknotwell@yahoo.com</a>> wrote:<br clear="none">> <br clear="none">> I've been using ABCL to get access to a Java library and it's worked generally well.  I have run into one problem I haven't been able to workaround.<br clear="none">> <br clear="none">> I need to make a call to a method that takes a short as an argument.  I'm passing in a value--10--that fits in a short but ABCL can't find the method (presumedly due to a type issue).  I've tried using jcoerce but it's not doing what I expect.  What's the right way to do this?</div><br clear="none"><br clear="none">This is probably a bug in how the Bear’s FFI converts the “10” when it attempts<br clear="none">to locate your specific Java call site, but without a test the contains the<br clear="none">Java code that you are calling into diagnosing exactly what is going in is<br clear="none">difficult.<br clear="none"><br clear="none">When I get the time (or unless someone beats me to it), I will try to make such<br clear="none">a test to figure out what is going on.<br clear="none"><br clear="none">We could certainly do with a test suite that combinatorally probes our call<br clear="none">site location logic.<br clear="none"><br clear="none"><br clear="none"><br clear="none">-- <br clear="none">"A screaming comes across the sky.  It has happened before but there is nothing <br clear="none">to compare to it now."<div class="yqt4095153869" id="yqtfd00390"><br clear="none"><br clear="none"><br clear="none"><br clear="none"><br clear="none"></div></div></div>
            </div>
        </div></body></html>