Andy Wingo <wi...@pobox.com> writes:
> Thank you for the bug report, it was quite interesting.

Thank you for your clear explanation, and your solutions are
simple to implement.

> When compiling tryme, what happens is that `(load "dotimes.scm")' gets
> compiled into a load at runtime -- but the dotimes.scm isn't loaded at
> compile time.
> ....
> Now, does this indicate a bug in Guile, or at least an undesirable
> behavior? That I do not know. You need to be careful with `load', that
> if it provides syntactic definitions, you should probably load it at
> compile time as well. This part of R5RS Scheme is somewhat
> underspecified. Other schemes provide various load-for-syntax forms, or
> loading modules for syntax forms.

The problem came up when I was testing some of my old code against the
git master branch.  With an addition of:

(use-syntax (ice-9 syncase))

to the main script the test case works fine with the 1.8 releases,
so I was surprised by the change of behavior.  I though it had worked
with 1.9.1 but I probably didn't try it.  It definitely did not work
in the last two 1.9 snapshots I made, where guile-lib is also broken.

The error message complained about "indx" but not "dotimes", and I
jumped to the (wrong) conclusion that it was a problem during macro
expansion, due to changes in the syntax expansion code.

Thanks again.
-- 
Barry Fishman



Reply via email to