From: Raymond T. <ray...@er...> - 2005-06-09 13:16:22
|
>>>>> "Joerg" =3D=3D Hoehle, Joerg-Cyril <Joe...@t-...>= 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 =A78.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 t= wo 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 matche= d its Joerg> documentation 10 years ago (when we used cmucl-15b upto 17c in o= ur 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 |