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

Reply via email to