Jan Dubois wrote: > On Mon, 27 Aug 2007, Suresh Govindachar wrote: >> >> So ActiveState is "exporting" Perl_sv_2iv_flags and >> Perl_newXS_flags in a way that is different from the >> way they export other symbols. > > Nope, this is all incorrect. I've now downloaded the vim > sources to see what is really going on: > > The src/if_perl.xs file contains code to redefine all Perl > functions it assumes it uses to wrapper names, and then looks up > the real functions at runtime. That means that this file is > specific to the Perl version used to compile it and will need to > be updated for Perl 5.8.9. See for example: > > # if (PERL_REVISION == 5) && (PERL_VERSION >= 8) > # define Perl_sv_2pv_flags dll_Perl_sv_2pv_flags > # define Perl_sv_2pv_nolen dll_Perl_sv_2pv_nolen > # else > # define Perl_sv_2pv dll_Perl_sv_2pv > # endif > ... > #if (PERL_REVISION == 5) && (PERL_VERSION >= 8) > static char* (*Perl_sv_2pv_flags)(pTHX_ SV*, STRLEN*, I32); > static char* (*Perl_sv_2pv_nolen)(pTHX_ SV*); > #else > static char* (*Perl_sv_2pv)(pTHX_ SV*, STRLEN*); > #endif > > ... > > Similar code will be needed for sv_2iv_flags() and any other > new symbol. > > It is a bit awkward to do this for ActivePerl 822, as it > identifies itself as 5.8.8 because 5.8.9 has not been released > yet, so we don't know which additional features will still be > added. But internally AP822 is probably closer to what will be > 5.8.9 than to 5.8.8. > > Anyways, the problem is that if_perl.xs is coupled pretty > tightly to the Perl internals and needs updating whenever the > internals change.
Thanks for looking into this. I don't think the person who did the original work to embed perl in Vim is still activly interested in Vim. I can't live without vim and perl. Is there a better way to embed perl so as to be version independent? --Suresh _______________________________________________ Perl-Win32-Users mailing list Perl-Win32-Users@listserv.ActiveState.com To unsubscribe: http://listserv.ActiveState.com/mailman/mysubs