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
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))
Another problem arises, when a method specializes on FIXNUM, e.g.:
(defgeneric test (a) (:method ((a fixnum)) t))
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.
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.