Hi Eric,<br><br><div class="gmail_quote">On Sat, Sep 17, 2011 at 11:19 AM, Eric Marsden <span dir="ltr"><<a href="mailto:eric.marsden@free.fr">eric.marsden@free.fr</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
Hi,<br>
<br>
,----<br>
| Armed Bear Common Lisp 0.27.0-dev-svn-13545M<br>
| Java 1.6.0_23 Sun Microsystems Inc.<br>
| OpenJDK 64-Bit Server VM<br>
| Low-level initialization completed in 1.02 seconds.<br>
| Startup completed in 1.96 seconds.<br>
| CL-USER(10): (defun foo (a b)<br>
|               (find a '(1 2 3) b 1))<br>
| FOO<br>
| CL-USER(11): (compile 'foo)<br>
| #<THREAD "interpreter" {12BC8F01}>: Debugger invoked on condition of type PROGRAM-ERROR<br>
|   Unrecognized keyword argument B<br>
| Restarts:<br>
|   0: TOP-LEVEL Return to top level.<br>
`----<br>
<br>
I should be able to invoke FOO with :start or :end values for B.</blockquote><div><br></div><div>Absolutely. Thanks for the report!</div><div><br></div><div>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.</div>
<div><br></div><div>Committed a fix just a minute ago; compilation of FOO now works. Please verify that your issue has been solved and confirm!</div><div><br></div><div>Bye,</div><div><br></div><div><br></div><div>Erik.</div>
</div>