>>>>> "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