[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Chicken-janitors] #430: commit cbb27fe380ff8e45cdf04d812e1ec649bf45ca47
From: |
Chicken Trac |
Subject: |
[Chicken-janitors] #430: commit cbb27fe380ff8e45cdf04d812e1ec649bf45ca47 not (always) compatible with DSSSL key arguments |
Date: |
Sat, 13 Nov 2010 07:46:58 -0000 |
#430: commit cbb27fe380ff8e45cdf04d812e1ec649bf45ca47 not (always) compatible
with DSSSL key arguments
----------------------+-----------------------------------------------------
Reporter: alanpost | Owner:
Type: defect | Status: new
Priority: critical | Milestone: 4.7.0
Component: compiler | Version: 4.6.x
Keywords: |
----------------------+-----------------------------------------------------
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/address@hidden
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.
--
Ticket URL: <http://bugs.call-cc.org/ticket/430>
Chicken Scheme <http://www.call-with-current-continuation.org/>
Chicken Scheme is a compiler for the Scheme programming language.
- [Chicken-janitors] #430: commit cbb27fe380ff8e45cdf04d812e1ec649bf45ca47 not (always) compatible with DSSSL key arguments,
Chicken Trac <=