Hi, Calling Parrot_init explicitly on a Parrot_Interp returned by Parrot_new is useless. (Parrot_new does it itself and Parrot_init doesn't do anything on already initiated interpreters) Because it makes the api more complicated i propose to remove it from the docs. I attach a patch which removes the description of Parrot_init from doc/embed.pod, and the call to it from the code examples withing. I currently work on embeding parrot from perl5 and would like to know of any previews attemps.
Pawel Murias
Index: embed.pod =================================================================== --- embed.pod (revision 12189) +++ embed.pod (working copy) @@ -17,7 +17,6 @@ argc--; argv++; /* skip the program name */ interp=Parrot_new(NULL); - Parrot_init(interp); if(PARROT_JIT_CAPABLE) { Parrot_set_run_core(interp, PARROT_JIT_CORE); /* activate JIT */ @@ -204,10 +203,6 @@ Allocates and returns a new Parrot interpreter. C<parent> is NULL for the main interpreter that will be destroyed last. -=item C<void Parrot_init(Parrot_Interp)> - -Initializes a Parrot interpreter. - =item C<void Parrot_setflag(Parrot_Interp, Parrot_Interp_flag, Parrot_Interp_flag_val)> Sets a flag in the Parrot interpreter.