After working around the stdbool issue (https://github.com/vim/vim/issues/328) 
I am able to build a Windows Vim with a Perl interface, either Strawberry or 
ActiveState.

With 64-bit Vim and 64-bit ActiveState Perl, I can successfully do :perl 
VIM::Msg("hello") to test the interface.

But when I try doing something more complicated, like ":perldo s/abc/123/g" Vim 
crashes:

>       gvim.exe!ex_perldo(exarg * eap)  Line 1002 + 0x21 bytes C
        gvim.exe!do_one_cmd(unsigned char * * cmdlinep, int sourcing, condstack 
* cstack, unsigned char * (int, void *, int)* fgetline, void * cookie)  Line 
2962       C
        gvim.exe!do_cmdline(unsigned char * cmdline, unsigned char * (int, void 
*, int)* fgetline, void * cookie, int flags)  Line 1138 C
        gvim.exe!nv_colon(cmdarg_S * cap)  Line 5437    C
        gvim.exe!normal_cmd(oparg_S * oap, int toplevel)  Line 1183     C
        gvim.exe!main_loop(int cmdwin, int noexmode)  Line 1352 C
        gvim.exe!VimMain()  Line 1050 + 0x9 bytes       C
        gvim.exe!WinMain(HINSTANCE__ * hInstance, HINSTANCE__ * hPrevInst, char 
* lpszCmdLine, int nCmdShow)  Line 131  C
        gvim.exe!__tmainCRTStartup()  Line 275 + 0x21 bytes     C

This is using the 64-bit ActiveState Perl 5.20.2.

If I instead build a 32-bit Vim with 32-bit ActiveState Perl 5.20.2, even the 
:perl VIM::Msg("hello") command crashes Vim!

        perl520.dll!66c54fcc()  
>       gvim.exe!perl_init()  Line 637  C
        gvim.exe!ex_perl(exarg * eap)  Line 874 + 0x5 bytes     C
        gvim.exe!do_one_cmd(unsigned char * * cmdlinep, int sourcing, condstack 
* cstack, unsigned char * (int, void *, int)* fgetline, void * cookie)  Line 
2962       C
        gvim.exe!do_cmdline(unsigned char * cmdline, unsigned char * (int, void 
*, int)* fgetline, void * cookie, int flags)  Line 1138 C
        gvim.exe!nv_colon(cmdarg_S * cap)  Line 5437    C
        gvim.exe!normal_cmd(oparg_S * oap, int toplevel)  Line 1175 + 0x14 
bytes        C
        gvim.exe!main_loop(int cmdwin, int noexmode)  Line 1351 + 0xc bytes     
C
        gvim.exe!VimMain()  Line 1053   C
        gvim.exe!WinMain(HINSTANCE__ * hInstance, HINSTANCE__ * hPrevInst, char 
* lpszCmdLine, int nCmdShow)  Line 131  C
        gvim.exe!__tmainCRTStartup()  Line 275 + 0x1c bytes     C


Is there anything I could be doing wrong on my end? Or is this a problem in Vim?

Vim version 7.4.872.

I do have multiple versions of Perl installed if that's relevant. I tell Vim 
which to use by setting the $PATH variable at startup (in my .vimrc, or 
manually if I'm testing with gvim -N -u NONE).

-- 
-- 
You received this message from the "vim_dev" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php

--- 
You received this message because you are subscribed to the Google Groups 
"vim_dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Raspunde prin e-mail lui