Ticket #430 (closed defect: fixed)
commit cbb27fe380ff8e45cdf04d812e1ec649bf45ca47 not (always) compatible with DSSSL key arguments
|Reported by:||alanpost||Owned by:|
I have started getting a compilation error in my egg, genturfahi. Here is the error:
Error: nunjavni.scm:131: procedure `javni-*' called with wrong number of arguments
This procedure usses DSSSL #!key arguments. It is being called with the correct number of arguments, as you can see by looking at the source code:
This is the simplest test case that I've managed to create which causes this error:
(define (foo) (define (bar #!key a) (define (baz) (bar a: #t)) baz) bar)
Compiling the above code with csc (csc -o key key.scm) produces the error:
Error: key.scm:4: procedure `bar' called with wrong number of arguments
But it very clearly does have the correct number of arguments. I would expect the above code to compile without this error message.
If I remove the #!key support, the code compiles fine.
More simplistic cases using #!key arguments don't seem to trigger this error. The above code snippet is the simplest test case I was able to create that demonstrates the problem.
When I revert cbb27fe380ff8e45cdf04d812e1ec649bf45ca47, the genturfahi egg compiles and passes all of its tests.