Hello,

Raymond Toy <[EMAIL PROTECTED]> writes:

>           ((and (mv-combination-p dest)
>                 (eq (basic-combination-kind dest) :local))
>            (assert (values-type-p atype))
>            (assert (null (args-type-required atype)))  ; <--- here
>            (maybe-negate-check cont (args-type-optional atype) force-hairy))
>
> I'm not sure why the number of required args in a values must be 0
> here.  Commenting out this assertion allows the code to compile and
> run.

If there are required arguments, then the code above will not work:
the correct version should be similar to

  (maybe-negate-check cont
                      (append (args-type-required atype)
                              (args-type-optional atype))
                      force-hairy)

(I think the idea of the code was that the type check came from
declared types of variables in M-V-BIND, not from explicit THE.)

-- 
Regards,
Alexey Dejneka

"Alas, the spheres of truth are less transparent than those of
illusion." -- L.E.J. Brouwer


Reply via email to