Hi Eric,
On Sat, Sep 17, 2011 at 11:19 AM, Eric Marsden eric.marsden@free.fr wrote:
Hi,
,---- | Armed Bear Common Lisp 0.27.0-dev-svn-13545M | Java 1.6.0_23 Sun Microsystems Inc. | OpenJDK 64-Bit Server VM | Low-level initialization completed in 1.02 seconds. | Startup completed in 1.96 seconds. | CL-USER(10): (defun foo (a b) | (find a '(1 2 3) b 1)) | FOO | CL-USER(11): (compile 'foo) | #<THREAD "interpreter" {12BC8F01}>: Debugger invoked on condition of type PROGRAM-ERROR | Unrecognized keyword argument B | Restarts: | 0: TOP-LEVEL Return to top level. `----
I should be able to invoke FOO with :start or :end values for B.
Absolutely. Thanks for the report!
Turns out this is a problem with the assumptions behind compiler macros and source transforms: when the source doesn't contain the keyword argument keywords, you'd expect the expansion to mismatch the arguments list, not apply the transform and go on. However, due to a thinko instead of going on, ABCL throws an argument-list mismatch error.
Committed a fix just a minute ago; compilation of FOO now works. Please verify that your issue has been solved and confirm!
Bye,
Erik.