<div dir="ltr">thank you! ..  of course that makes sense.  I guess that gensym and uninterned symbols have something to do with this?<br><br>The identifiers in the macro are 'interned' (is that the terminology? rather than renamed?) so in fact table-auth was never defined.  Then at run time there are complaints as such.  Most all macro expanders work this way, though we might have some way to distinguish which identifiers get munged.<br><br>. so is there a simple way to communicate with  define-syntax-rule and tell it not to íntern' certain identifiers in its body? ... '(native table-author ...) or some such? ..  Of course there is always the define-syntax.</div><div class="gmail_extra"><br><div class="gmail_quote">On Thu, Jan 15, 2015 at 3:28 PM, Daniel Prager <span dir="ltr"><<a href="mailto:daniel.a.prager@gmail.com" target="_blank">daniel.a.prager@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">Hi Thomas <div><br></div><div>IIUC you get an error with your original syntax-rules version because syntax-rules (and syntax-case and syntax-parse) is hygienic by default. In this case think of table-author etc. being renamed inside the macro to avoid clashing with variables defined in the calling code. Hence the undefined error in the calling code. </div><div><br></div><div>You *want* and expect it to be defined by the macro, but the default behavior says otherwise, and needs to be explicitly over-ridden.</div><div><br></div><div><br></div><div>Dan</div><div class="gmail_extra"><div><div dir="ltr"></div></div>
</div></div>
</blockquote></div><br></div>