Opened 13 years ago

Closed 13 years ago

Last modified 12 years ago

#430 closed defect (fixed)

commit cbb27fe380ff8e45cdf04d812e1ec649bf45ca47 not (always) compatible with DSSSL key arguments

Reported by: Alan Post Owned by:
Priority: critical Milestone: 4.9.0
Component: compiler Version: 4.6.x
Keywords: Cc:
Estimated difficulty:

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.

Change History (3)

comment:1 Changed 13 years ago by felix winkelmann

Resolution: fixed
Status: newclosed

Thanks for reporting this - should be fixed in 2ee23dc ("experimental").

comment:2 Changed 13 years ago by felix winkelmann

Milestone: 4.7.04.8.0

Milestone 4.7.0 deleted

comment:3 Changed 12 years ago by felix winkelmann

Milestone: 4.8.04.9.0

Milestone 4.8.0 deleted

Note: See TracTickets for help on using tickets.