>>>>> "Joerg" == Hoehle, Joerg-Cyril <[EMAIL PROTECTED]> writes:

    Joerg> Here's a bug I consider very serious, affecting sbcl and cmucl.
    Joerg> a. mismatch between documentation and observable behaviour
    Joerg> b. regression against past behaviour.

    Joerg> The documentation for sbcl and for cmucl says in §8.7.3
    Joerg> "     (def[ine]-alien-routine "cfoo" void
    Joerg>        (str c-string)
    Joerg>        (a char :in-out)
    Joerg>        (i int :out))
    Joerg> The Lisp function cfoo will have two arguments (str and a) and two
    Joerg> return values (a and i)."

I'm inclined to consider this a documentation bug.

    Joerg> It provides three return values in cmucl-19a-release-2004-07-28-9 and
    Joerg> sbcl-0.8.17.4-1 (from Ubuntu/Hoary for i386)!

    Joerg> W.r.t point b), I'm not sure, but my memory is that cmucl matched its
    Joerg> documentation 10 years ago (when we used cmucl-15b upto 17c in our
    Joerg> project). So I'm not 100% its a regression against cmucl-17c.

I tried your example with 17f on solaris (the oldest version I can
still run).  It returns 3 values: NIL, a, and i.

cvs annotate says def-alien-routine was (essentially) last changed in
1992.

Changing it now will probably break a lot of code.

Ray



Reply via email to