gcl broken in current git



>>>>> "Rupert" == Rupert Swarbrick <rswarbrick at gmail.com> writes:

    Rupert> Bill Wood <william.wood3 at comcast.net> writes:
    >> On Tue, 2013-02-19 at 16:07 +0000, Rupert Swarbrick wrote:
    >> . . .
    >>> Dan replied to me off-list pointing out that adding the following two
    >>> lines fixed the problem:
    >>> 
    >>> ;; GCL needs to know that compsplt and compsplt-eq return multiple values
    >>> #+gcl
    >>> (declaim (ftype (function (t) t t) compsplt compsplt-eq))
    >>> 
    >>> I'll push a patch with this in a second as a stop-gap, but I've
    >>> obviously misunderstood something about the lisp compile/load/eval cycle
    >>> so I'll try and work out how to do this properly and push a less hacky
    >>> fix soon.
    >> 
    >> I guess my ignorance is showing because I thought the Hyperspec said
    >> that it should be
    >> 
    >> (declaim (ftype (function (t) (values t t)) compsplt compsplt-eq))
    >> 
    >> Isn't the VALUES form required?

    Rupert> Hmm, looking at the VALUES type specifier page, together with the
    Rupert> FUNCTION class page on the CLHS, I agree with you.

    Rupert> I'm still a little confused about why a declamation is needed at all,
    Rupert> though. I've been trying (with no success) to make a mini example that
    Rupert> fails with GCL to see what I'm doing wrong.

This declaim didn't make any sense to me either, but now I remember
that, unlike all others, gcl loads sys-proclaim.lisp that proclaims
lots of functions.  Perhaps this is the problem, and sys-proclaim
needs to be regenerated.  I don't have gcl available right now, but I
think you can do "make sys-proclaim" in the src directory to have gcl
update sys-proclaim.lisp.

Ray