Summary
commit cbb27fe380ff8e45cdf04d812e1ec649bf45ca47 not (always) compatible with DSSSL key arguments
Metadata
- Id: 21a10b6d9f0a85a6da5fe3cc3e0b23ecc76844a4
- Trac id: 430
- Type: defect
- Reporter: alanpost
- Owner:
- Cc:
- Status: closed
- Component: compiler
- Estimated difficulty:
- Resolution: fixed
- Priority: critical
- Milestone: 4.9.0
- Version: 4.6.x
- Changetime: 2012-09-24 21:47:48 UTC
- Created: 2010-11-13 08:46:58 UTC
- Keywords:
Description
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:
source:release/4/genturfahi/trunk/nunjavni.scm@21431#L113
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.
Changes and comments
[2010-11-13 12:35:53 UTC] felix changed status from new to closed
[2010-11-13 12:35:53 UTC] felix set resolution to fixed
[2010-11-13 12:35:53 UTC] felix wrote:
Thanks for reporting this - should be fixed in 2ee23dc ("experimental").
[2011-06-01 09:00:41 UTC] felix changed milestone from 4.7.0 to 4.8.0
[2011-06-01 09:00:41 UTC] felix wrote:
Milestone 4.7.0 deleted
[2012-09-24 21:47:48 UTC] felix changed milestone from 4.8.0 to 4.9.0
[2012-09-24 21:47:48 UTC] felix wrote:
Milestone 4.8.0 deleted