On Tue Sep 8, 2026 at 11:50 AM CEST, Hernán Ibarra Mejia via Chicken-users 
wrote:
>
> Whenever I define a macro, say `my-macro`, that calls an auxiliary macro,
> `my-auxiliary`, and I only export `my-macro` without exporting `my-auxiliary`
> then csc complains with
>
>   Warning: indirect export of syntax binding in module *whatever*: 
> my-auxiliary
>
> But when using the library, `my-auxiliary` is not defined, and everything 
> seems
> to work correctly.
>
> Am I doing something wrong or should I ignore the warning?

Hi!

You can ignore the warning. The native module system of CHICKEN has the
notion of "indirect" exports, taken from the original Chez Scheme
module system designed by Dybvig + Waddel. For R7RS "define-library"
we hack around this by internally exporting everything indirectly,
so these indirect exports are not visible, but the exported syntax
can still refer to them.

We need to disable the warning for "define-library" declarations.
Thanks for reporting this issue, it will be taken care of.


cheers,
felix


Reply via email to