[Ecls-list] Some test grid patches

Juan Jose Garcia-Ripoll juanjose.garciaripoll at gmail.com
Sat Jan 12 09:22:24 UTC 2013


Hi Peter,

thanks for the reports. I will answer them one by one below.

On Sat, Jan 5, 2013 at 7:48 PM, Peter Salvi <salvipeter at gmail.com> wrote:

> 1) CL-PPCRE
> ===========
>
> The test suite fails, because the ~x FORMAT directive gives a
> lowercase string in ECL,[...]
> This is not limited to FORMAT, but concerns printing in general, e.g.[...]
> The HyperSpec (22.3.2, 22.4) does not clarify this ("For radices above
> 10, letters of the alphabet are used to represent digits above 9."),
> but for the above example gives "#24rN", so I believe that's the
> intent.
>

An example is not the same thing as a rule, but in any case, since all
other implementations use uppercase letters, we will do the same. Thanks
for the patch.

2) CL-NUM-UTILS
> ===============
>
> Loading fails when a method is defined, which does not have one of the
> generic function's key arguments. As a simplified example, take:
>
> (defgeneric test (&key my-key &allow-other-keys) (:method (&key) t))
>

The list of allowed and required keys for an effective method is the
combination of those from the generic function and those from each
applicable method. If this key has to be supported by some method, it may
add it, but deleting keys from the GF I think is wrong.


> Another problem arises, when a method specializes on FIXNUM, e.g.:
>
> (defgeneric test (a) (:method ((a fixnum)) t))
>
>
Puf, another non-ANSI thingy. Anyway, it is now part of ECL as well.


> As for the tests, they still fail, because LIFT's
> GET-BACKTRACE-AS-STRING is not ported to ECL.
> Something like this would work:[...]I've posted this to lift-devel as well.
>

Thanks a lot!


> 3) CLOSER-MOP
> =============
>
> In ENSURE-GENERIC-FUNCTION, with (SETF GENERIC-FUNCTION-NAME) as name,
> and with CLOS as *PACKAGE*, execution seems to enter
> SPECIAL-OPERATOR-P, which should only be called with symbols.
>
> This is because the test
>   (si::instancep (fdefinition '(setf generic-function-name)))
> returns NIL, as this setter is a function in the CLOS package.


In fixup.lsp functions are converted into methods. I added one more line
for (SETF GENERIC-FUNCTION-NAME), which is now a generic function.

Thanks for the great work and all the help, Peter!

Juanjo

-- 
Instituto de Física Fundamental, CSIC
c/ Serrano, 113b, Madrid 28006 (Spain)
http://juanjose.garciaripoll.googlepages.com
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mailman.common-lisp.net/pipermail/ecl-devel/attachments/20130112/3ba2844f/attachment.html>


More information about the ecl-devel mailing list