[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Gcl-devel] Updates to test suite

From: Paul F. Dietz
Subject: Re: [Gcl-devel] Updates to test suite
Date: Thu, 23 Jan 2003 19:06:31 -0600
User-agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.2) Gecko/20021126

Camm Maguire wrote:

Greetings!  Paul, I've got a patch just about ready to commit
addressing many of these.  I'm uncertain about one aspect.  GCL
currently compiles functions to check the number of actually supplied
arguments at runtime.  Basically, if &allow-other-keys or &rest
explicitly appears in the lambda-list of the defun, the upper-limit
check on the supplied arguments to the function at runtime is bypassed.
My understanding is that this bypass should always be in place, though
it seems a shame not to be able to declare a function in such a way as
to have an upper-limit on the number of supplied arguments.

If there's a &rest or &key in the ordinary lambda list then
there is no limit to the number of parameters that may be
safely passed.  Remember, a keyword argument may appear more
than once, and the &rest list can be arbitrarily long.

The only other residual allow-other-keys errors involve keys that are
really symbols, i.e. 'bad, instead of :bad.  Is that syntax really to
be allowed?  Can't find that in the spec...

Section 3.4.1:

   "A keyword-name can be any symbol, but by convention is normally
    a keyword[1]; all standardized functions follow that convention."

(the reason being that keywords are self-evaluating, so you don't have
to quote them at the call.)

See for an example.

Down to 328 failures from 441 with this patch.

I've been boosting it above 441 with recent test additions (460
this morning with my local copy).  Sorry to make the debugging seem
Sisyphean, but at least the test suite will not grow forever.

BTW, the test suite has caused some action over in the OpenMCL
world:  http://openmcl.clozure.com/Distributions/openmcl-release-0.13.3.html


reply via email to

[Prev in Thread] Current Thread [Next in Thread]