To: Miles Bader Subject: Re: code-quality nit #297343 Fcc: out-copy In-reply-to: Your message of Fri, 22 Nov 91 19:23:28 +0000. <13999.9111221923@oliphant.cogsci.ed.ac.uk> -------- The below looks like a really botched job of inlining something; is %primitive done at a really low level or something? At a low enough level level that type inference doesn't really know what is going on. The problem here is that the compiler doesn't fully realize that this %PRIMITIVE call always returns one value, so it is going though a song-and-dance of computing the number of values and then seeing if it is 1. If you wrap (truly-the t ...) around this call, then the code is much more sensible. In fact, for %PRIMITIVE to work in general, you *must* wrap a TRULY-THE around the form to specify the result type. Otherwise, obscure internal errors in representation selection result when you try to return an integer, float, or other value with a non-descriptor representation. Rob