On 3 May 2004, at 13:27, Leopold Toetsch wrote:
because the stacktop is not set! so what Parrot_runcode should do is in
{ if(!parrot->stacktop) { set_stacktop
When you call C<app_x_run_plugin> from different locations, this wouldn't work. So the correct sequence is:
app_x_run_plugin(...) { void stk; Parrot_init_stacktop(interp, &stk); Parrot_call(interp, the_sub, ...); }
Arthur
Not if you clear the stacktop if you set it in Parrot_call, I thought this was obvious so I left it out, but here we go.
parrot_call { if(stacktop) { parrot_call_real } else { set_stacktop parrot_call_real unset_stacktop } }