Hmm. Your way is much better....<br><br>This morning I facepalmed over my bran flakes-I realized I could just declare the user data needed by the plugins dynamic-<br><br>(defcallback sayHello :int ((state :pointer))<br>         (declare (special *message*))<br>
         (let ((args (lua_gettop state)))<br>           (print (format nil &quot;Hello from Lua.  Argcount:~A Message:~A&quot; args *message*))<br>           0))<br><br>This form registers and calls the callback<br>(let ((*message* &quot;I&#39;m dynamic&quot;))<br>
  (declare (special *message*))<br>  (lua_register *lua-state* &quot;hello&quot; (callback sayhello))<br>  (lua_loadbuffer *lua-state* &quot;hello(1)&quot; (length &quot;hello(1)&quot; ) &quot;line&quot; )<br><br>  (lua_pcall *lua-state* 0 0 0 ))<br>
<br>Prints out:&quot;Hello from Lua.  Argcount:1 Message:I&#39;m dynamic&quot;<br><br>But your way is more general....thanks a bunch<br>Mike<br>